Docker
TMA-DOCKER-5.8
Ensure privileged ports are not mapped within containers
中レベル 1自動docker
説明
Mapping container ports to host ports below 1024 lets containers occupy ports normally reserved for privileged host services. The audit inspects every running container (docker ps -q) and prints the offending names; a host with no running containers is compliant.
チェック方法
監査方法: シェルコマンド
shell
ids=$(docker ps -q) || exit 1; [ -z "$ids" ] && { echo compliant; exit 0; }; out=$(docker inspect --format '{{.Name}}{{range $p, $c := .NetworkSettings.Ports}}{{range $c}} {{.HostPort}}{{end}}{{end}}' $ids) || exit 1; bad=$(printf '%s\n' "$out" | awk '{for(i=2;i<=NF;i++) if($i+0>0 && $i+0<1024) print $1" "$i}'); [ -z "$bad" ] && echo compliant || printf '%s\n' "$bad"- 期待される出力
compliant
修正方法
修正方法: ガイダンスまたは IaC パッチ
Republish the container on a host port >= 1024 (docker run -p 8080:80 ...) and remove privileged port mappings from compose files.
プロパティ
- オペレーティングシステム
- すべて
- タグ
- dockerruntimenetwork
- 参照
- CIS Docker Benchmark v1.9.0 - 5.8 Ensure privileged ports are not mapped within containers
このホストをチェック
監査が許可されているマシンで実行してください。スキャンは読み取り専用です。
shell
tmaegis scan --target docker