Журнал "Директор по безопасности" Ноябрь 2020 | Page 19

Рисунок 1 . Ландшафт угроз контейнерной среды

ЕСТЬ РЕШЕНИЕ

Обзор требований по обеспечению безопасности технологии контейнеризации c точки зрения NIST 800-190

НИКИТА АРШИНОВ , эксперт отдела прикладных систем группы компаний Angara

В 2017 году Национальный институт стандартов и технологий ( NIST ) выпустил специальную публикацию ( SP ) 800-190 , в которой содержатся рекомендации по обеспечению безопасности контейнеров приложений и связанных с ними компонентов экосистем . NIST SP 800-190 подробно описывает риски безопасности и контрмеры для защиты контейнерных приложений .

Руководящие принципы NIST ориентированы на правительственные учреждения США , а также на государственных подрядчиков , но любая международная коммерческая компания , в том числе российская , может следовать рекомендациям рассматриваемого NIST 800-190 как с целью повышения общей безопасности собственной инфраструктуры контейнеров , так и для облегчения , а также постепенной подготовки к прохождению на соответствие выполнения других требований , таких как PCI и HIPAA .

Основные предпосылки применения рекомендаций NIST 800-190

Современная специфика трансформирующегося ИТ-рынка показывает , что сегодня все больше компаний для ускорения жизненного цикла производства используют cloud-native подход при создании сервисов и приложений . Это означает внедрение новых технологий – контейнеризации приложений ( на основе Docker ) и бессерверных облачных вычислений . Сама технология контейнеризации – явление не новое , однако за последние пять лет ее популярность кардинально возросла на фоне популяризации методологии DevOps . Большинству администраторов и разработчиков пришлись по душе контейнеры за простоту в обращении и отсутствие проблем совместимости при работе с ними .

Как показывает практика , внедрение контейнеров растет по мере того , как организации внедряют микросервисы и преобразуют собственные монолитные приложения в так называемую контейнерную микросервисную среду или создают новые приложения в облачном режиме . Микросервисное корпоративное приложение требует , в свою очередь , обеспечения отказоустойчивости , балансировки , контроля трафика , бесшовного обновления , автоматического восстановления и т . д . Для решения данного рода задач стали применятся средства оркестровки , самыми популярными из которых являются Kubernetes или OpenShift . Применение Docker , Kubernetes и микросервисов , которое уже стало стандартом де-факто при разработке масштабных приложений , нашло свое успешное применение в уже упомянутом подходе DevOps на этапах тестирования публикуемого разработчиками кода , а также размещения в продуктивной среде .

Несмотря на преимущества , которые дает контейнеризация приложений , существует и ряд « подводных камей », которые не позволяют внедрить эту технологию повсеместно , без оглядки на безопасность ввиду того , что контейнерные приложения имеют другие факторы риска , чем , например , виртуальные машины , и требуют другого набора методов обеспечения безопасности .

Согласно NIST 800-190 , можно выделить следующие актуальные проблемы при обеспечении безопасности контейнерной среды :

обширное применение и использование образов приложений и библиотек из недоверенных открытых источников ( open-source ), что приводит к потере контроля над безопасностью используемого ПО ;

классические IDS / IPS и межсетевые экраны становятся неэффективны , поскольку они не имеют видимости в действиях запущенных контейнеров ввиду их сетевой архитектуры ;

старые методы ручного создания и поддержания правил безопасности для каждой сущности в обширной контейнерной среде становятся нецелесообразны .

Для эффективного и безопасного перехода к полноценной микросервисной архитектуре необходимо обеспечить защиту среды контейнеризации и программных образов в совокупности .

Для этих целей применяются практики обеспечения безопасности процессов разработки SecDevOps – DevSecOps , когда процессы защиты бесшовно встраиваются в пайплайн непрерывной интеграции / непрерывного развертывания ( CI / CD ) на протяжении всего жизненного цикла разработки ПО , тем самым обеспечивая так называемый Shift-Left подход . Однако для качественного выстраивания такого процесса , необходимо , чтобы корпоративные команды безопасности были уполномочены активно обеспечивать защиту всего программного обеспечения на всем этапе жизненного цикла разработки . Это требует от компаний определенного уровня зрелости собственных процессов безопасности и разработки ПО , а также высококлассных специалистов в своем штате , заинтересованных и принимающих непосредственное участие в обеспечении безопасности процесса разработки в компании – Security Champions .

Для тех компаний , кто только присматривается к подходам SecDevOps – DevSecOps или только организующих процесс микросегментации приложения и контейнеризации его окружения , многие эксперты по безопасности рекомендуют начать процесс выстраивания безопасности корпоративного конвейера разработки с аудита безопасности по требованиям NIST 800-190 , которые в ИБ-сообществе уже стали best-practice подходом .

Эксперты группы компаний Angara готовы оказать помощь в организации и проведении подобного рода аудита с предоставлением исчерпывающего отчета по текущему состоянию безопасности контейнерной инфраструктуры с указанием информации о несоответствиях , а также руководства по их устранению step-by-step .

Основные требования по безопасности согласно NIST 800-190

NIST 800-190 выделяет несколько общих источников уязвимостей безопасности в контейнерных приложениях , которые включают в себя :

Наличие уязвимостей в образах контейнеров ;

Неправильные конфигурации в контейнерах ;

Неуправляемые « секреты » ( токены , ключи и т . п .);

Неправильно сконфигурированные настройки управления доступом к среде ;

Наличие уязвимостей в ОС хоста ;

Наличие уязвимостей и некорректных настроек оркестратора ;

Наличие неправильных настроек и уязвимостей в репозиториях .

Структурная схема ландшафта распространенных уязвимостей в контейнерной среде указана на рис . 1 .

Рисунок 1 . Ландшафт угроз контейнерной среды

В общем виде в NIST 800-190 предлагаются следующие рекомендации по защите контейнеров от организаций :

Использование специально разработанных инструментов для управления уязвимостями образа на протяжении всего его жизненного цикла , от сборки до развертывания и выполнения ( Aqua Cloud Native Security Platform и Prisma Cloud Compute Edition ).

Контроль образов контейнеров на соответствие лучшим практикам по их настройкам .

Осуществление управления секретами , храня их вне образа , используя Kubernetes для управления секретами , осуществление ограничения доступа к секретам теми контейнерами , которые в них нуждаются , а также осуществление шифрования секретов ( Vault Hashicorp , CyberArk ).