Советы по безопасности контейнеров.

Как вы уменьшаете риски и уязвимости, связанные с переходом на контейнерную архитектуру при модернизации вашего предприятия?

В этой статье я сделаю общий обзор и введение в то, как вы можете начать защищать свою контейнерную среду. Представьте, что вы - предприятие, использующее виртуальные машины для размещения кода приложения, и вы хотите перейти на использование контейнеров. Контейнеры хороши тем, что позволяют упростить конвейер разработки приложений и могут быть развернуты где угодно.

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

Давайте рассмотрим отдельные сервисы как потенциальные уязвимости.

Изображений

Есть несколько способов устранить эту уязвимость. Лучшее, что вы можете сделать, - это обновлять указанные изображения. Это очень важно, потому что актуальные образы содержат последние исправления безопасности, которые защищают вас от последних обнаруженных ими уязвимостей. Вы также должны регулярно сканировать свои изображения, чтобы отслеживать любые новые уязвимости, которые, возможно, еще не были обнаружены. В дополнение к этому, вам также необходимо подписать свои изображения. При подписании изображения создается цифровой отпечаток пальца, который можно использовать для криптографического тестирования и проверки того, кто пытался манипулировать изображением.

Реестры изображений

Реестры изображений представляют собой потенциальную уязвимость, поскольку они содержат все изображения, содержащие код вашего приложения. Чтобы сохранить их в безопасности, убедитесь, что вы храните свои реестры изображений в секрете. Частный реестр дает вам полный контроль над типами образов в реестре, количеством образов в реестре и контролем доступа пользователей, имеющих доступ к реестру. Вы также хотите убедиться, что вы регулярно отслеживаете свой реестр, чтобы вы могли отслеживать любые новые уязвимости, которые могут возникнуть. Вы также хотите убедиться, что хост-сервер реестра безопасен, чтобы вы могли защитить его от взлома, тем самым защищая свои изображения и код их приложений от доступа.

Время выполнения контейнера

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

Программное обеспечение для оркестровки

Платформы оркестровки - это такие вещи, как Kubernetes или OCP. Самое замечательное в этих платформах то, что они включают в себя множество возможностей контроля доступа. Это означает, что вы можете легко установить ограничения не только на количество имеющихся у вас привилегированных пользователей, что очень важно, но и на количество привилегий, которые вы даете любому пользователю. Это означает, что если пользователь скомпрометирован, он не сможет атаковать всю вашу платформу оркестровки. Имея это в виду, вы должны убедиться, что отслеживаете свою платформу оркестровки. Под этим я подразумеваю взаимодействие модулей внутри платформы оркестровки.

ОС хоста

ОС хоста потенциально является одной из величайших уязвимостей, которые могут быть в вашей контейнерной среде, поскольку в случае компрометации она предоставит злоумышленнику доступ ко всей среде вашего приложения. Чтобы смягчить это, хорошо иметь тонкую ОС. Что-то вроде SELinux было бы отличным вариантом. Вы также должны убедиться, что в вашей ОС реализован контроль доступа. В дополнение к этому вы должны убедиться, что вы также регулярно отслеживаете ОС на предмет любых уязвимостей, чтобы защитить ее от компрометации. У меня есть отличные статьи о том, почему вам следует перейти на Linux, если вы новичок в Linux.





Это некоторые из потенциальных уязвимостей, существующих в пространстве, окружающем ваш контейнер. Когда дело доходит до защиты самого контейнера, существует множество отличных инструментов с открытым исходным кодом.

Инструменты сканирования

Docker Bench - это де-факто вариант, когда дело доходит до инструментов сканирования контейнеров. Это здорово, потому что это всего лишь простой скрипт, который проверит ваш контейнер на соответствие десяткам различных лучших практик развертывания контейнеров. Это даст вам знать, как ваш контейнер противостоит этому. OpenSCAP - еще один отличный вариант, который позволит вам создавать расписания для непрерывного сканирования вашего контейнера.

Инструменты мониторинга

Когда дело доходит до инструментов мониторинга, отличный вариант называется Prometheus. Prometheus хорош тем, что позволяет собирать и анализировать различные метрики, связанные с обменом данными между разными конечными точками узла.

Инструменты межсетевого экрана

Cilium - фантастический вариант в этой категории, потому что он позволяет вам анализировать связь и вашу сеть, а также связь между всеми различными службами приложений, которые у вас есть.

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

Больше контента на plainenglish.io