Какие инструменты используются для работы с безопасностью

«Какие инструменты используются для работы с безопасностью» — вопрос из категории Безопасность, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В DevOps-практике безопасность (DevSecOps) встраивается на всех этапах. Я применяю следующие инструменты:

1. Безопасность инфраструктуры как кода (IaC):

  • Checkov и Terrascan — для статического анализа Terraform-конфигураций на предмет небезопасных настроек (открытые порты, некорректные политики IAM).
    # Пример сканирования директории с Terraform-кодом
    checkov -d ./terraform/ --compact

2. Безопасность контейнеров и зависимостей:

  • Trivy — мой основной инструмент для сканирования Docker-образов на уязвимости (CVEs) и проблемные конфигурации (например, запуск от root).
    # Сканирование образа перед отправкой в registry
    trivy image --severity HIGH,CRITICAL myapp:latest
  • Snyk — для сканирования зависимостей в манифестах (package.json, requirements.txt, pom.xml) и образов. Интегрирую его в CI/CD пайплайн.

3. Управление секретами:

  • HashiCorp Vault — для централизованного хранения и динамической выдачи секретов (токены, пароли, сертификаты). Например, приложение в Kubernetes получает доступ к БД через временные учетные данные, которые Vault создает по запросу.
  • Git-secrets / TruffleHog — для предотвращения случайного коммита секретов в Git-репозиторий.

4. Сетевая безопасность и политики:

  • В Kubernetes использую Network Policies (Calico, Cilium) для сегментации трафика между подами.
  • Open Policy Agent (OPA) / Gatekeeper — для создания и принудительного применения политик на уровне кластера (например, запрет образов из непроверенных registry, требование наличия меток).

5. Динамический анализ (DAST):

  • OWASP ZAP — интегрировал в пайплайн для базового сканирования запущенного веб-приложения на наличие распространенных уязвимостей (OWASP Top 10).