Контроль целостности — совокупность механизмов проверки контейнеров для обеспечения безопасности и их соответствия заданной конфигурации.
В Deckhouse Kubernetes Platform (DKP) контроль целостности работает:
- при запуске контейнеров приложений;
- во время работы контейнеров приложений.
Контроль целостности при запуске контейнеров
DKP обеспечивает контроль целостности контейнеров приложений на уровне контейнерного рантайма (CRI).
После скачивания образа приложения DKP проверяет его целостность, сверяя хеш-сумму SHA-256. Запуск контейнера возможен только при успешной проверке контрольной суммы.
Последовательность контроля целостности при запуске:
- Загрузка образа в локальное хранилище узла.
- Извлечение метаданных образа, включая хеш-сумму SHA-256.
- Верификация SHA-256 путем сравнения с эталонной.
- Если хеш совпадает, проверка пройдена. Если хеш не совпадает, образ не запускается.
Для повышения уровня безопасности вы также можете настраивать политики загрузки образов при использовании политик безопасности, чтобы гарантировать использование актуальных версий образов для запуска контейнеров.
Контроль целостности работающих контейнеров
Аудит событий безопасности в DKP включает в себя анализ событий ядра Linux и аудита событий Kubernetes API. Это позволяет отслеживать, что приложения в подах работают в неизменном виде, соответствуют ожидаемому состоянию и не были модифицированы.
Для аудита используются:
- встроенные правила;
- пользовательские правила, которые можно добавлять с использованием синтаксиса условий Falco.
В процессе контроля целостности работающих контейнеров могут выявляться такие угрозы, как запуск оболочек командной строки в контейнерах или подах, обнаружение контейнеров, работающие в привилегированном режиме, монтирование небезопасных путей в контейнеры, попытки чтения секретных данных.
Подробнее о настройках аудита безопасности — в разделе «Аудит событий безопасности».