Контейнеризация против виртуализации
Непосвященных легко смутить различием между контейнеризацией (что позволяет программное обеспечение для контейнеризации, такое как Docker) и традиционной виртуализацией серверов (что позволяют гипервизоры, такие как HyperV и VMware ESXi). Проще говоря, разница сводится к следующему:
Виртуализация сервера заключается в абстрагировании оборудования и запуске операционной системы. Контейнеризация заключается в абстрагировании операционной системы и запуске приложения.
Они оба абстрагируют ресурсы, контейнеризация - это просто еще один уровень “выше” по сравнению с виртуализацией серверов. На самом деле контейнеризация и виртуализация серверов не являются взаимоисключающими. Вы можете запускать контейнерные приложения поверх механизма контейнера, который развернут на виртуальной машине.
Концепция контейнеризации
Контейнеризация - это относительно новый способ размещения и развертывания приложений по сравнению с традиционным аппаратным развертыванием или виртуализацией на основе виртуальных машин. Это быстро, экономично и результативно.
Виртуализация на уровне операционной системы с помощью гипервизоров и контейнеров прошла долгий путь с точки зрения как функциональности, так и безопасности. Контейнеризация все еще не является надежной, когда дело доходит до безопасности. Однако многие организации широко используют и поддерживают его, особенно поставщики облачных услуг, включая Google, Microsoft и Amazon.
Угрозы и решения в области безопасности контейнеров
1. Экранирование и повышение привилегий
Злоумышленник, получивший доступ к контейнеру, может также получить доступ к другим контейнерам или к самому хосту. Например, контейнер может иметь доступ к системным каталогам на хосте (посредством повторного подключения), которые критически важны для обеспечения безопасности, таким как cgroups, procfs и sysfs. По умолчанию пользователи не имеют пространства имен. Следовательно, любой процесс, который выходит из контейнера, имеет те же привилегии на хосте, что и в контейнере.
Если злоумышленник может получить root-права внутри контейнеризованного приложения, он потенциально может получить root-доступ к хосту. Это также может привести к потенциальным атакам с повышением привилегий, в результате которых пользователь получает повышенные привилегии, такие как привилегии пользователя root, часто из-за ошибки в коде приложения. Это основная проблема, связанная с контейнерами, и — что неудивительно — решение не является простым. Скорее, это предполагает применение комплексного подхода, основанного на повышении надежности системы, усилении конфигураций по умолчанию и исправлениях.
2. Кросс-контейнерные угрозы
Кроссконтейнерные угрозы обычно возникают из-за слабых сетевых настроек по умолчанию, таких как конфигурация моста. Приложение в одном контейнере может быть способно скомпрометировать другой контейнер на том же хосте или в той же локальной сети (например, получая несанкционированный доступ к контейнеру базы данных на том же хосте).
3. Исправление
Программное обеспечение для контейнеров, как и любое другое программное обеспечение, должно быть обновлено с помощью исправлений, связанных с безопасностью. Давайте рассмотрим пример того, почему это критически важно. Чтобы избежать злоупотребления правами root, контейнеры Linux используют функцию, известную как пространство имен пользователя. Эта функция гарантирует, что root рассматривается отдельно в контейнере и на хосте благодаря использованию сопоставлений uid и gid. Интересно, что пространство имен user не поддерживалось в Docker до выпуска версии 1.10 в феврале 2016 года. Помните, что пространство имен пользователя по умолчанию не включено. Если вы все еще используете более старую версию, обязательно исправьте свое программное обеспечение.
4. Небезопасные изображения
Если изображения контейнеров загружены не из надежных источников, существует риск загрузки вредоносных изображений в среду. Чтобы предотвратить это, всегда загружайте изображения из надежного источника, такого как локальный репозиторий Docker Hub. Убедитесь, что изображения содержат криптографические гарантии и не содержат никакого программного обеспечения с известными уязвимостями.
5. Отказ в обслуживании (DoS)
Атаки типа "Отказ в обслуживании" могут включать сценарии, в которых один контейнер захватывает контроль над всеми доступными системными ресурсами, чтобы помешать нормальной работе других контейнеров. Например, генерация большого количества запросов к общим ресурсам с целью исчерпания памяти, центрального процессора, сети или хранилища.
6. Угрозы на уровне ядра
Ядро является общим для всех контейнеров и хоста (в отличие от виртуальных машин). Это усиливает влияние любых уязвимостей, присутствующих в ядре. Эксплойты ядра варьируются от повышения привилегий до выполнения произвольного кода и даже отказа в обслуживании. Убедитесь, что операционная система хоста защищена, обновлена и использует функции исправления безопасности ядра, такие как grsecurity и PaX.
Обеспечение безопасности контейнеров
Рекомендуется применять комплексный подход при обеспечении безопасности контейнеров. В Интернете доступно множество ресурсов для оценки безопасности контейнеров. Внимательно изучите и внедрите предоставленные рекомендации в соответствии с вашими индивидуальными требованиями. Некоторые вопросы, которые следует рассмотреть в ходе этого процесса, включают:
- Каково основное назначение контейнера?
- Кому нужен доступ?
- Каковы требования к уровню доступа?
- Какие действия разрешены (или запрещены)?
Затем выполните модели угроз и тесты на проникновение в приложениях и самой среде Docker. Наконец, очень важно отметить, что использование облака, контейнеров и микросервисов не предотвращает традиционные проблемы безопасности приложений. Уязвимое приложение по-прежнему представляет опасность для всей среды.
Концепция виртуализации
Виртуализация - это динамичная и быстро развивающаяся технология, которая поставила новые задачи перед большинством охранных фирм. Следовательно, существующие механизмы и процесс не могут эффективно обеспечивать безопасность виртуальной среды и всех ее компонентов. Это связано с тем, что виртуализация представляет собой гибрид физически центрированной сети и новой логической или виртуальной среды.
Для обеспечения надежной системы безопасности необходимо эффективно внедрить дополнительную защиту и соображения. Фирме необходимо спланировать и заранее подготовиться к тому, как обращаться с точки зрения безопасности новой виртуальной инфраструктуры и всех ее компонентов. Безопасность виртуализации должна быть приоритетом, а не запоздалой мыслью.
Несмотря на то, что концепция родилась пятьдесят лет назад, виртуализация продвинулась вперед и может удовлетворить потребности разрабатываемых в настоящее время сложных приложений. Половина всех серверов работает на виртуальных машинах (VMS), и IDC прогнозирует, что к 2024 году около 70% всей компьютерной рабочей нагрузки будет выполняться на виртуальных машинах. По мере увеличения количества компонентов виртуализации и расширения виртуализированной среды главной заботой становится поддержание надежных уровней безопасности и целостности.
Преимущества безопасности благодаря виртуализации
Внедрение виртуализации в среду приведет к следующим преимуществам в области безопасности:
- Правильно настроенная сеть позволяет совместно использовать системы без необходимости обмена жизненно важными данными или информацией между системами. Эта гибкость, обеспечиваемая виртуальной средой, является одним из ее основных преимуществ в области безопасности.
- В виртуализированных средах используется централизованная система хранения, которая предотвращает критическую потерю данных в случае кражи устройства или злонамеренного взлома системы.
- Виртуальные машины и приложения могут быть надлежащим образом изолированы, чтобы свести к минимуму вероятность множественных атак в случае обнаружения угрозы.
- Виртуализация повышает физическую безопасность за счет уменьшения количества оборудования в среде. Сокращение аппаратного обеспечения в виртуализированной среде подразумевает меньшее количество центров обработки данных.
- Виртуализация серверов позволяет серверам возвращаться к состоянию по умолчанию в случае вторжения. Это улучшает обработку инцидентов, поскольку событие можно отслеживать непосредственно перед атакой и во время атаки.
- Программное обеспечение для гипервизора простое и относительно небольшого размера. Следовательно, на самом гипервизоре меньше возможностей для атаки. Чем меньше поверхность атаки, тем меньше потенциал для уязвимостей.
- Сетевые и системные администраторы имеют более высокий уровень контроля доступа. Это может повысить эффективность системы за счет разделения обязанностей. Например, кому-то может быть поручено управлять виртуальными машинами в пределах периметра сети, в то время как кому-то другому может быть поручено работать с виртуальными машинами в DMZ. Система может быть дополнительно интегрирована таким образом, чтобы отдельные администраторы имели дело с серверами Linux, в то время как другие имеют дело с серверами Windows.
Распространенные атаки виртуализации
Ниже приведены некоторые из трех распространенных атак, известных при виртуализации:
- Атака типа "отказ в обслуживании" (DoS). В случае успешной атаки типа "отказ в обслуживании" гипервизоры, скорее всего, будут полностью отключены, а черные шляпы создадут черный ход для доступа к системе по своему усмотрению.
- Перехват трафика хоста. Лазейки или слабые места, присутствующие в гипервизоре, могут позволить отслеживать файлы, подкачку, системные вызовы, контролировать память и отслеживать действия на диске.
- Переход на виртуальную машину. Если в супервизоре существует уязвимость в системе безопасности, такая как дыра, пользователь может практически беспрепятственно переходить с одной виртуальной машины на другую. Неавторизованные пользователи с другой виртуальной машины могут затем манипулировать ценной информацией или украсть ее.
Традиционные подходы к обеспечению безопасности виртуализации
Большинство текущих проблем безопасности, возникающих при виртуализации, могут быть частично решены путем применения существующих технологий, людей и процессов. Основной проблемой является их неспособность защитить виртуальную структуру, состоящую из виртуальных коммутаторов, гипервизоров и систем управления. Ниже рассматриваются некоторые традиционные подходы, используемые для обеспечения безопасности виртуализации, и некоторые из их недостатков.
Некоторые сотрудники службы безопасности устанавливают трафик между стандартными системными брандмауэрами и виртуальными машинами для отслеживания трафика журналов и отправки обратной связи виртуальным машинам. Виртуализация является новой технологией, и брандмауэры не обеспечивают хорошо адаптированную инфраструктуру для решения проблем, связанных с безопасностью. Брандмауэры появились намного раньше, до того, как виртуализация была внедрена в центрах обработки данных и на предприятиях. Поэтому предварительно установленные системы управления не могут справиться с текущими угрозами безопасности виртуализации, поскольку они кажутся сложными для системы. Такие сбои могут привести к внедрению ручного администрирования, которое сопровождается ошибками из-за человеческого фактора.
этот метод уменьшает количество виртуальных машин, которые необходимо разместить на хосте, и назначает каждой виртуальной машине физический сетевой адаптер. Это один из наиболее эффективных способов обезопасить фирму, хотя он и не позволяет организации получать рентабельность инвестиций, связанную с виртуализацией, и другие экономические выгоды.
Когда на хосте находится несколько виртуальных машин, устройства работают некорректно. Это происходит главным образом потому, что системы IPS / IDS не могут эффективно отслеживать сетевой трафик между виртуальными машинами. Данные также могут быть недоступны при перемещении приложения.
Сети VLAN широко используются для рабочих сред с хорошей степенью виртуализации и без какой-либо формы виртуализации. По мере увеличения числа VLAN становится все труднее противостоять возникающим сложностям, связанным со списками контроля доступа. Следовательно, также становится трудно управлять совместимостью между виртуализированными и невиртуализированными аспектами среды.
Использование анти-вирусного подхода на основе агентов предполагает сопоставление полной копии антивирусного программного обеспечения на каждой виртуальной машине. Это безопасный метод, но потребует больших финансовых затрат для загрузки копий антивируса virus по всем виртуальным машинам в среде. Программное обеспечение является большим и, следовательно, увеличивает загрузку оборудования. В результате это оказывает негативное воздействие на память, центральный процессор, хранилище и снижает производительность.
Больший процент фирм по-прежнему полагаются на традиционные механизмы для обеспечения своей сетевой безопасности, несмотря на вышеупомянутые недостатки. Виртуализированные среды отличаются высокой динамичностью и быстрыми изменениями с развитием технологий и ИТ-инфраструктуры. Чтобы обеспечить наилучшую защиту для такой непредсказуемой среды, рекомендуется использовать положительные аспекты текущего подхода к обеспечению безопасности в дополнение к приведенным ниже рекомендациям для виртуализированной среды.
Рекомендации по мерам безопасности в контейнерных и виртуальных средах
Заглядывая в будущее, следует отметить, что должно существовать множество решений для конечных точек с защитными средствами контроля, а сетевая безопасность может быть сильно ограничена определенными поставщиками. Кроме того, система анализа угроз, как правило, должна поддерживать “сетевые” среды, которые передают данные в SIEM для расширения конечных точек и сетевых данных.
Области, которые являются относительно формирующимися и представляют крупномасштабный риск, - это облачные среды и контейнерные среды.
Безопасность контейнеров
Многие средние и крупные организации выделяют значительные ресурсы на управление уязвимостями, чтобы усилить базовый образ, стек приложений и средства контроля безопасности веб-приложений SaaS. Однако контейнерная среда по своей природе является частью более крупной среды размещения, которая представляет два уровня риска конфигурации, один на уровне сервера, а другой на уровне контейнера.
Даже при некоторой автоматизации в настоящее время требуется много рабочей силы и времени, чтобы понять, что является нормальным в контейнерной среде, а что является неправильной конфигурацией или потенциальной атакой нулевого дня.
Хотя пока нет никаких свидетельств увеличения числа целевых контейнерных сред, злоумышленники начинают искать способы использования самой топологии. Если злоумышленники знают, что происходит в процессе автоматизации DevOps, они могут вызвать множество проблем в производстве, особенно для компаний, которым требуется постоянное время безотказной работы в своих бизнес-моделях.
Рекомендуется группам безопасности применять подход, основанный на внутренних угрозах, для управления риском вредоносных действий в этих контейнерных средах.
Виртуальные среды
Многие организации задумываются о том, что значит быть “в сети”, и переходят к модели "облако-первый", что требует переоценки мер безопасности.
Многие технологические компании переходят к моделям, в которых аутентифицированные пользователи используют аутентифицированные приложения, и используют преимущества моделей контроля безопасности с нулевым доверием, когда им могут даже не понадобиться такие службы, как VPN.
Другим вариантом было бы реализовать подход VDI с использованием виртуализированных сред. Если эти виртуальные среды сконфигурированы надлежащим образом с установленными средствами управления, они обеспечивают большую гибкость при сохранении уровня безопасности.
Заключение
Виртуализация и контейнеризация становятся важными элементами современных вычислений и разработки программного обеспечения в быстро меняющемся технологическом мире сегодняшнего дня. Обе технологии зарекомендовали себя как изменяющие правила игры сами по себе, но из-за того, что они часто противопоставляются, многие люди не уверены, какая из них лучше всего подходит для их конкретных нужд.
В заключение, как виртуализация, так и контейнеризация имеют явные преимущества и недостатки, и выбор между ними будет определяться конкретными потребностями вашей организации и типом приложений, которые вы запускаете. Вы сможете лучше принять обоснованное решение о том, какая технология подходит для вашей фирмы, если поймете различия между виртуализацией и контейнеризацией.
Оставьте заявку на сайте и менеджер вам перезвонит.
Мы можем назначить видеоконференцию или приехать лично для обсуждения деталей.