単純なファイアウォールufw
を使用して、ポートとサービスを拒否および拒否するように設定できます。
例えば:
ufw deny www
ufw reject www
誰かが私に2つのアプローチの違いを説明できますか?
"deny"はDROP iptables ターゲットを使用し、着信パケットを静かに破棄します。
"reject"はREJECT iptablesターゲットを使用します。これは、拒否されたパケットの送信者にエラーパケットを送り返します。
fwマニュアルページ から:
単にトラフィックを無視するのではなく、拒否されたときに送信者に知らせることが望ましい場合があります。このような場合は、拒否の代わりに拒否を使用してください。
サーバーに接続しようとしているユーザー/プログラムの観点から:
"deny"は、接続試行がタイムアウトするまで、しばらくしてからプログラムを待機させます。
「拒否」は、即時かつ非常に有益な「接続拒否」メッセージを生成します。
編集:
セキュリティの観点からは、「拒否」は少しの方が好ましいです。これにより、潜在的な攻撃者からのすべての接続が強制的にタイムアウトになり、サーバーの調査が遅くなります。
経験豊富な攻撃者および/または断固とした攻撃者は実際には影響を受けません-彼らは通常忍耐強く、とにかく減速に対処するいくつかの方法があります。しかし、nmap
のマニュアルページを読むことさえしなかった、たまになりたくないことを思いとどまらせるかもしれません。
「拒否」は、エラーパケットを送信しないことにより、アップリンクの帯域幅を少し節約します。これは、DoS攻撃が単にエラーパケットでアップリンクを飽和させる可能性がある非対称ネットワーク接続では重要になる可能性があります。
一方、あなたが彼らのつながりを拒否していることを人々に知らせることは、もう少し丁寧です。接続が拒否された場合は、それがおそらくポリシーの永続的な決定であることを人々に知らせます。短期的なネットワークの問題。