特定のポートが閉じていても、iptablesがまだパケットを受け入れるのはなぜですか?

特定のポートが閉じていても、iptablesがまだパケットを受け入れるのはなぜですか?

私はLinux Mintを使用しています。

ルータにパブリックスタティックアドレスを割り当て、急流用に指定されたポートを手動で転送したため、UPnPを経由するのではなく、ルータとトランスポートビットトレントアプリケーションの両方でUPnPを無効にしました。

これは、トランスポートディスプレイポートが開いているという意味で機能します。しかし、私が知っているのは輸送が中断された場合、港も閉鎖しなければなりません。

iptablesただし、転送が閉じても、新しいパケットは引き続き許可されます。

なぜ?どうですか?

ここにいるiptables -L -v

# iptables -L -v

Chain INPUT (policy DROP 7514 packets, 585K bytes)
 pkts bytes target     prot opt in     out     source               destination         
  251 10040 DROP       all  --  any    any     anywhere             anywhere             ctstate INVALID
 4330  371K DROP       icmp --  any    any     anywhere             anywhere            
    0     0 DROP       igmp --  any    any     anywhere             anywhere            
 4394  850K ACCEPT     all  --  lo     any     anywhere             anywhere            
1324K  462M ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED
 6751  415K ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:56874

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1484K packets, 2391M bytes)
 pkts bytes target     prot opt in     out     source               destination         

1分後も同じです。

# iptables -L -v

Chain INPUT (policy DROP 7869 packets, 611K bytes)
 pkts bytes target     prot opt in     out     source               destination         
  251 10040 DROP       all  --  any    any     anywhere             anywhere             ctstate INVALID
 4330  371K DROP       icmp --  any    any     anywhere             anywhere            
    0     0 DROP       igmp --  any    any     anywhere             anywhere            
 4437  863K ACCEPT     all  --  lo     any     anywhere             anywhere            
1324K  462M ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED
 6983  430K ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:56874

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1485K packets, 2391M bytes)
 pkts bytes target     prot opt in     out     source               destination 

コメントは次のとおりです。

netstat -nap | grep <my port number here>

このコマンドは空の結果を表示します。

ベストアンサー1

ポートが閉じられたときにパケットをドロップすることは、iptablesの操作ではなく、通常のネットワークスタックの操作です(iptablesがないようなものです)。 (正確に言えば、ネットワークスタックはパケットを破棄するのではなく、相手に何も聞いていないことを丁寧に知らせます。)

iptablesがパケットを許可しても、待機中のエントリがあるという意味ではありません。

更新:コメントで述べたように危険があります。しかし、これは閉じたポート自体からパケットを受け入れるのではありません違い他のすべてのポートと比較したこのポートの動作:削除と拒否。解決策は落ちない他のすべてのポートにはパケットがありますが、拒否するこれは、ネットワークスタックが実行する作業と同じです。

パケットがTCPの場合、-j REJECT --reject-with tcp-resetUDPや他のポートベースのプロトコルに使用されます-j REJECT --reject-with icmp-port-unreachable。すべての単純なDROPは2つのルールに分割されるので、拒否のための新しいチェーンを作成し、以前に削除したいチェーンに移動することをお勧めします。

ポートマッパーを使用してnmap結果を確認してください。

おすすめ記事