Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
docker-bench-security — Docker Bench for Security는 프로덕션 환경에서 Docker 컨테이너를 배포할 때 수십 가지 일반적인 모범 사례를 검사하는 스크립트입니다. | Kitploit
도구/GitHubGitHub/docker/docker-bench-security
Vulnerability ScannersContainer SecurityConfiguration AuditingDevSecOps
GitHubdocker/docker-bench-security

docker-bench-security

Docker Bench for Security는 프로덕션 환경에서 Docker 컨테이너를 배포할 때 수십 가지 일반적인 모범 사례를 검사하는 스크립트입니다.

저장소 보기
9.7k1.0k63개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Docker Bench for Security

Docker Bench for Security 실행 중

Docker Bench for Security는 프로덕션 환경에서 Docker 컨테이너를 배포할 때 수많은 일반적인 모범 사례를 확인하는 스크립트입니다. 모든 테스트는 자동화되어 있으며, CIS Docker Benchmark v1.6.0을 기반으로 합니다.

이 도구는 오픈소스 유틸리티로 제공되어, Docker 커뮤니티가 호스트와 Docker 컨테이너를 이 벤치마크에 대해 간편하게 자가 평가할 수 있도록 합니다.

릴리스CIS
1.6.01.6.0
1.5.01.5.0
1.3.61.4.0
1.3.51.2.0
1.3.31.1.0
1.3.01.13.0

Docker Bench for Security 실행하기

기본 호스트에서 실행하기

기본 호스트에서 다음 명령어로 스크립트를 실행할 수 있습니다:

root@kitploit:~
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sudo sh docker-bench-security.sh

참고: jq는 선택 사항이지만 권장되는 종속성입니다.

Docker로 실행하기

Docker 이미지 빌드하기

컨테이너를 직접 빌드하고 실행하려면 두 가지 옵션이 있습니다:

  1. Docker Build 사용:
root@kitploit:~
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker build --no-cache -t docker-bench-security .

그리고 아래 명시된 대로 적절한 docker run 명령을 실행합니다.

  1. Docker Compose 사용:
root@kitploit:~
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security

참고: docker/docker-bench-security 이미지는 최신 상태가 아니며 수동 빌드가 필요합니다. 자세한 내용은 #405를 참조하세요.

이 컨테이너는 벤치마크의 일부가 실행 중인 호스트에 적용되므로, 호스트의 파일 시스템, PID 및 네트워크 네임스페이스를 공유하는 등 많은 권한으로 실행됩니다.

컨테이너 사용하기

root@kitploit:~
docker run --rm --net host --pid host --userns host --cap-add audit_control \
    -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
    -v /etc:/etc:ro \
    -v /usr/bin/containerd:/usr/bin/containerd:ro \
    -v /usr/bin/runc:/usr/bin/runc:ro \
    -v /usr/lib/systemd:/usr/lib/systemd:ro \
    -v /var/lib:/var/lib:ro \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --label docker_bench_security \
    docker-bench-security

운영 체제에 따라 공유 볼륨을 조정하는 것을 잊지 마세요. 몇 가지 예는 다음과 같습니다:

  1. Ubuntu에서는 docker.service와 docker.secret 파일이 기본적으로 /lib/systemd/system 폴더에 위치합니다.
root@kitploit:~
docker run --rm --net host --pid host --userns host --cap-add audit_control \
    -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
    -v /etc:/etc:ro \
    -v /lib/systemd/system:/lib/systemd/system:ro \
    -v /usr/bin/containerd:/usr/bin/containerd:ro \
    -v /usr/bin/runc:/usr/bin/runc:ro \
    -v /usr/lib/systemd:/usr/lib/systemd:ro \
    -v /var/lib:/var/lib:ro \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --label docker_bench_security \
    docker-bench-security
  1. macOS에서는 /etc/hostname 파일이 없으므로 먼저 생성해야 합니다. 또한 macOS의 Docker Desktop에는 /usr/lib/systemd나 위의 Docker 바이너리가 없습니다.
