はじめに
ASA のインタフェースへ PING を実行した際に、ASA の ICMP トラフィック処理・制御について紹介します。本ドキュメントは、ASA バージョン9.8(4)15を用いて確認、作成しております。
デフォルト動作
デフォルト動作は、ASA のインターフェイスに着信するすべての ICMP トラフィックを許可します。なお、トラフィックが着信するインターフェイス宛の ICMP トラフィックのみ応答します。
以下の様に ASA が直収しているインターフェイス以外宛の ICMP トラフィックには応答しません。
![図1.PNG 図1.PNG](/t5/image/serverpage/image-id/64436i58094A8E7E77C455/image-size/large?v=v2&px=999)
・NG: inside側のPC(192.168.1.1)から ASAのoutside interface宛(inside interface以外)へのpingには 応答しません。
ICMP トラフィックの制御
ICMP コマンド(ICMP アクセスルール)より、ASA のインタフェースへ着信する ICMP トラフィックを制御できます。ASA はデフォルトで全ての その対象インターフェイスの直収送信元からの ICMP トラフィックに応答します。
設定方法
icmp { permit | deny } ip_address net_mask [ icmp_type ] if_name
no icmp { permit | deny } ip_address net_mask [ icmp_type ] if_name
※ICMP トラフィックのみが対象となり Interface 毎に設定します。ICMP アクセスルールが設定されている場合、ASA は指定された ICMP トラフィックを照合し、そのインターフェイス上の他のすべての ICMP トラフィックに関して暗黙拒否を適用します。設定を削除するには、no 形式を使用します。
PING 動作確認
以下の構成で、PC1及び PC2より、inside interface へ ping を実行。デフォルト時と ICMP コマンド設定時の動作を確認します。
![図2.PNG 図2.PNG](/t5/image/serverpage/image-id/64522iDE2AF84A40671EF3/image-size/large?v=v2&px=999)
[ デフォルト時 ]
- PC1, 2 から ASA の inside interface へ ping OK
⇒ すべて 許可となります。
[ ICMP コマンド設定例 ]
*PC1許可設定
icmp permit host 192.168.1.1 inside
ICMP コマンドと ACL の違いは?
ICMP コマンド (ICMP アクセスルール) は、ASA に着信する ICMP パケットのみが対象となります。なお、ACL (Access Control List) は、ASA の通過を許可するトラフィックを定義したものです。
![図3-3.PNG 図3-3.PNG](/t5/image/serverpage/image-id/64448iF688EC3E1E68AD2B/image-size/large?v=v2&px=999)
[ ACL で deny ip all 設定した場合 ]
access-list DENY-ALL extended deny ip any any
access-group DENY-ALL in interface inside
※なお、デフォルトで PC1から server へ PING 疎通はできません。ASA を通過する PING 疎通確認について下記で紹介します。
ASAを通過するPING疎通確認
PC1 より、server へ ping を実行。デフォルト動作及び PING 疎通のために必要な設定について紹介します。
[ デフォルト時 ]
高いセキュリティ レベルのインターフェイスから低いセキュリティ レベルのインターフェイスへの通信(発信)は暗黙的に許可されます。また 低いセキュリティ レベルのインターフェイスから高いセキュリティ レベルのインターフェイスへの通信は拒否されます。
![ping1.PNG ping1.PNG](/t5/image/serverpage/image-id/64465iF728B1F7A1C2A0B7/image-size/large?v=v2&px=999)
・ PC1 (192.168.1.1) から server (192.168.2.3)へ ping NG
⇒ ステートレスな通信のため、戻りの ICMP パケットは、セキュリティ レベル(低⇒高)により拒否されます。
%ASA-3-106014: Deny inbound icmp src outside: 192.168.2.3 dst inside: 192.168.1.1 (type 0, code 0)
[ ICMP Inspection設定 ]
ASA はデフォルトで inspect icmp が無効になっているため、ICMP はステートレスな通信となります。inspect icmp 機能を class inspection_default 配下に有効化することで ICMP の戻りパケットの自動許可が可能です。
policy-map global_policy
class inspection_default
inspect icmp <--- デフォルトでICMP戻りパケットの動的許可を行う場合は当設定を追加
![inspect icmp.PNG inspect icmp.PNG](/t5/image/serverpage/image-id/64490iF5A63504E58E5994/image-size/large?v=v2&px=999)
・ PC1 (192.168.1.1) から server (192.168.2.3)へ ping OK
⇒ ステートフル通信となり、戻りのICMPパケットは許可されます。
※ICMP インスペクション エンジンを使用すると、ICMP トラフィックが「セッション」を持つようになるため、TCP トラフィックや UDP トラフィックのように検査することが可能になります。ICMP インスペクション エンジンを使用しない場合は、ACL で ICMP が ASA を通過するのを禁止することを推奨します。ステートフル インスペクションを実行しないと、ICMP がネットワーク攻撃に利用される可能性があります。ICMP インスペクション エンジンは、要求ごとに応答が 1 つだけであること、シーケンス番号が正しいことを確認します。
・参考:Cisco ASA シリーズ コマンド リファレンス
Cisco ASA and ICMP Inspection
参考情報
Cisco ASA シリーズ コマンド リファレンス
https://www.cisco.com/c/ja_jp/td/docs/security/asa/asa-command-reference/I-R/cmdref2/i1.html
Cisco ASA and ICMP Inspection
https://community.cisco.com/t5/-/-/ba-p/3773485
Cisco ASA Series Firewall CLI Configuration Guide
https://www.cisco.com/c/en/us/td/docs/security/asa/asa98/configuration/firewall/asa-98-firewall-config/access-rules.html#ID-2124-00000263
ファイアウォール トラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161736
Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733