[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-bezopasnost-konteynerov-chto-takoe-docker-bench-for-security":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":20,"progress":21,"seo":22},322,"chto-takoe-docker-bench-for-security",9,"bezopasnost-konteynerov","Безопасность контейнеров","🛡️","Что такое Docker Bench for Security?","\u003C!-- grade: -->\n\n**Docker Bench for Security** — автоматизированный инструмент аудита безопасности, проверяющий конфигурацию Docker-хоста и контейнеров на соответствие рекомендациям **CIS Docker Benchmark** (Center for Internet Security). CIS Benchmark — это общепризнанный стандарт, используемый в том числе при аудитах PCI DSS.\n\n**Запуск Docker Bench for Security:**\n\n```bash\ndocker run --rm --net host --pid host --userns host --cap-add audit_control \\\n    -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \\\n    -v \u002Fvar\u002Flib:\u002Fvar\u002Flib:ro \\\n    -v \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro \\\n    -v \u002Fusr\u002Flib\u002Fsystemd:\u002Fusr\u002Flib\u002Fsystemd:ro \\\n    -v \u002Fetc:\u002Fetc:ro \\\n    docker\u002Fdocker-bench-security\n```\n\nИнструмент запускается как контейнер с расширенными правами, потому что ему необходим доступ к конфигурации хоста, Docker daemon и работающим контейнерам для их анализа. Все тома монтируются в режиме read-only (`:ro`).\n\n**Категории проверок (секции CIS Docker Benchmark):**\n\n| Секция | Описание | Примеры проверок |\n|--------|----------|-----------------|\n| 1 — Host Configuration | Конфигурация хоста | Аудит-логирование, отдельный раздел для `\u002Fvar\u002Flib\u002Fdocker`, обновление ядра |\n| 2 — Docker daemon configuration | Настройки Docker daemon | TLS для удалённого доступа, user namespace remapping, live-restore |\n| 3 — Docker daemon configuration files | Права доступа к файлам | Права на `docker.sock`, `daemon.json`, TLS-сертификаты |\n| 4 — Container Images and Build Files | Образы и Dockerfile | Наличие `USER` в Dockerfile, `HEALTHCHECK`, отсутствие секретов в слоях |\n| 5 — Container Runtime | Параметры запуска контейнеров | Запрет privileged, запрет host network, read-only FS, ограничение capabilities |\n| 6 — Docker Security Operations | Операционная безопасность | Регулярное обновление Docker Engine, мониторинг, бэкапы |\n| 7 — Docker Swarm | Безопасность Swarm | Шифрование overlay-сети, ротация сертификатов, autolock |\n\n**Пример вывода Docker Bench:**\n\n```\n[INFO] 1 - Host Configuration\n[PASS] 1.1  - Ensure a separate partition for containers has been created\n[WARN] 1.2  - Ensure the container host has been hardened\n[PASS] 1.3  - Ensure Docker is up to date\n\n[INFO] 4 - Container Images and Build File\n[WARN] 4.1  - Ensure a user for the container has been created\n[PASS] 4.2  - Ensure that containers use only trusted base images\n[WARN] 4.6  - Ensure HEALTHCHECK instructions have been added to the container image\n[WARN] 4.9  - Ensure that COPY is used instead of ADD in Dockerfiles\n\n[INFO] 5 - Container Runtime\n[WARN] 5.1  - Ensure AppArmor Profile is enabled\n[PASS] 5.2  - Ensure SELinux security options are set\n[WARN] 5.4  - Ensure privileged containers are not used\n[WARN] 5.12 - Ensure the container's root filesystem is mounted as read only\n[WARN] 5.25 - Ensure the container is restricted from acquiring additional privileges\n```\n\nРезультаты бывают трёх типов: **PASS** (проверка пройдена), **WARN** (предупреждение — требует внимания), **FAIL** (грубое нарушение). Для банковских систем цель — устранить все FAIL и минимизировать WARN. Каждый WARN должен быть либо устранён, либо задокументирован как принятый риск (с обоснованием).\n\n**Автоматизация Docker Bench в CI\u002FCD (Jenkinsfile):**\n\n```groovy\nstage('Docker Bench Audit') {\n    steps {\n        sh '''\n            docker run --rm \\\n                -v \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro \\\n                -v \u002Fetc:\u002Fetc:ro \\\n                docker\u002Fdocker-bench-security \\\n                -l \u002Fdev\u002Fstdout 2>&1 | tee bench-results.txt\n\n            # Проверить наличие FAIL — если есть, прервать пайплайн\n            if grep -q \"\\\\[FAIL\\\\]\" bench-results.txt; then\n                echo \"Docker Bench found FAIL results!\"\n                exit 1\n            fi\n        '''\n    }\n}\n```\n\n**kube-bench — аналог для Kubernetes:**\n\nkube-bench выполняет проверку кластера Kubernetes на соответствие **CIS Kubernetes Benchmark**. Проверяет конфигурацию API-сервера, etcd, kubelet, controller-manager и scheduler.\n\n```bash\n# Запуск kube-bench как Job в кластере\nkubectl apply -f https:\u002F\u002Fraw.githubusercontent.com\u002Faquasecurity\u002Fkube-bench\u002Fmain\u002Fjob.yaml\nkubectl logs job\u002Fkube-bench\n```\n\nkube-bench проверяет, в частности: включено ли шифрование etcd, правильно ли настроен RBAC, используется ли TLS для всех компонентов control plane, включён ли audit logging.","","middle",[15,16,17,18,19],"kube-bench","audit","container-security","cis-benchmark","docker",[],null,{"title":23,"description":24,"ogTitle":23,"ogDescription":25,"keywords":26,"schemaAnswer":32,"featuredSnippetReady":33},"Docker Bench for Security: аудит CIS Benchmark — Gymterview","Что такое Docker Bench for Security? Автоматический аудит Docker-хоста по CIS Docker Benchmark. Категории проверок, интерпретация результатов, kube-bench для Kubernetes.","Docker Bench for Security — инструмент аудита безопасности Docker по CIS Benchmark: категории проверок, автоматизация в CI\u002FCD и kube-bench для Kubernetes.",[27,28,29,15,30,31],"Docker Bench for Security","CIS Docker Benchmark","аудит безопасности Docker","CIS Kubernetes Benchmark","безопасность контейнеров","Docker Bench for Security — автоматизированный инструмент аудита, проверяющий конфигурацию Docker-хоста и контейнеров на соответствие CIS Docker Benchmark. Проверяет 7 категорий: конфигурацию хоста, настройки Docker daemon, права на конфигурационные файлы, образы и Dockerfile (USER, HEALTHCHECK), параметры runtime (privileged, host network, read-only FS), операционную безопасность и Docker Swarm. Результаты — PASS, WARN и FAIL. Для Kubernetes существует аналог kube-bench, проверяющий CIS Kubernetes Benchmark.",true]