Dockerでサーバー上で実行するサービスの一部は、プライベートIPアドレス(10.0.0.0/8、192.0.0.0/16、172.16.0.0/12 、100.64.0.0/10)。DockerコンテナからのプライベートIPへの外部への接続をブロックする
この動作は正常ですが、当社のサーバープロバイダはこのトラフィックを検出し、アラートを送信します。
iptablesでの着信ではなく、発信トラフィックのみを停止したいと考えています。
これが私たちの現在の設定です:サービスについては
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-ISOLATION all -- anywhere anywhere
DOCKER all -- anywhere anywhere
:
Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:1234
ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:1234
ドッカーは、次のルールを作成するため
-A OUTPUT -d 192.168.0.0/16 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 100.64.0.0/10 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 172.16.0.0/12 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 10.0.0.0/8 -m owner --uid-owner `id -u dockeruser` -j REJECT --reject-with icmp-port-unreachable
しかし、これは動作していないよう最後に:
Chain DOCKER-ISOLATION (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
フィードバックに感謝します。
私はiptablesのエキスパートではありませんが、起動時に '--iptables = false'をフラグとしてデーモンに渡すことで、iptablesを変更することを止めることができます。 – johnharris85
アドバイスをいただきありがとうございますが、Dockerに独自のファイアウォールルールを追加していただきたいです。 –
atm afaikのすべてかどうか。 – johnharris85