Dockerコンテナのポートをホストにマップすると危険?
お断り
本記事は古いです。
今は –expose と -port を適切に使い分けることで回避できます。
ただし、docker が iptables を自動的に設定しているのは変わらないです。
以下の記事がわかりやすかったです。
docker と ufw の設定が独立なせいで無駄にポートが開いてしまう件と、解決するための docker run オプションの記法について
https://qiita.com/jqtype/items/9574ef74868b73323939
以下、古い記述
具体的に何が危険なのか
コンテナのポートをホストにマップした場合( -p 80:80 )
そのポートは、ufw(ファイアウォール)の制限を受けません。
ようするに、そのポートは外からアクセス可能です。
ではどうすれば?
/etc/default/docker に以下を追記して下さい。
1 | `DOCKER_OPTS="--iptables=false" |
参考にした URL
http://blog.viktorpetersson.com/post/101707677489/the-dangers-of-ufw-docker
所感
これを知らなかったので、Tomcat が Worldwide に公開されてたとか…恐ろしい