GNU/Linux >> Linux の 問題 >  >> Linux

なぜ ICMP をブロックしないのですか?

解決策 1:

ICMP は、「traceroute」や「​​ping」以上のものです。これは、DNS サーバー (ポートに到達できない) を実行するときのフィードバックに使用されます。これは、最新の DNS サーバーでは、別のマシンを選択してクエリを高速化するのに実際に役立つ場合があります。

前述のように、ICMP はパス MTU の検出にも使用されます。 OSが送信するTCPパケットに「DF」(フラグメント化しない)を設定している可能性があります。パスに沿った何かがそのサイズのパケットの処理に失敗した場合、ICMP の「断片化が必要な」パケットが返されることを期待しています。すべての ICMP をブロックすると、マシンは他のフォールバック メカニズムを使用する必要があり、基本的にはタイムアウトを使用して PMTU の「ブラック ホール」を検出し、正しく最適化されません。

さらに、ICMP をブロックする理由を自問する必要があります。ここで具体的に何を防ごうとしていますか? ICMP が何に使用されているかを理解していないことは明らかです。これはかなり一般的です。あなたが完全に理解していないものをブロックすることには、私は非常に慎重になります.

これについて学ぶのをさらに難しくするために、多くの一般的なファイアウォールの本は「ICMP をブロックする」と言っています。その著者が RFC を読んだことがなく、そのようなアドバイスを取り巻く問題を解決しなければならなかったことは明らかです。すべての ICMP をブロックするのは悪いアドバイスです。

さて、レート制限も害を及ぼす可能性があります。マシンがビジーの場合、またはそうでない場合でも、かなりの量の ICMP トラフィックを取得できます。私の Web サーバーは、おそらく 1 分あたり約 10 ~ 100 個の ICMP パケットを取得します。そのほとんどは PMTU ディスカバリーです。誰かが何らかの種類の ICMP パケットで私のサーバーを攻撃することを選択したとしても、実際にはそれほど大したことではありません。マシンが TCP 接続 (ssh、http、メールなど) を 1 つでも受け入れる場合、誤解されている ICMP よりも大きな攻撃ベクトルになる可能性があります。

解決策 2:

ICMP は、一連の診断 (ping、traceroute など) およびネットワーク制御 (PMTU 検出など) 機能に使用されます。無差別に ICMP をブロックすると、他の人にあらゆる種類の胸やけを引き起こします。自分が何をしているのか正確にわかっていない限り、放っておくべきです。

解決策 3:

上で述べたように、なぜ人々が ICMP をクロックするのか、私には理解できませんでした。ホストが起動しているかどうかは簡単に判断でき、DOS として使用されないように十分に制限されている限り、ホストをブロックする説得力のある理由は聞いたことがありません。 (誰かが理由を思いつくことができたら、投稿してください)

解決策 4:

DOS 攻撃として使用できないように icmp を制限してみてください。しかし、ping、mtr (Windows の場合は忘れました)、traceroute (tracert) など、icmp を使用するトラブルシューティング ツールが多すぎます。それらを完全に削除するのはばかげています。どのポートでも telnet できない場合でも、インスタンスが稼働しているかどうかを確認するのに適した方法です。

--limit 10/second
コンピューターが実際にどれだけ処理できるかを考えると、おそらく適切な制限です。

解決策 5:

これは、セキュリティ理論が示唆するものの精神に基づいた、別の視点です。セキュリティ慣行は往々にして熱心すぎるという他の投稿者の意見は正しいですが、その多くには十分な根拠があります。

一般に、セキュリティ理論では、必要なものだけを有効にするというものです。他のもの (役立つ可能性があります - ping 応答など) は、攻撃者がシステムを調査するために使用したり、まだ発見されていない脆弱性に対する攻撃ベクトルとして使用したりする可能性があります。

では、ICMP メッセージの種類を見ると、システムの通常の適切な操作には何が必要でしょうか?

  • エコー リプライ (ping) - それほどでもない
  • destination unreachable - ここにはたくさんの役立つ情報があります。これを無効にすると、一部のクライアントのサーバーへのアクセスが中断されます。
  • ソースクエンチ - 1995 年以降非推奨となり、(遅くとも) 2005 年以降にホスト実装から削除されたようです。tools.ietf.org/html/rfc6633#section-1.
  • リダイレクト - ほぼ間違いない
  • ルーターの広告と要請 - ルートを静的に構成する場合は不要で、DoS に使用される可能性があります。あなたがそれを必要としていることがわかっていない限り、私はそれをブロックします。必要な場合は、既知の可能性のあるルーターからの情報のみを受け入れるようにルールをコーディングしてください。
  • ttl 超過 - traceroute だけでなく、トラフィックが宛先に到達していないことを示します

...等々。これを本当に理解したい場合は、さまざまな ICMP タイプとその目的について学んでください。ウィキペディアの記事は良い出発点です。

実際には、本当に醜いのはリダイレクトです。すばやく便利なことだけをしたい場合は、それをブロックして残りを許可してください。

IPtables 接続追跡により、アクティブな接続に対して適切なリターン ICMP パケットが許可されることを付け加えておきます。したがって、conntrack を実行している場合は、RELATED パケットを受け入れている限り (ルールセットで ICMP をブロックする前に)、ほとんどの ICMP インバウンドをブロックできるはずです。


Linux
  1. なぜCdはプログラムではないのですか?

  2. Linux –なぜSuだけでなくSuを使用するのですか?

  3. Nullglobがデフォルトではないのはなぜですか?

  1. Linux –Setuidが機能しないのはなぜですか??

  2. なぜ`exit&`が機能しないのですか?

  3. なぜRm-rfであり、Rmdir -rfではないのですか?

  1. Linux で SOCK_SEQPACKET の MSG_EOR が表示されないのはなぜですか?

  2. MAP_GROWSDOWN マッピングが成長しないのはなぜですか?

  3. sftp rmdir が機能しないのはなぜですか?