ファイアウォール%%拒否%%

ファイアウォール%%拒否%%

firewalld (v0.4.4.2)Debian 9のREJECT内部ネットワークで誤ったリクエストを設定しようとしています。

ただし、関連地域のデフォルトの宛先を設定すると、REJECTリクエストは引き続き削除されます。 (テストすると、接続が拒否されるのではなくタイムアウトが発生します。)

~によると文書REJECT静的に割り当てられませんが、次のようになります。

%%REJECT%% ターゲットはブロック領域で拒否するために使用されます (デフォルトのファイアウォール拒否タイプの使用) 各パケットはどのルールとも一致しません。

したがって、デフォルトの拒否タイプが間違っているようです。これをどのように変えるかわかりません。どんなアドバイスもありがとうございます。

iptables -L(切り捨て):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
INPUT_direct  all  --  anywhere             anywhere            
INPUT_ZONES_SOURCE  all  --  anywhere             anywhere            
INPUT_ZONES  all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere             ctstate INVALID
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
[...]

おそらくファイアウォールが上記の内容を使用している可能性がありますが、REJECT大丈夫ですicmp-host-prohibited。しかし、クライアントからはこのような答えを受け取りません。

iptables -vnL:

Chain IN_internal (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 IN_internal_log  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 IN_internal_deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 IN_internal_allow  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

ベストアンサー1

icmp-host-prohibitedTCP接続を拒否する一般的に予想される方法はTCP RSTパケットを介しているため、一部のオペレーティングシステムはTCP接続メッセージに正しく応答しない場合があります。 (または、一部のファイアウォールがTCP接続試行に関連するICMP応答を認識せず、フィルタリングすることもできます。)

iptablesデフォルトの拒否方法(および拡張)は、すべてのプロトコルに等しく適用される「すべてのプロトコルに適用される単一サイズ」拒否方法を試すことfirewalldです。icmp-host-prohibitedしたがって、拒否タイプを使用してTCPパケットにカスタム拒否ルールを追加できますtcp-reset

TCP拒否リッチルールの構文firewall-cmdは次のとおりです。

firewall-cmd --zone=internal --add-rich-rule='rule protocol value="tcp" reject type="tcp-reset"'

おすすめ記事