私はufwにいくつかのルールを設定しましたが、何もブロックしていないと思います。これが現在のステータスです。
~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
27015:27115/udp ALLOW IN Anywhere
27015:27115/tcp ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
27015:27115/udp (v6) ALLOW IN Anywhere (v6)
27015:27115/tcp (v6) ALLOW IN Anywhere (v6)
ご覧のとおり、デフォルトでは着信接続を拒否し、特定のポートのみを許可しています。それでも、ポート8083に新しいサービスをセットアップしただけで、外部からアクセスできます。なぜそうなのですか?
必要に応じて、この新しいサービスを実行するためにDockerコンテナーを使用しました。
のように見えます
DockerはIPTablesを直接改ざんします
。 --iptables = falseをDockerデーモンに追加することで、この動作を上書きすることが可能です。
/ etc/default/dockerと ncomment DOCKER_OPTS行を編集します。
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"
著者は次のように結論しました:
- UFWはiptablesの真の状態を通知しません(衝撃的ではありませんが、それでも変わりません)。
- 公開したくないものに対しては、Dockerで-pオプション(または-P)を使用しないでください。
- ループバックインターフェイスまたは内部IPのいずれかにのみバインドします。