閉じたポートへのパケットを拒否するのではなくドロップするにはどうすればよいでしょうか?

閉じたポートへのパケットを拒否するのではなくドロップするにはどうすればよいでしょうか?

閉じたポートに接続すると、「接続が拒否されました」というメッセージが表示されます。Ubuntu 14.04 でこの応答の送信を無効にしたいです。

できますか?

答え1

これは、 iptables の DROP と REJECT を使用して実行できます。

構文

iptables -option [チェーン] [ルール] -j [ターゲット]

拒否する

iptables -P INPUT REJECT --reject-with icmp-host-prohibited

落とす

iptables -P INPUT DROP

注意: -j-P オプションでは使用されません。編集する前に iptables のドキュメントを参照してください。https://help.ubuntu.com/community/IptablesHowTo?action=show&redirect=Iptables#ファイアウォールを無効にする

ポート22を使用する例(ここでは -j を使用します)

拒否する

iptables -A INPUT -p tcp ! --dport 22 -j REJECT --reject-with icmp-host-prohibited

またはDROPで

iptables -A INPUT -p tcp ! --dport 22 -j DROP 

IMOは拒否がドロップよりも好ましい

Drop は Reject よりも安全ではありません (「Shields up」と書かれているにもかかわらず)。

  • クラッカーは「タイムアウト」を尊重しないので、実際にはクラッカーの速度が低下することはありません。
  • Drop は、応答がないため、クラッカーに IP アドレスが存在することを伝えます。
  • nmap や map などのツールを使用して、LAN 上のコンピューターをテストしてください。参考文献

見るhttp://bodhizazen.com/Tutorials/iptables

そしてhttp://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

iptables のデバッグにサポートが必要な場合は、ルールの構文と順序の両方が重要なので、ルールのセット全体を投稿してください。

関連情報