Docker は、アプリケーションと依存関係をコンテナにパッケージ化して移植性を高める機能があるため、開発者やオペレータにとって不可欠なツールの 1 つとなっています。ただし、Docker を使用する場合はコンテナのセキュリティに注意する必要があります。注意しないと、コンテナ内のセキュリティ ホールが悪用され、データ漏洩、サービス拒否攻撃、その他の危険につながる可能性があります。この記事では、Docker を使用してコンテナーのセキュリティ スキャンと脆弱性修復を行う方法について説明し、具体的なコード例を示します。
コンテナ セキュリティ スキャンとは、コンテナ内の潜在的なセキュリティ脆弱性を検出し、それらを修復するためのタイムリーな措置を講じることを指します。コンテナ内のセキュリティ スキャンは、いくつかのオープン ソース ツールを使用して実現できます。
1.1 セキュリティ スキャンに Docker Bench を使用する
Docker Bench は、Docker コンテナーの基本的なセキュリティ チェックを実行できるオープン ソース ツールです。コンテナーのセキュリティ スキャンに Docker Bench を使用する手順は次のとおりです。
(1) まず、Docker Bench をインストールします
docker pull docker/docker-bench-security
(2) 次に、コンテナーをスキャンします
docker run -it --net host --pid host --userns host --cap-add audit_control -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST -v /etc:/etc:ro -v /var/lib:/var/lib:ro -v /usr/bin/docker-containerd:/usr/bin/docker-containerd:ro -v /usr/bin/docker-runc:/usr/bin/docker-runc:ro -v /usr/lib/systemd:/usr/lib/systemd:ro -v /var/run/docker.sock:/var/run/docker.sock:ro --label docker_bench_security docker/docker-bench-security
( 3 ) スキャンが完了するまで待ち、レポートを表示します。
スキャンが完了したら、レポートを表示して、対応する修復措置を講じることができます。
1.2 Clair によるセキュリティ スキャン
Clair は、Docker イメージとコンテナをスキャンしてセキュリティの脆弱性を検出できるオープン ソース ツールです。コンテナーのセキュリティ スキャンに Clair を使用する手順は次のとおりです。
(1) まず、Clair
docker pull quay.io/coreos/clair:latest
をインストールします (2) 次に、Clair
docker run -p 6060:6060 -d --name clair quay.io/coreos/clair:latest
を起動します (3)次に、clairctlをインストールします
go get -u github.com/jgsqware/clairctl
(4) 次に、clairctlを使用してコンテナをスキャンします
clairctl analyze -l CONTAINER_NAME
(5) スキャンが完了するまで待ち、レポートを表示します
スキャンが完了すると、ブラウザから Clair の Web ページにアクセスしてレポートを表示できます。
コンテナ脆弱性修復とは、コンテナのセキュリティを確保するために、コンテナ内に存在するセキュリティ脆弱性を修復することを指します。コンテナーの脆弱性の修復は、いくつかのオープンソース ツールを使用して実現できます。
2.1 脆弱性修復に Docker Security Scanning を使用する
Docker Security Scanning は、Docker が公式に提供するセキュリティ スキャン ツールで、Docker イメージ内のセキュリティの脆弱性を検出し、修復の提案を提供します。 Docker Security Scanning を使用してコンテナの脆弱性を修復する手順は次のとおりです。
(1) まず、Docker Security Scanning を有効にします
Docker Hub にアカウントを登録した後、Docker Security Scanning を有効にします。セキュリティセンター 。
(2) 次に、イメージを Docker Hub にアップロードします
docker push DOCKERHUB_USERNAME/IMAGE_NAME:TAG
(3) Docker Security Scanning がスキャンを完了するまで待ち、レポートを表示します
Docker にログインしますブラウザー経由でハブを実行し、Docker Security Scanning のスキャン レポートを表示して修復の提案を確認します。
2.2 脆弱性修復に Clair を使用する
Clair は、コンテナのセキュリティ スキャンに加えて、コンテナの脆弱性の修復にも使用できます。 Clair を使用してコンテナの脆弱性を修復する手順は次のとおりです。
(1) まず、Clair
docker run -p 6060:6060 -d --name clair quay.io/coreos/clair:latest
(2) 次に、clairctl
go get -u github.com/jgsqware/clairctl
をインストールします (3)次に、clairctl を使用してコンテナをスキャンします。
clairctl analyze -l CONTAINER_NAME
(4) 最後に、clairctl を使用して修復操作を実行します。
clairctl fix -l CONTAINER_NAME
Clair は修復の提案のみを提供し、脆弱性を自動的に修復することはできないことに注意してください。したがって、修復操作は手動で行う必要があります。
概要
コンテナ セキュリティ スキャンと脆弱性修復は、コンテナ セキュリティ管理における重要なリンクです。この記事では、Docker Bench と Clair という 2 つのオープンソース ツールに基づいてコンテナーのセキュリティ スキャンと脆弱性を修復する方法を紹介し、具体的なコード例を示します。これらのツールを使用すると、コンテナ内の潜在的なセキュリティ脆弱性を迅速に発見して修復できるため、コンテナのセキュリティを確保できます。
以上がDocker を使用してコンテナーのセキュリティ スキャンと脆弱性修復を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。