Closed6

Dockerイメージ内の機密情報に気をつける

not75743not75743

要約

DockerHubに補完されているイメージから秘密鍵、APIキー等の機密情報が大量に発見される

どうすればいい?

  • 機密情報をコンテナイメージに格納しない
  • 機密情報が確認されたコンテナイメージを使用しない
not75743not75743

どうやったら機密情報に気付ける?

コンテナセキュリティ診断ツールを使うのがよさそうです。
dockleというツールはコンテナイメージに機密情報が混入していないか、チェックしてくれます
https://github.com/goodwithtech/dockle

not75743not75743

dockleで検知

dockleでビルドしたイメージをチェックします。
FATALで機密情報の警告がされています。

$ dockle --exit-code 1 --exit-level fatal dockle-example:test1.0
FATAL	- CIS-DI-0010: Do not store credential in environment variables/files
	* Suspicious ENV key found : AWS_ACCESS_KEY_ID on ENV AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE (You can suppress it with --accept-key)
	* Suspicious ENV key found : AWS_SECRET_ACCESS_KEY on ENV AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY (You can suppress it with --accept-key)
WARN	- CIS-DI-0001: Create a user for the container
	* Last user should not be root
INFO	- CIS-DI-0005: Enable Content trust for Docker
	* export DOCKER_CONTENT_TRUST=1 before docker pull/build
INFO	- CIS-DI-0006: Add HEALTHCHECK instruction to the container image
	* not found HEALTHCHECK statement

CIで事前にチェックできれば、コンテナリポジトリへのpush、機密情報の入ったコンテナの使用は事前に防止することができますね

このスクラップは2023/07/23にクローズされました