Internet Control Management Protocol(ICMP)は、ネットワークに関する情報を提供し、ネットワーク内のエラーを報告するネットワーク プロトコルです。ネットワーク管理者は ICMP を使用して、ネットワークの接続上の問題をデバッグします。ICMP
を使用してプライベート ネットワークのトポロジを発見する可能性がある侵入者から保護するために、プライベート ネットワーク内に入らないように ICMPv4 メッセージをブロックすることはできますが、その場合、ネットワーク管理者がネットワークをデバッグできなくなります。
シスコ ルータでアクセス コントロール リスト(ACL)を使用することで、ICMPv4 メッセージを完全に許可または拒否するように設定できます。ICMPv4 メッセージに対して ACL を使用する場合、メッセージのインスペクション が、設定済みの allow または deny アクションよりも優先されます。
IP プロトコルを使用する ICMPv4 メッセージは、次の 2 つのタイプに分類することができます。
サポートされている ICMPv4 パケット タイプは以下のとおりです。
Table 1. ICMPv4 パケット タイプ
パケット タイプ
|
名前
|
説明
|
0
|
エコー応答
|
エコー要求(タイプ 8)に対する応答。
|
3
|
到達不能
|
どの要求にも可能性のある応答。
|
8
|
エコー要求
|
ping または traceroute 要求。
|
11
|
時間超過
|
パケットの存続可能時間(TTL)のサイズがゼロの場合の応答。
|
13
|
タイムスタンプ要求
|
要求。
|
14
|
タイムスタンプ応答
|
タイムスタンプ要求(タイプ 13)に対する応答。
|
ICMPv4 パケット タイプ 0 と 8 は宛先に対する ping に使用されます。送信元がエコー要求パケットを送信すると、宛先はエコー応答パケットで応答します。パケット タイプ 0、8、および 11 は、ICMPv4 traceroute
に使用されます(つまり、送信されるエコー要求パケットは、TTL サイズ 1 で開始されます)。TTL サイズはホップごとに増分されます。エコー要求パケットに対し、中間ホップは時間超過パケットで応答し、最終宛先はエコー応答パケットで応答します。
ICMPv4 エラー パケットが組み込みパケットである場合、その組み込みパケットは、該当するパケットに対して設定されたプロトコルとポリシーに応じて処理されます。たとえば、組み込みパケットが TCP パケットであり、そのパケットに対して drop
アクションが設定されている場合、ICMPv4 では pass アクションを設定しているとしても、この組み込みパケットはドロップされます。
次のシナリオで、ICMPv4 パケットがファイアウォールをパス スルーするプロセスを説明します。
-
ICMPv4 パケットが送信元インターフェイスに到達します。ファイアウォールは、パケットの送信元アドレスと宛先アドレスを変更せずにそのまま使用して、パケット インスペクションを実行します。ファイアウォールは IP アドレス(送信元と宛先)、ICMP
タイプ、およびプロトコルを使用してセッション キーの作成およびルックアップを行います。
-
パケットがファイアウォール インスペクションに合格します。
-
リターン トラフィックが宛先インターフェイスから戻ると、ファイアウォールは ICMPv4 メッセージ タイプに応じてセッション ルックアップ キーを作成します。
-
- 応答メッセージが情報メッセージの場合、ファイアウォールはパケットの送信元アドレスと宛先アドレスを変更せずにそのまま使用して、パケット インスペクションを実行します。ここで、宛先ポートは ICMPv4 メッセージの要求タイプです。
- 応答メッセージが ICMPv4 エラー メッセージの場合、ファイアウォールは ICMP エラー パケットに含まれるペイロード パケットを使用して、セッション ルックアップ用のセッション キーを作成します。
-
ファイアウォール セッション ルックアップが成功すると、パケットはファイアウォール インスペクションに合格します。