Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
docker-bench-security — Docker Bench for Securityは、本番環境でDockerコンテナをデプロイする際の一般的なベストプラクティスを数十項目チェックするスクリプトです。 | Kitploit
ツール/GitHubGitHub/docker/docker-bench-security
脆弱性スキャナーコンテナセキュリティ構成監査DevSecOps
GitHubdocker/docker-bench-security

docker-bench-security

Docker Bench for Securityは、本番環境でDockerコンテナをデプロイする際の一般的なベストプラクティスを数十項目チェックするスクリプトです。

リポジトリを見る
9.7k1.0k2ヶ月前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 イメージのビルド

自分でビルドしてコンテナを実行する場合は、次の2つのオプションがあります。

  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           optional  色を表示しない
  -h           optional  このヘルプメッセージを表示する
  -l FILE      optional  ログ出力を FILE に出力する(Docker で実行する場合はコンテナ内)
  -u USERS     optional  信頼する Docker ユーザー(カンマ区切りリスト)
  -c CHECK     optional  実行する特定のチェック ID(カンマ区切りリスト)
  -e CHECK     optional  除外する特定のチェック ID(カンマ区切りリスト)
  -i INCLUDE   optional  チェック対象とするコンテナまたはイメージ名のパターン(カンマ区切りリスト)
  -x EXCLUDE   optional  チェックから除外するコンテナまたはイメージ名のパターン(カンマ区切りリスト)
  -t LABEL     optional  チェック対象とするコンテナまたはイメージ内のラベル(カンマ区切りリスト)
  -n LIMIT     optional  JSON 出力で、アイテム(コンテナ、イメージなど)のリストを報告する際に、報告するアイテム数を LIMIT に制限する。デフォルト 0(制限なし)。
  -p PRINT     optional  修正措置の表示を無効にする。デフォルト: 修正措置を表示する。

デフォルトでは、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 Ensure the logging level is set to 'info' のみを実行します。

sh docker-bench-security.sh -e check_2_2 は、2.2 Ensure the logging level is set to '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 Ensure the logging level is set to 'info' を除くすべての利用可能なチェックを実行します。

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 は、4.5 Ensure Content trust for Docker is Enabled を除く container_images のチェックのみを実行します。

チェックを送信する際は、なぜそれが追加するのに妥当なテストであるかを説明し、その情報を裏付ける公式ドキュメントを添付してください。

ツールをダウンロード