Thank you for reading this post, don't forget to subscribe!
Есть несколько способов запустить этот инструмент.
Kube Bench – это один из качественных инструментов безопасности с открытым исходным кодом, который проверяет, соответствуют ли ваши дейплойменты тестам безопасности CIS (Center for Internet Security).
Инструмент также поддерживает тесты производительности для нескольких версий Kubernetes.
Кроме того, он также указывает на ошибки и помогает их исправить.
Это хорошее решение для исправления ошибок.
Этот инструмент также проверяет правильность авторизации и аутентификации пользователя, а также надежность шифрования данных.
Особенности Kube Bench:
- Написан на Go
- Тестирует мастер и воркер ноды Kubernetes
- Доступен как контейнер
- Тесты определены в YAML, их легче расширять и обновлять.
- Поддерживает вывод в формате JSON
Checkov – это инструмент безопасности, используемый для предотвращения неправильной конфигурации облака во время сборки для Kubernetes, Terraform, Cloudformation, Serverless framework и других типов инфраструктуры как кода.
Он написан на Python и направлен на повышение уровня безопасности и соответствия передовым практикам.
Вы можете запускать сканирование Checkov, чтобы анализировать инфраструктуру как код.
Особенности Checkov:
- OpenSource и прост в использовании
- Более 500 встроенных политик безопасности
- Рекомендации по соблюдению нормативных требований для AWS, Azure и Google Cloud
- Поддерживает несколько форматов вывода – CLI, JUnit XML, JSON
- Интегрирует образы в ваш ci / cd
- Запускает сканирование папки, содержащей файлы Terraform и Cloudformation.
Tufin предлагает различные скрипты, из которых нам интерессны:
- kubernetes-vulnerabilities
- test-network-policies
kubernetes-vulnerabilities
Содержит информацию о Kubernetes:
- Уязвимости
- Плагины Admission controller
Уязвимости
Каждый файл в папках (vanilla, gke, eks и т. д.) содержит известные уязвимости k8s.
В каждом файле есть список CVE. В каждом CVE должно быть одно из следующих полей:
- FixedIn: номера патчей, которые исправляют каждую уязвимую младшую версию (предполагается, что более высокие версии исправлены)
- ExistsIn: список уязвимых версий (диапазоны или версии)
FirstVulnerableVersion – первая версия, в которой обнаружена эта уязвимость.
Плагины Admission controller
Этот файл содержит список плагинов адмишен Kubernetes.
У каждого плагина может быть рекомендация (включить / отключить) для каждой платформы Kubernetes.
MKIT расшифровывается как Managed Kubernetes Inspection Tool.
Этот инструмент помогает быстро определить ключевые риски безопасности кластеров Kubernetes и их ресурсов.
У него есть быстрые и простые способы оценки неправильной конфигурации в кластере и инстансов.
Инструмент поставляется с интерфейсом, который по умолчанию работает на http://localhost: 8000.
Он дает вам представление о неудачных и пройденных проверках. В разделе затронутых ресурсов вы получите подробную информацию о затронутых и незатронутых ресурсах.
Особенности MKIT:
- Создан с использованием всех библиотек и инструментов с открытым исходным кодом
- Простота установки и использования
- Поддерживает несколько провайдеров Kubernetes – AKS, EKS и GKE.
- Хранит конфиденциальные данные внутри контейнера
- Предоставляет веб-интерфейс
Возможности Kube Scan:
- Инструмент для оценки рисков с открытым исходным кодом
- Веб-интерфейс с подробностями оценки рисков
- Он работает как контейнер в кластере.
- Повторно сканирует кластер каждые 24 часа
Kubeaudit, как следует из названия, представляет собой инструмент аудита кластеров Kubernetes с открытым исходным кодом.
Он находит неправильные конфигурации безопасности в ресурсах Kubernetes и сообщает вам, как их исправить.
Он написан на языке Go для использования в качестве пакета Go или инструмента командной строки.
Вы можете установить его на свой компьютер, используя brew с помощью одной команды.
Он предлагает различные методы, такие как запуск приложений от имени пользователя без полномочий root, предоставление доступа только для чтения к корневой файловой системе, избегание предоставления дополнительных привилегий приложениям в кластере для предотвращения общих проблем безопасности.
В нем есть обширный список аудитов, используемых для тестирования проблем безопасности кластера Kubernetes, таких как SecurityContext для подов.
Возможности Kubeaudit:
- Инструмент аудита Kubernetes с открытым исходным кодом
- Предоставляет три различных режима – manifest, local, cluster, для аудита кластера.
- Предоставляет результат аудита на трех уровнях северити – Error, Warn, Info.
- Использует несколько встроенных аудитов для контейнеров, подов, неймспесов
Особенности Kubesec:
- Инструмент анализа рисков с открытым исходным кодом
- Он поставляется со встроенным HTTP-сервером, который по умолчанию работает в фоновом режиме на 8080.
- Запускается Kubesec-as-a-Service через HTTPS на v2.kubesec.io/scan
- Он может сканировать несколько документов YAML в одном входном файле.
======================================================================================================
Clair – это проект с открытым исходным кодом, который предлагает сканирование уязвимостей контейнеров Docker и приложений (appc).
Это механизм анализа, управляемый API, который слой за слоем проверяет наличие недостатков безопасности в контейнерах.
Вы можете создавать сервисы с помощью Clair, которые могут непрерывно отслеживать ваши контейнеры на предмет любых уязвимостей.
Также он уведомляет о потенциальной угрозе в контейнере.
А именно, он уведомляет вас о потенциальной угрозе в контейнере на основе базы данных Common Vulnerabilities and Exposures (CVE) и аналогичных баз данных.
Если выявляется какая-либо угроза или проблема, которая уже есть в Национальной базе данных уязвимостей (NVD), инструмент извлекает подробности и предоставляет их в отчете.
Особенности Clair:
- Сканирует существующие уязвимости и предотвращает их появление в будущем.
- Предоставляет REST API для интеграции с другими инструментами
- Отправляет уведомление при обнаружении любой уязвимости
- Предоставляет отчет в формате HTML со всеми деталями сканирования
- Регулярно обновляет метаданные
Trivy – это простой и комплексный сканер уязвимостей для контейнеров и других артефактов.
Он помогает обнаруживать уязвимости пакетов операционной системы (Alpine, RHEL, CentOS и т. д.) и зависимости приложений (Bundler, Composer, npm, yarn и т. д.).
Перед отправкой в реджестри контейнеров или развертыванием приложения вы можете легко просканировать свой локальный образ контейнера и другие артефакты, что даст вам уверенность в том, что с вашим приложением все в порядке.
Особенности Trivy
- Обнаружение комплексных уязвимостей
- Простота – укажите только имя образа или имя артефакта.
- Быстрота – первое сканирование завершится в течение 10 секунд (в зависимости от вашей сети). Последующее сканирование завершится за считанные секунды
- DevSecOps – подходит для CI, таких как Travis CI, CircleCI, Jenkins, GitLab CI и т. д.
- Поддержка нескольких форматов – в том числе: образ контейнера, локальная файловая система, удаленный репозиторий git.
- Простая установка – возможна установка apt-get, yum install и brew без предварительных условий, таких как установка БД, библиотек и т. д.
Anchore – это проект с открытым исходным кодом для глубокого анализа образов Docker.
Он также удостоверяет образ, сообщая, защищен он или нет.
Anchore может работать как на отдельной платформе, так и на платформах оркестровки, таких как Kubernetes, Rancher, Amazon ECS, Docker Swarm.
Anchore также доступен в плагинах Jenkins для сканирования пайплайнов CI/CD.
Вам необходимо отправить образ в anchore, который проанализирует и предоставит вам подробную информацию, если в нем есть какие-либо уязвимости.
Вы также можете использовать свою собственную политику безопасности для оценки образов.
Dagda – это инструмент с открытым исходным кодом для статического анализа известных уязвимостей, таких как трояны, вредоносное ПО, вирусы и т. д., в образах и контейнерах.
Он использует антивирусный движок ClamAV для обнаружения таких уязвимостей.
Сначала он импортирует все известные уязвимости из CVE, Red Hat Security Advisories (RHSA), Red Hat Bug Advisories (RHBA), идентификаторов Bugtraq (BID), базы данных безопасности Offensive в MongoDB.
Затем в соответствии с импортированными уязвимостями анализируются образы и контейнеры.
Особенности Dagda:
- Поддерживает несколько образов Linux (CentOS, Ubuntu, OpenSUSE, Alpine и т. д.)
- Анализирует зависимости от java, python node js, javascript, ruby, PHP
- Интегрируется с Falco для мониторинга работающих контейнеров
- Сохраняет каждый отчет анализа в MongoDB для ведения истории каждого образа докера или контейнера.
Falco – это проект с открытым исходным кодом как механизм обнаружения угроз в Kubernetes.
Это инструмент безопасности во время выполнения для обнаружения аномальной активности на хостах и контейнерах, работающих в Kubernetes.
Он обнаруживает любое неожиданное поведение в вашем приложении и предупреждает вас об угрозах во время выполнения.
Он использует синтаксис, подобный tcpdump, для создания правил и использует библиотеки, такие как libscap и libinsp, которые могут входить и извлекать данные с вашего сервера API Kubernetes или среды выполнения контейнера.
После этого вы можете использовать эти метаданные, чтобы получить информацию о подах, метках и пространствах имен, чтобы фактически создать правила, специфичные для конкретного пространства имен или определенного образа контейнера.
Правила фокусируются на системных вызовах и на том, какие системные вызовы разрешены и запрещены в системе.
Aqua Security защищает приложения, созданные с использованием облачных технологий, таких как контейнеры.
Он обеспечивает сканирование уязвимостей и управление для таких оркестраторов, как Kubernetes.
Это комплексная платформа безопасности, обеспечивающая безопасность приложений, работающих в контейнерах, и их выполнение в безопасной среде.
Когда разработчики создают образы, у них есть набор технологий и библиотек для их создания.
Aqua security позволяет им сканировать эти образа, чтобы убедиться, что они “чистые”, в них нет известных уязвимостей, в них нет открытых паролей или секретов, а также нет угроз безопасности, которые могли бы сделать этот образ уязвимым.
Если обнаружена какая-либо уязвимость, aqua security сообщает о них разработчику и рекомендует, что им нужно сделать, чтобы исправить эти уязвимые образы.
Aqua Security также имеет технологии, гарантирующие, что образ не подвергнется атаке или проникновению с какой-либо угрозой безопасности, когда контейнер запущен в продакшен.
Docker Bench Security – это скрипт с несколькими автоматическими тестами для проверки лучших практик развертывания контейнеров в производственной среде.
Чтобы запустить систему безопасности Docker Bench, вам понадобится Docker 1.13.0 или новее.
Вам необходимо выполнить приведенную ниже команду, чтобы запустить систему безопасности Docker Bench.
1 2 3 4 5 6 7 |
docker run -it --net host --pid host --userns host --cap-add audit_control \ -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \ -v /var/lib:/var/lib \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/lib/systemd:/usr/lib/systemd \ -v /etc:/etc --label docker_bench_security \ docker/docker-bench-security |