はじめに
このドキュメントでは、ファイアウォールを通過しようとする TCP セッションに対して TCP リセットが送信された場合のシスコファイアウォールの動作について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- ASA パケット フロー
- FTDパケットフロー
- ASA/FTDパケットキャプチャ
注:この説明は、ASAおよびセキュアファイアウォールの脅威対策に適用されます。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
トラブルシュート
ファイアウォールは、ファイアウォールの通過を試みるTCPセッションのTCP Resetを送信します アクセスリストに基づいてファイアウォールによって拒否されます。また、アクセスリストによって許可されていても、ファイアウォールに存在する接続に属していないためにステートフル機能によって拒否されているパケットに対しても、ファイアウォールはリセットを送信します。
ケーススタディ1:サービスresetoutbound
が有効で、クライアントからサーバへのトラフィックが拒否される。
デフォルトでは、すべてのインターフェイスに対してサービスresetoutboundが有効になっています。このケーススタディでは、クライアントとサーバ間のトラフィックを許可するルールはありません。
ファイアウォールで設定されたキャプチャは次のとおりです。
# show capture
capture cap_I type raw-data trace trace-count 50 interface INSIDE [Capturing - 0 bytes]
match tcp host 192.168.191.250 host 10.10.20.250
capture cap_O type raw-data trace trace-count 50 interface OUTSIDE [Capturing - 0 bytes]
match tcp host 192.168.191.250 host 10.10.20.250
capture asp type asp-drop all [Capturing - 0 bytes]
match tcp host 192.168.191.250 host 10.10.20.250
Service resetoutboundはデフォルトで有効になっています。したがって、コマshow run service
ンドの出力に何も表示されない場合は、コマンドが有効になっていることを意味します。
# show run service ...
- クライアントはファイアウォールを介してサーバ10.10.20.250/17111にTCP SYNを送信します。このキャプチャのパケット番号1:
# show capture cap_I
1: 19:48:55.512500 192.168.191.250.46118 > 10.10.20.250.17111: S 3490277958:3490277958(0) win 29200
- このトラフィックを許可するACLがないため、セキュアファイアウォールはこのパケットを
acl-drop
理由でドロップします。このパケットは、asp-dropキャプチャでキャプチャされます。
# show capture cap_I packet-number 1 trace det
1: 19:48:55.512500 a2c7.1e00.0004 0050.56b3.05b1 0x0800 Length: 74
192.168.191.250.46118 > 10.10.20.250.17111: S [tcp sum ok] 3490277958:3490277958(0) win 29200
(DF) (ttl 49, id 60335)
- ファイアウォールは、送信元IPアドレスとしてサーバIPアドレスを使用してRSTパケットを送信します。このキャプチャのパケット番号2:
# show capture cap_I
1: 19:48:55.512500 192.168.191.250.46118 > 10.10.20.250.17111: S 3490277958:3490277958(0) win 29200
2: 19:48:55.512806 10.10.20.250.17111 > 192.168.191.250.46118: R 0:0(0) ack 3490277959 win 29200
ケーススタディ2:サービスresetoutboundが無効で、クライアントからサーバへのトラフィックが拒否される。
ケーススタディ2には、クライアントからサーバへのトラフィックを許可するルールがなく、サービスresetoutboundは無効になっています。
コマンドはshow run service
、service resetoutboundが無効であることを表示します。
# show run service
no service resetoutbound
- クライアントはファイアウォールを介してサーバ10.10.20.250/17111にTCP TCPを送信します。このキャプチャのパケット番号1:
# show capture cap_I
1: 19:48:55.512500 192.168.191.250.46118 > 10.10.20.250.17111: S 3490277958:3490277958(0) win 29200
2.このトラフィックを許可するACLがないため、セキュアファイアウォールはこのパケットをacl-drop
理由でドロップします。このパケットは、 asp-drop capture.
# show capture cap_I packet-number 1 trace det
1: 19:48:55.512500 a2c7.1e00.0004 0050.56b3.05b1 0x0800 Length: 74 192.168.191.250.46118 > 10.10.20.250.17111: S [tcp sum ok] 3490277958:3490277958(0) win 29200
(DF) (ttl 49, id 60335)
Subtype: log Result: DROP Config: access-group allow_all global access-list allow_all extended deny ip any any Additional Information: Result: input-interface: INSIDE input-status: up input-line-status: up output-interface: OUTSIDE output-status: up output-line-status: up Action: drop Drop-reason: (acl-drop) Flow is denied by configured rule, Drop-location: frame 0x0000561961c8333f flow (NA)/NA
3.はSYNパケットをasp-drop capture
示していますが、内部インターフェイス経由で返送されたRSTパケットはありませんcap_I capture
。
# show cap cap_I
1: 23:58:32.850755 192.168.191.250.46118 > 10.10.20.250.17111: S 3490277958:3490277958(0) win 29200
# show cap asp 1: 23:58:32.850999 192.168.191.250.46118 > 10.10.20.250.17111: S 3490277958:3490277958(0) win 29200
ケーススタディ3:サービスresetoutboundが(デフォルトで)無効になっているサービスresetinboundが(デフォルトで)無効になっている
デフォルトでは、service resetoutbound はすべてのインターフェイスに対して有効で、service resetinbound は無効です。
1.サーバは、ファイアウォールを介してクライアントにTCPパケット(SYN/ACK)を送信します。ファイアウォールには、このフロー用に構築された接続がありません。
# show capture cap_O
1: 00:22:35.111993 10.10.20.250.17111 > 192.168.191.250.46118: S 3475024584:3475024584(0) ack 3490277959 win 4140
2.リセットはファイアウォールからサーバに送信されません。このSYN/ACKパケットは、理由により通知なしに廃棄されtcp-not-syn
ます。また、でキャプチャされ asp-drop capture
ます。
# show capture cap_O packet-number 1 trace detail
1: 00:22:35.111993 a2c7.1e00.003e 0050.56b3.1ef5 0x0800 Length: 70
10.10.20.250.17111 > 192.168.191.250.46118: S [tcp sum ok] 3475024584:3475024584(0) ack 3490277959 win 4140
(DF) (ttl 255, id 62104)
Result: input-interface: OUTSIDE input-status: up input-line-status: up output-interface: INSIDE output-status: up output-line-status: up Action: drop Drop-reason: (tcp-not-syn) First TCP packet not SYN, Drop-location: frame 0x0000561961c89aaa flow (NA)/NA
# show capture asp 1: 00:22:35.112176 10.10.20.250.17111 > 192.168.191.250.46118: S 3475024584:3475024584(0) ack 3490277959 win 4140
ケーススタディ4:Service resetoutboundが(デフォルトで)無効になっているservice resetinboundが無効になっている。
デフォルトでは、service resetoutboundはすべてのインターフェイスに対して無効であり、service resetinboundもコンフィギュレーションコマンドを使用して無効になっています。
コマンドの出力には show run service
、service resetoutboundが(デフォルトで)無効になっており、service resetinboundがコンフィギュレーションコマンドで無効になっていることが表示されます。
# show run service
service resetinbound
1.サーバは、ファイアウォールを介してクライアントにTCPパケット(SYN/ACK)を送信します。
# show cap cap_O
1: 00:32:26.434395 10.10.20.250.17111 > 192.168.191.250.46118: S 3475024584:3475024584(0) ack 3490277959 win 4140
2.ファイアウォールには、このフローに対する接続が確立されておらず、ドロップされます。はasp-drop captures
、パケットを示しています。
# show capture cap_O packet-number 1 trace detail
1: 00:32:26.434395 a2c7.1e00.003e 0050.56b3.1ef5 0x0800 Length: 70
10.10.20.250.17111 > 192.168.191.250.46118: S [tcp sum ok] 3475024584:3475024584(0) ack 3490277959 win 4140
(DF) (ttl 255, id 62104)
Result: input-interface: OUTSIDE input-status: up input-line-status: up output-interface: INSIDE output-status: up output-line-status: up Action: drop Drop-reason: (tcp-not-syn) First TCP packet not SYN, Drop-location: frame 0x0000561961c89aaa flow (NA)/NA
3.サービスresetinbound以降、ファイアウォールはクライアントの送信元IPアドレスを使用してRSTパケットをサーバに送信します。
# show capture cap_O
1: 00:32:26.434395 10.10.20.250.17111 > 192.168.191.250.46118: S 3475024584:3475024584(0) ack 3490277959 win 4140
2: 00:32:26.434608 192.168.191.250.46118 > 10.10.20.250.17111: R 3490277959:3490277959(0) ack 3475024585 win 4140
関連情報