root@kitploit:~
sudo touch /etc/hostname

docker run --rm --net host --pid host --userns host --cap-add audit_control \
    -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
    -v /etc:/etc \
    -v /var/lib:/var/lib:ro \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --label docker_bench_security \
    docker-bench-security

참고

Docker bench를 실행하려면 Docker 1.13.0 이상이 필요합니다.

배포판에 auditctl이 없는 경우, 감사 테스트는 /etc/audit/audit.rules 파일을 확인하여 규칙이 있는지 검사합니다.

Docker Bench for Security 옵션

root@kitploit:~
  -b           선택 사항  색상을 출력하지 않음
  -h           선택 사항  이 도움말 메시지 출력
  -l FILE      선택 사항  FILE에 로그 출력, Docker를 사용하는 경우 컨테이너 내부
  -u USERS     선택 사항  신뢰할 수 있는 Docker 사용자(쉼표로 구분)
  -c CHECK     선택 사항  특정 검사 ID 목록(쉼표로 구분)
  -e CHECK     선택 사항  제외할 특정 검사 ID 목록(쉼표로 구분)
  -i INCLUDE   선택 사항  검사할 컨테이너 또는 이미지 이름 내 패턴 목록(쉼표로 구분)
  -x EXCLUDE   선택 사항  검사에서 제외할 컨테이너 또는 이미지 이름 내 패턴 목록(쉼표로 구분)
  -t LABEL     선택 사항  검사할 컨테이너 또는 이미지 내 라벨 목록(쉼표로 구분)
  -n LIMIT     선택 사항  JSON 출력에서 항목(컨테이너, 이미지 등) 목록을 보고할 때, 보고할 항목 수를 LIMIT으로 제한합니다. 기본값 0 (제한 없음).
  -p PRINT     선택 사항  수정 조치 출력 비활성화. 기본값: 수정 조치 출력.

기본적으로 Docker Bench for Security 스크립트는 사용 가능한 모든 CIS 테스트를 실행하고, 현재 디렉터리의 log 폴더에 docker-bench-security.log.json 및 docker-bench-security.log 파일로 로그를 생성합니다.

Docker 컨테이너를 사용하는 경우 로그 파일은 컨테이너 내부 /usr/local/bin/log/ 위치에 생성됩니다. 컨테이너 실행 후 호스트에서 액세스하려면 로그 저장을 위한 볼륨을 마운트해야 합니다.

CIS 기반 검사는 check_<section>_<number> 형식으로 명명됩니다 (예: check_2_6). 커뮤니티 기여 검사는 check_c_<number> 형식입니다.

sh docker-bench-security.sh -c check_2_2는 2.2 로깅 수준이 'info'로 설정되었는지 확인 검사만 실행합니다.

sh docker-bench-security.sh -e check_2_2는 2.2 로깅 수준이 'info'로 설정되었는지 확인을 제외한 모든 사용 가능한 검사를 실행합니다.

sh docker-bench-security.sh -e docker_enterprise_configuration는 docker_enterprise_configuration 그룹을 제외한 모든 사용 가능한 검사를 실행합니다.

sh docker-bench-security.sh -e docker_enterprise_configuration,check_2_2는 docker_enterprise_configuration 그룹과 2.2 검사를 제외한 모든 사용 가능한 검사를 실행합니다.

sh docker-bench-security.sh -c container_images,container_runtime는 container_images와 container_runtime 검사만 실행합니다.

sh docker-bench-security.sh -c container_images -e check_4_5는 container_images 검사 중 4.5 Docker에 대한 Content trust가 활성화되었는지 확인을 제외한 검사만 실행합니다.

검사를 제출할 때는 해당 검사가 추가하기에 합당한 이유와 공식 문서를 포함한 정보를 제공하시기 바랍니다.

도구 다운로드