В этой статье мы расскажем о новом сервисе Twistlock, который входит в семейство решений Prisma компании Palo Alto Networks и помогает обеспечивать безопасность контейнеров.
Статья основана на материалах Palo Alto Networks.
Контейнеры становятся все более популярными, поскольку они позволяют легко создавать, упаковывать и обновлять приложения или службы в различных средах и целевых платформах. Однако на сегодняшний день защита среды выполнения контейнеров является одной из самых сложных задач, поскольку традиционные средства безопасности не были предназначены для мониторинга запущенных контейнеров.
Сервис Twistlock от Palo Alto Networks — это лидирующее решение, помогающее клиентам защищать контейнеры и контейнерные среды на протяжении всего их жизненного цикла.
В данной статье будут рассмотрены следующие вопросы:
- Контейнерная среда и ее потенциальные риски
- Необходимость защиты контейнеров
- Особенности, преимущества и примеры использования Twistlock
Контейнерная среда и ее потенциальные риски
Контейнеры имеют множество преимуществ: гибкость, модульность и масштабируемость. Но есть еще одно важное и часто упускаемое из виду преимущество перехода на контейнеры — безопасность. При условии правильной настройки контейнеры предлагают ряд возможностей для создания и развертывания более безопасных приложений и сред в сравнении с виртуальными машинами.
Контейнеры: как подходить к вопросу защиты?
- Контейнер содержит в себе как приложение, так и все элементы, необходимые для правильной работы приложения, включая системные библиотеки, системные настройки и другие зависимости.
- Контейнеры позволяют защищать приложения и среды на более «гранулярном» уровне. Они также позволяют вам выявлять и устранять потенциальные угрозы безопасности до того, как они нарушат рабочие процессы.
- Контейнеры позволяют разработчикам применять подход к безопасности на основе предотвращения атак, вместо того чтобы заниматься детектированием и отражением активных атак.
Потенциальные риски и подходы к защитите контейнерной среды
На высоком уровне контейнерная среда, как правило, включает в себя ваши образы, контейнеры, хосты, среду выполнения контейнеров, реестры и оркестратор. Рассмотрим потенциальные риски и способы защиты каждого из элементов окружающей среды.
Уязвимости образов и проблемы соответствия
Уязвимости могут влиять на образы контейнеров так же, как и на любую другую ИТ-платформу, поэтому сканирование образов на наличие уязвимостей и соответствие стандартам, составление перечня компонентов, выявление любых встроенных чувствительных данных (секретов) или вредоносных программ и анализ рисков для индивидуальных слоев образа обеспечивает необходимый уровень защищенности.
Кроме того, важно помнить, что требуется постоянное отслеживание образов и контейнеров на предмет «дрейфа». Образ, который был отсканирован и прошел проверку на уязвимости и соответствие требованиям сегодня, может быть небезопасным в будущем, поскольку новые данные об угрозах могут выявить уязвимые компоненты, которые ранее не считались таковыми.
Защита реестра контейнеров
Реестр контейнеров обеспечивает удобный централизованный источник для хранения и распространения образов приложений. Современные организации могут легко хранить десятки тысяч образов в своих реестрах. Поскольку реестр играет ключевую роль в работе контейнерной среды организации, его необходимо защищать.
Ошибки или уязвимости реестра позволяют легко скомпрометировать запущенное приложение. Постоянный мониторинг реестров на предмет любых изменений в состоянии уязвимостей, усиленная защита сервера, на котором размещен реестр, и использование политик безопасного доступа — основные требования безопасности реестра.
Защита среды выполнения контейнера
Среда выполнения контейнера является одной из самых сложных частей для обеспечения безопасности в стеке контейнеров, поскольку традиционные средства безопасности не создавались для мониторинга запущенных контейнеров. Они не могут анализировать содержимое контейнеров и не знают о том, как выглядит защищенная контейнерная среда.
Организациям, использующим контейнеры, необходимо определить поведенческую норму для своей среды контейнеров в нормальном, безопасном состоянии, чтобы затем обнаруживать и предотвращать аномалии или атаки. Защита запущенного контейнера требует концентрации на защите самого приложения, а не только использование средств сетевой защиты.
Команды DevOps, ИТ-инфраструктуры и ИБ должны принять концепцию неизменности контейнера, заменяя существующие контейнеры новыми контейнерами всякий раз, когда пользователь обновляет свои приложения или сервисы. Неизменность обеспечивает преимущества в безопасности, поскольку пользователи не пытаются выполнять обновления уже запущенных контейнеров, что приводит к изменению конфигурации и снижению соблюдения политик безопасности.
Проблемы оркестровки
Команды ИБ и инфраструктуры должны принять надлежащие меры контроля доступа для предотвращения рисков, связанных с чрезмерно привилегированными учетными записями, сетевыми атаками и латеральным движением. Использование модели доступа с наименьшими привилегиями, в которой действия Docker и Kubernetes явно указаны в белом списке, гарантирует, что пользователи могут выполнять команды только на основе соответствующих ролей. Кроме того, необходимо защищать коммуникации «под-под» (pod-to-pod, то есть между группами контейнеров), ограничивая ущерб и предотвращая латеральное перемещение злоумышленников по вашей среде, и защищать публично доступные службы от атак OWASP Top 10.
Защита ОС хоста
Операционная система, в которой размещается ваша контейнерная среда, является, пожалуй, самым важным уровнем стека, потому что атака, которая ставит под угрозу среду хоста, может предоставить злоумышленникам доступ ко всему остальному в вашем стеке. Следовательно, сами хосты также необходимо сканировать на наличие уязвимостей, проверять на соответствие стандартам, например, CIS, защищать права доступа (команды Docker, команды ssh, команды sudo и т. д.) и контролировать изменения файлов.
Потребность защиты контейнеров
Проблематика защиты контейнеров
Быстро возросший спрос против неэффективных подходов к обеспечению безопасности
Отчет компании RightScale о состоянии облачных технологий говорит о том, что использование контейнеров увеличилось с 49% в 2018 году до 57% в 2019 году. Kubernetes, система управления контейнерами, использующая Docker, достигла еще более быстрого роста, увеличив внедрения с 27% до 48%.
Несмотря на то, что в последние годы использование контейнеров возросло, организации сегодня, как правило, либо не защищают контейнеры вообще, либо используют неэффективные традиционные подходы к безопасности, которые дают неудовлетворительные результаты.
Безопасность на уровне периметра
Большинство существующих СЗИ по-прежнему сосредоточены на защите периметра программно-определяемых сред. Они защищают сеть с помощью политик МСЭ, а серверы — с помощью политик контроля доступа. Хотя подобные методы полезны для защиты от вторжений, они не помогают в том случае, если злоумышленник может обойти защиту на уровне периметра и получить доступ к хостам внутри периметра.
Отсутствие координации команд безопасности
Во многих организациях безопасность остается областью команды экспертов по информационной безопасности. Они анализируют код после того, как он написан — или, что еще хуже, уже запущен в продуктов. Они работают изолировано от команды разработки программного обеспечения. Эта изоляция, которая частично объясняется трудностью интеграции средств анализа безопасности в монолитный процесс разработки приложений, приводит к ошибкам в безопасности.
Ручная настройка и управление
Современные средства безопасности часто способны обнаруживать угрозы в реальном времени — в теории. Однако их способность быстро выявлять и реагировать на угрозы в реальном времени ограничена, поскольку они требуют ручной настройки.
Гниение конфигураций
Другой критический недостаток, который возникает из-за необходимости ручной конфигурации, — это подверженность конфигурации «гниению». При изменении программной среды конфигурации, которые должны обновляться вручную, устаревают — или, другими словами, они «гниют».
Решение
Рассмотрим теперь особенности и способы, с помощью которых микросервисы и контейнеры могут помочь организациям внедрить новую парадигму безопасности на основе предотвращения угроз, делая при этом приложения и среды, в которых они живут, более безопасными, чем ранее.
Контейнеры имеют небольшую поверхность атаки
В традиционной среде вы размещаете свои приложения на железных серверах или на виртуальных машинах. В обоих вариантах злоумышленники могут использовать уязвимости в операционной системе или других высокоуровневых частях среды для контроля над вашим приложением. Однако с контейнерами векторов атаки намного меньше. Получение контроля над хост-сервером не обязательно дает злоумышленнику доступ к приложениям, работающим внутри контейнера. А поскольку хорошо спроектированный образ контейнера включает в себя только минимальный объем кода и служебных программ, необходимых для запуска определенного микросервиса, число потенциальных дыр в безопасности намного меньше.
Контейнеры прозрачны
Виртуальные машины и монолитные приложения состоят из больших громоздких кусков кода или образов дисков. Их проверка требует анализа кода или ручного аудита работающих сред. Однако с контейнерами вы получаете гораздо более высокую степень прозрачности. Быстро просматривая Dockerfile, любой инженер DevOps может определить, какие компоненты существуют в образе Docker. Образы могут автоматически сканироваться в реестрах для выявления уязвимостей, и изменения в образах постоянно записываются. Сокеты, открытые порты и прочее легко идентифицировать, исследуя файлы Docker или используя простые инструменты, например, утилиту статистики Docker.
Контейнерные среды последовательны и предсказуемы
Контейнеры обеспечивают единство среды, используя одну площадку для написания, тестирования и развертывания приложений. В результате сотрудники ИБ могут проверять приложения до их запуска в продуктив и быть уверенными, что приложение будет работать точно так же, когда оно будет запущено в продуктив.
Контейнеры устраняют проблемы коммуникций между командами
Единство контейнерной среды также помогает снять барьеры коммуникации и совместной работы между ИБ и командой DevOps. Ваши специалисты по ИБ могут запускать тесты и проверять код в любой точке цепочки поставки программного обеспечения, используя те же образы контейнеров, с которыми работают разработчики и ИТ-специалисты. Никакой специальной координации не требуется. С контейнерами безопасность становится проще интегрировать непосредственно в остальную часть вашей цепочки доставки программного обеспечения.
Контейнеры обеспечивают неизменную инфраструктуру
Когда вы хотите обновить приложение в контейнере, вы просто заново собираете образ микросервиса, который вы хотите изменить, а затем повторно внедряете его. Вам не нужно повторно развертывать все приложение, и ваши устаревшие контейнеры исчезают навсегда, что делает вашу инфраструктуру неизменной. С точки зрения безопасности, неизменная инфраструктура чрезвычайно выгодна. Это ускоряет установку патчей, устраняет необходимость изменений всего приложения (тем самым снижая риск появления новых уязвимостей из-за небольших обновлений) и устраняет риск случайного запуска непропатченных приложений.
Контейнеры дают автоматизацию
Еще одним преимуществом неизменной инфраструктуры является ее способность обеспечивать высокую степень автоматизации. С неизменной инфраструктурой вы можете быстро и без проблем вносить изменения, зная, что ИТ-специалистам не потребуется принимать неочевидные решения о том, что и как следует изменять при установке обновления работающего приложения. Также вы можете использовать машинное обучение для автоматизации развертывания вашей инфраструктуры и оперативного обновления конфигураций безопасности.
Twistlock
Настало время рассмотреть сервис Twistlock компании Palo Alto Networks, компексное решение для обеспечения безопасности контейнеров.
Что такое Twistlock?
Twistlock, контейнерная платформа безопасности, помогает организациям перейти от традиционной безопасности к новой парадигме. Это комплексное решение безопасности для контейнеров, которое защищает контейнеризованные среды на всех уровнях — от базовой операционной системы до реестра контейнеров и запущенных контейнеров — и легко интегрируется с CI/CD, так что безопасность могут быть встроена в рабочий процесс DevOps.
Управление уязвимостями
Выявление и предотвращение уязвимостей на протяжении всего жизненного цикла приложения и приоритизация рисков для нативных облачных сред. Twistlock обеспечивает глубокий анализ уязвимостей благодаря облачной аналитике и знания вашей среды, что позволяет проводить оценку рисков, специфичную для ваших приложений.
Защита во время выполнения
Защита во время выполнения включает в себя межсетевые экраны и МСЭ уровня приложений, защиту кода во время выполнения контейнеров, Fargate и бессерверных вычислений, а также комплексную защиту хостов. Машинное обучение защищает среду облачной платформы: сеть, файловую систему, процессы и системные вызовы.
Соответствие стандартам и требованиям
Twistlock помогает организациям отслеживать, достигать и сохранять соответствие регуляторным требованиям для контейнеров и облачных сред. Функционал Twistlock Compliance Explorer используется для обеспечения соблюдения стандартных конфигураций, лучших практик обеспечения безопасности, использования доверенных реестров и рекомендуемых шаблонов развертывания, что дает гарантию того, что среды ваших контейнеров, где бы они ни находились, соответствуют политикам отрасли или компании.
Интеграция с CI / CD
Twistlock встраивает безопасность в процесс непрерывной интеграции и непрерывной доставки, поэтому вы можете находить и устранять проблемы еще до того, как они попадут в продуктивную среду. Мощные CI-возможности позволяют разработчикам видеть ситуацию по уязвимостям каждый раз, когда они запускают сборку, без необходимости вызывать отдельный инструмент или использовать другой интерфейс. Сотрудники ИБ могут устанавливать политики, которые действуют как автоматические контролеры качества, и гарантируют, что только исправленные образы продвигаются по конвейеру.
Нативный облачный МСЭ
Платформа Twistlock позволяет сотрудникам ИБ выходить за рамки ручного управления IP-адресами и белыми списками, предлагая межсетевые экраны, созданные для облачных сред. Twistlock предоставляет МСЭ уровня 3 и МСЭ уровня 7, которые автоматически изучают топологию сети ваших приложений и обеспечивают специализированную микросегментацию для всех ваших микросервисов, что позволяет контролировать современные угрозы.
Контроль доступа
Создание и мониторинг надлежащих мер контроля доступа для облачных машин и приложений. Twistlock используется для защиты базовых хостов, Docker и Kubernetes, а также интегрируется с IAM, PIM/PAM и другими смежными технологиями.
Twistlock защищает все ведущие платформы
Безопасность облачных приложений должна быть такой же гибкой, как и сами контейнеры и функции. Twistlock поддерживает Windows и Linux, AWS и Azure, виртуальные машины и железные хосты, при этом данные клиентов всегда находятся под их полным контролем.
На сегодняшний день среди клиентов Twistlock — RBS, Verizon, Walgreens, PayPal, BBVA, Discover, Societe Generale и более 25% компаний из списка Fortune 100.
Хотите узнать больше или попробовать Twistlock в действии? Свяжитесь с нами по ссылке ниже.