Неочевидная защита от киберугроз

14 мая прошел вебинар  «Защита Kubernetes: настройки безопасности, которые редко используют». На встрече выступили Евгений Тодышев, руководитель направления безопасной разработки УЦСБ, и Максим Ксенофонтов, ведущий пресейл-инженер «Лаборатории Касперского». Спикеры подробно рассказали об особенностях работы с эфемерными контейнерами.

Теория от Евгения

Открыл встречу Евгений Тодышев. Он рассказал о значимых способах защиты от киберугроз, которые не всегда рассматриваются отделом информационной безопасности, но играют большую роль. Эфемерные контейнеры ‒ временные контейнеры, которые применяются в момент отладки ПО. Они размещаются в том же Pod, что и целевой контейнер. Эфемерный контейнер не может быть развернут при работе основного, он разворачивается следующим шагом. Существует стереотип, что в эфемерном контейнере нельзя установить контекст безопасности. «Это позволяет злоумышленнику повысить свои привилегии», ‒ отметил Евгений. Чтобы этого не допустить, в эфемерном контейнере можно и нужно использовать дополнительную защиту.

Существует несколько видов защиты: RBAC, Admission, Audit, PSP.

RBAC ‒ разграничение прав доступа. В этом виде защиты применяются классические роли. «Классический RBAC ‒ не самое лучшее решение по управлению правами доступа. Поэтому желательно подключить сторонние контроллеры доступа, где есть возможность компоновать роли», ‒ рассказал Евгений Тодышев. Admission ‒ одни из самых старых способов контроля и защиты системы. При работе с этим видом защиты стоит проверить подключение поддержки. Для обеспечения безопасности эфемерных контейнеров необходимо разработать отдельную политику, которая бы следила за самим ресурсом. Audit проверяет целостность работы эфемерного контейнера. Это решение наблюдает за работой RBAC и следит за обращениями к subresource. Механизм PSP не поддерживается в новых версиях, и при переходе на свежие версии решение не будет работать.

Спикер рассказал о решении Kubernetes Scheduler ‒ инструменте, который отвечает за распределение подов по рабочим узлам, является управляющей частью Kubernetes и отвечает за оперирование правилами affinity/anti-affinity, taints и tolerations. Этот инструмент можно применить в дополнение к уже включенным способам защиты внутри эфемерного контейнера. Его используют в основном в ИТ-подразделениях.  Грамотный подход к планированию нагрузок позволит предотвратить горизонтальное перемещение злоумышленника и соответствовать требованиям регулятора.

Роль метки в ноде

Существует несколько механизмов планирования: nodeSelector, nodeName, Affinity &, Anti-affinity, Inter-pod Affinity & Anti-affinity, Taints and Tolerations

Спикер детально рассмотрел каждый из механизмов. NodeSelector помогает распределить развертываемые ресурсы по тем нодам, которые имеют необходимые метки. «Механизм достаточно простой, но для небольших нагрузок он вполне достаточен», ‒ рассказал Евгений. NodeName фокусируется на ноде с указанным именем. Эксперт не рекомендует использовать этот механизм, так как он значительно ограничивает возможности кубера и сводит практически к нулю существующий механизм планирования, если его использовать повсеместно. Евгений предупреждает, что с большой долей вероятности NodeName не будет работать в облачных Kubernetes Service. Имена задач могут входе работы меняться и некорректно отображаться, выдавая ошибку в Kubernetes Service.

Affinity & Anti-affinity так же, как и механизм NodeSelector, работает с метками в узлах на нужных нодах. Отличительная особенность в том, что он больше подходит для безопасности приоритетно жестких правил. Inter-pod Affinity & Anti-affinity смотрит на метки тех контейнеров, которые могут или не могут находиться на одной воркерноде. То есть механизм исключает совмещение на одних и тех же нодах критичных и некритичных приложений. Taints and Tolerations ‒ механизм, фиксирующий ключ на определенных нодах. Все нагрузки будут «обходить стороной» ноды с ключами и «раскатываться» в остальных. Данный механизм удобен тем, что исключается развертывание рабочих нагрузок на Ingress-контроллере или Master Node.

Евгений Тодышев также дал рекомендации. Необходимо контролировать права, позволяющие изменять метаданные; проверять политику планирования, так как хранение критических и некритических данных на одном узле добавляет риски; запретить Kubelet управлять метками ноды, для этого можно использовать Admission plugin NodeRestriction.

Kaspersky Container Security

 Максим Ксенофонтов рассказал о продукте Kaspersky Container Security. Решение закрывает проблемы безопасности контейнерных сред на всех этапах и позволяет интегрироваться в процессы безопасной разработки. В продукт, на этапе образа, можно интегрировать CI и CD инструменты, проводить оркестратор, исследовать VCS и реестр. Container Security следит за безопасностью образов контейнеров и запущенных приложений в соответствии с требованиями регуляторов. Сейчас доступны две версии с разными возможностями.

 

Следите за нашими новостями в Телеграм-канале Connect


Поделиться:



Следите за нашими новостями в
Телеграм-канале Connect

Спецпроект

Медицинские задачи для ИИ

Подробнее
Спецпроект

Цифровой Росатом

Подробнее


Подпишитесь
на нашу рассылку