ループバックインターフェイスから着信トラフィックをブロックするようにFirewalldを設定するにはどうすればよいですか?

ループバックインターフェイスから着信トラフィックをブロックするようにFirewalldを設定するにはどうすればよいですか?

ファイアウォールを有効にして、次のように設定しました。

loopback (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: lo
  sources: 
  services: 
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
    rule family="ipv4" source address="127.0.0.0/8" port port="8080" protocol="tcp" drop
    rule family="ipv4" destination address="127.0.0.1" port port="8080" protocol="tcp" drop

ただし、実行はブロックするのではなくcurl -I localhost:8080返されます。HTTP/1.1 200 OK

ファイアウォールが無効になり、iptablesが有効になっている場合は、次の規則を使用します。

iptables -I OUTPUT -o lo -p tcp --dport 8080 -j DROP

リクエストがブロックされました!

Firewalldが期待どおりに機能しないのはなぜですか?構成は、実行および再ロード時にも持続します。

ベストアンサー1

これはうまくいきます。 RHですべて説明されています。記事。誰もがRHアカウントを持っているわけではありませんが、他の記事を見つけることはできません。

--dportsバグを修正し、OPの要件を満たすために記事の元のコマンドを変更しました。

sudo firewall-cmd --direct --add-passthrough ipv4 -I OUTPUT -d 127.0.0.0/8 -p tcp --dport 8080 -j REJECT

RHの記事ではipv6について言及していませんが、もちろんあなたの場合はloipv6を介してアクセスする可能性もブロックする必要があります。

sudo firewall-cmd --direct --add-passthrough ipv6 -I OUTPUT -d ::1/128 -p tcp --dport 8080 -j REJECT

おすすめ記事