サーバーでICMPを許可しない理由は何ですか?


11

EC2インスタンスでは、ICMPサービスがデフォルトで無効になっています。理由は完全にはわかりませんが、潜在的なセキュリティリスクになる可能性があるためだと思います。現時点では、サーバーを再起動しているときにのみエコー応答を有効にして、サーバーが稼働していることを確認していますが、オンラインになると再び無効にします。必要ですか?一般にICMPを無効にする理由は何ですか?

回答:


18

ICMPは、コマンドの大規模なコレクションで構成されています。これらすべてを許可しないと、ネットワークが奇妙な方法で破壊されます。

ICMPを使用すると、「traceroute」や「​​ping」(ICMPエコー要求)などが機能します。したがって、その部分は通常の診断に非常に役立ちます。また、最新のDNSサーバーでは、別のマシンを選択してクエリを高速化できるDNSサーバー(ポート到達不能)を実行するときのフィードバックにも使用されます。

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

ICMPの大部分を有効にする理由は、おそらくいくつかあります。

今、あなたの質問としてなぜ無効にするのですか:

ICMPの一部を無効にする理由は次のとおりです。

  • ICMPエコー要求(別名ping)を使用してホストを攻撃する前にホストが生きているかどうかを確認する古いスタイルのワームからの保護。最近、最近のワームはとにかくそれを試み、それはもはや効果的ではありません。
  • インフラストラクチャを非表示にします。これを行う場合は、ネットワークの端でブロックしてください。すべてのコンピュータに搭載されているわけではありません。これは、何かがうまくいかず、通常の分析ツールがすべて失敗したときに、管理者が欲求不満で頭からすべての髪を引っ張る原因になるだけです。(この場合、Amazonはクラウドの端でそれをブロックする可能性があります)。
  • ICMPに基づくサービス拒否攻撃。これらを他のDOS攻撃と同じように処理します:レート制限。
  • 唯一有効なもの:安全でないネットワークを使用している場合は、ルーターがコマンドを変更したことをブロックまたは無効にすることができます。Obfix:安全なネットワークでサーバーを使用します。

ICMPをブロックするようにアドバイスする「サーバー強化」のマニュアルがあることに注意してください。それらは間違っています(または少なくとも十分に詳細ではありません)。これらは、MACフィルタリングまたはSSIDの非表示を介したワイヤレス「セキュリティ」と同じカテゴリに分類されます。


1

ICMPブロックはいくつかの理由で行われますが、ほとんどの場合、ネットワークを識別してプロファイルしようとするプローブから情報を隠すためです。ICMPトラフィックをエクスプロイトの一部として使用するルーターおよび公的にアクセス可能なエンドシステムに対する攻撃には、いくつかの種類があります。

あなたのケースでは、おそらくエコー応答を許可することができますが、より多くのプローブに気付かれるでしょう。pingベースのDDOSやsmurf攻撃のような攻撃は、最近ほとんど軽減されています。

http://en.wikipedia.org/wiki/Denial-of-service_attack#ICMP_flood


0

iptables永続的にブロックする代わりにを使用して、ICMPリクエストのフラッディングを防ぐことをお勧めします。

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/minute --limit-burst 100 -j ACCEPT

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.