2011-02-05 16 views

答えて

46

"deny"は、着信パケットを黙って破棄するDROP iptablesターゲットを使用します。

"reject"は、拒否されたパケットの送信者にエラーパケットを返すREJECT iptablesターゲットを使用します。 ufw manual pageから

時にはトラフィックが が拒否されているときに、送信者ではなく、単にそれを無視するよりも、知っていることが望ましいです。このような場合は、拒否の代わりに拒否 を使用してください。

サーバーに接続しようとするユーザー/プログラムの観点から:

  • 接続の試行がタイムアウト、いくつかの短い時間まで待ってプログラムを続ける「拒否」後で。

  • "拒否"を指定すると、すぐに非常に有益な「Connection refused」メッセージが生成されます。

EDIT:

セキュリティの観点から、 "拒否" preferrable 少しです。潜在的な攻撃者からすべての接続を強制的にタイムアウトさせるため、サーバーの調査が遅くなります。

経験豊かな攻撃者は実際には影響を受けません。通常は辛抱強く、スローダウンに対処するにはいくつかの方法があります。しかし、偶然の熱心な人には、nmapのマニュアルページを読むことさえ気にしないかもしれません。

"拒否"は、エラーパケットを送信しないことによってアップリンク上に少しの帯域幅を節約します。これは、DoS攻撃が、通常は狭いアップリンクをエラーパケットで飽和させるような非対称ネットワーク接続では重要です。

一方、あなたが自分の接続を拒否していることを知らせるのはもう少し丁寧です。接続が拒否されていると、人々は、おそらくそれが恒久的なポリシーの決定であることを知ることができます。短期的なネットワーキングの問題。

+15

スローダウンは実際にDROPの主なセキュリティ上の利点ではありません。むしろ、攻撃者はサービスがまったく実行されていることを伝えることはできません。これは、開いているポートの広範囲のIPアドレスをスキャンしている攻撃者は、DROPを使用した場合、あなたから移動する可能性が高くなりますが、REJECTを実行すると、該当するポートのさらなる脆弱性調査のターゲットになります。何かが聞いていることが分かっています。 – JBentley

関連する問題