キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
5393
閲覧回数
26
いいね!
0
コメント
Taisuke Nakamura
Cisco Employee
Cisco Employee

     

はじめに

Prefilteringは アクセスコントロールの最も最初に実施されるアクセス制御処理です。 信頼されたTCP/IP通信を Prefilterで許可、もしくは 明らかに不要な通信をPrefilterでドロップすることで、その後のより詳細な処理をバイパスができ、FTD全体の処理負荷の上昇を抑え、パフォーマンスの最適化につながります。

本ドキュメントでは、このPrefilterの動作概要と設定方法、及び 動作確認方法を紹介します。

本ドキュメントは、ASA5516の FTDバージョン 6.2.0.2で確認、作成しております。

    

FTDアーキテクチャ概要と Prefilter

Firepower Threat Defense (FTD)は、以下2種類のソフトウェアを統合した新ソフトウェアです。

  • ASAソフトウェア ・・・ L3-L4ベースのFirewall/NAT/Routing/VPN通信処理に特化
  • FirePOWERソフトウェア・・・ Snortを利用したL3-L7ベースの侵入検知/防御やアプリケーション制御やURLフィルタリング、アンチマルウェアなど高度処理に特化

以下は実際のFTDソフトウェアの通信処理アーキテクチャ概要です。ASAエンジンで主にL2-L4の高速処理を実施し、高度処理が必要な通信は Snrotエンジンに渡され、さらに詳細な複数処理が実行されます。 
 

[概要]
FTD-packet-flow-01.png

[各処理プロセス 詳細]   ※拡大イメージは添付ファイル参照

FTD-packet-flow-02.png   

FTDは様々なアクセス制御が可能ですが、以下は 主要なアクセス制御である、Prefilterと Access Control Policy(ACP)の比較です。

  Prefilter Access Control Policy
設定箇所 Policies > Access Control > Prefilter Policies > Access Control > Access Control
処理エンジン ASAエンジン ASAエンジン+Snortエンジン
(設定内容により変化)
Rule Action Fastpath
Block
Analyze

Trust, Permit, monitor,
Block, Interactive Block,
Deep Inspection など

Rule
Criteria
IPやVLAN、Port、Protcol 多数
(URLやアプリケーション情報、
地理情報なども利用可)
ロギング Fastpathと Blockのみ設定可
Analyzeは不可
(Analyzeは後続処理のロギン設定に依存)
全てのコネクションで対応
処理順序 アクセス制御処理の中で、
最初に実行
(設定内容により可変)
処理速度 高速 (設定内容により可変)

    
Prefilterの Rule Actionの Fastpathは、その後のSnortエンジンの処理をパイパスし、許可します。つまり、高速なASAエンジン内で許可とパケット転送を行います。
Prefilterの Rule Actionの Analyzeは、その後のAccess Control(Snortなど)に処理を渡します。
つまり、Prefilterは TCP/IPベースでの制御となりますが、高速に通信制御が可能です。

その為、例えば以下に該当する通信はPrefilterで高速処理(Fastpath or Block)することで、不要な通信をSnortエンジンに渡さず、パフォーマンスの最適化が可能となります。
 

Prefilterの利用ケース例

  • 信頼された大容量バックアップ通信や暗号化通信を PrefilterでFastpath
  • 明らかに不正なIPアドレスからの通信を PrefilterでBlock
  • 存在しない、もしくは 許可しないIPアドレス宛の通信を PrefilterでBlock
  • (Snort 2 利用時) 死活監視や UDP Syslogなど、Snort 再起動時にダウンさせたくない通信を PrefilterでFastpath

   

Prefilterの設定

新規設定する場合

1. Policies から Access Control > Prefilterに移動し、画面右上の"New Policy"から 任意Prefilter Policyを作成

Prefilter-01.JPG     
 

2. Add Prefilter Ruleより任意ルールを作成し保存。 例えば以下は、1.176.200.200宛の inside→outside通信を Prefilterでドロップする設定。なお、定義したルールにマッチしない場合は、後続処理(=他のAccess Control設定)に渡される

Prefilter-02.JPG

    

3. 必要に応じて、Polocies から Access Control > Access Controlに移動し、画面右上のPrefilter Policyで 項番1で設定したものを指定
Prefilter-03.JPG  

  

4. 設定の保存とデプロイを実施

 

既存ACPルールのPrefilerへの移動 (ver 7.0以降)

1. 既存ACPルールを右クリックし「Move to another policy」を選択
(※注:Prefilterに移動できるのは、 適用済みの IP/Port 制御ルールのみ)

TaisukeNakamura_0-1696426997486.png

 

2. 任意のPrefilter Policy が選択されていることを確認し「Move」をクリック

TaisukeNakamura_1-1696427029802.png

 

3. Prefilter Policyにアクセスし、ルールがACPからPrefilterに移動されたことを確認

TaisukeNakamura_2-1696427076802.png

なお、ACPルールで設定時のアクションによって、Prefilterで設定されるルールアクションは変わります。例えば、ACPで Allowを利用時は「Analyze(許可しSnortで詳細調査)」に自動変換されるため、高速許可を希望時は「Fastpath」に変更してください。

TaisukeNakamura_3-1696427142386.png

 

    

ログ確認

Prefilterの該当ルールのログ出力が有効の場合、Connection Eventより処理結果を確認できます。

Prefilter-04.JPG

     

パケットトレーサでの動作確認

想定のルールにマッチするかの動作確認は、FTDのCLIでパケットトレーサの実行と確認がとても便利です。 なお、パケットトレーサは単純なTCP/IPパケットの動作試験にしか使えないことに注意してください。 例えばACPのアプリケーションやURL検知の動作確認には利用できず、これら試験には実通信試験が必要になります。

パケットトレーサの利用方法は以下URLコンフィギュレーションガイドを参照してください。
https://www.cisco.com/c/en/us/td/docs/security/firepower/620/configuration/guide/fpmc-config-guide-v62/troubleshooting_the_system.html#id_41641

なお、コマンドラインは 従来のASAソフトウェアと大きく変わりませんので、以下ドキュメントも参考頂けます。
https://supportforums.cisco.com/t5/-/-/ta-p/3155834#toc-hId--764080770

   

Prefilterでドロップ時の出力例

> packet-tracer input inside tcp 192.168.100.1 1234 1.176.200.200 80

Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 1.176.200.200 using egress ifc outside

Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: DROP
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced deny ip ifc inside any ifc outside host 1.176.200.200 rule-id 268435457 event-log flow-start
access-list CSM_FW_ACL_ remark rule-id 268435457: PREFILTER POLICY: ASA5516-FTD
access-list CSM_FW_ACL_ remark rule-id 268435457: RULE: 1.176.200.200 block
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

     

ACPでドロップ時の出力例

> packet-tracer input inside tcp 192.168.100.1 1234 1.176.100.100 80

Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 1.176.100.100 using egress ifc outside

Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced permit tcp any host 1.176.100.100 object-group HTTP rule-id 268435459
access-list CSM_FW_ACL_ remark rule-id 268435459: ACCESS POLICY: ASA5516 - Mandatory
access-list CSM_FW_ACL_ remark rule-id 268435459: L7 RULE: 1.176.100.100-Web-Block
object-group service HTTP tcp
port-object eq www
Additional Information:
This packet will be sent to snort for additional processing where a verdict will be reached

Phase: 3
Type: CONN-SETTINGS
Subtype:
Result: ALLOW
Config:
class-map class-default
match any
policy-map global_policy
class class-default
set connection advanced-options UM_STATIC_TCP_MAP
service-policy global_policy global
Additional Information:

Phase: 4
Type: NAT
Subtype:
Result: ALLOW
Config:
object network IPv4-Private-192.168.0.0-16
nat (inside,outside) dynamic PAT-1.176.xx.xx
Additional Information:
Dynamic translate 192.168.100.1/1234 to 1.176.xx.xx/1234

Phase: 5
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 6
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: FOVER
Subtype: standby-update
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 9
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 10
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 20743, packet dispatched to next module

Phase: 11
Type: EXTERNAL-INSPECT
Subtype:
Result: ALLOW
Config:
Additional Information:
Application: 'SNORT Inspect' <--- Snort処理開始

Phase: 12
Type: SNORT
Subtype:
Result: DROP
Config:
Additional Information:
Snort Trace:
Packet: TCP, SYN, seq 442988200
AppID: service unknown (0), application unknown (0)
Firewall: block w/ reset rule, id 268435459, drop
Snort: processed decoder alerts or actions queue, drop
NAP id 2, IPS id 0, Verdict BLACKLIST, Blocked by Firewall
Snort Verdict: (black-list) black list this flow

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: (firewall) Blocked or blacklisted by the firewall preprocessor

     

許可時の出力例

> packet-tracer input inside tcp 192.168.100.1 1234 8.8.8.8 80

Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 1.0.0.100 using egress ifc outside

Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced permit ip any any rule-id 268434433
access-list CSM_FW_ACL_ remark rule-id 268434433: ACCESS POLICY: ASA5516 - Mandatory
access-list CSM_FW_ACL_ remark rule-id 268434433: L7 RULE: Permit-any-inspection
Additional Information:
This packet will be sent to snort for additional processing where a verdict will be reached

Phase: 3
Type: CONN-SETTINGS
Subtype:
Result: ALLOW
Config:
class-map class-default
match any
policy-map global_policy
class class-default
set connection advanced-options UM_STATIC_TCP_MAP
service-policy global_policy global
Additional Information:

Phase: 4
Type: NAT
Subtype:
Result: ALLOW
Config:
object network IPv4-Private-192.168.0.0-16
nat (inside,outside) dynamic PAT-1.176.xx.xx
Additional Information:
Dynamic translate 192.168.100.1/1234 to 1.176.xx.xx/1234

Phase: 5
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 6
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: FOVER
Subtype: standby-update
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 9
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 10
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 20725, packet dispatched to next module

Phase: 11
Type: EXTERNAL-INSPECT
Subtype:
Result: ALLOW
Config:
Additional Information:
Application: 'SNORT Inspect' <--- Snort処理開始

Phase: 12
Type: SNORT
Subtype:
Result: ALLOW
Config:
Additional Information:
Snort Trace:
Packet: TCP, SYN, seq 1553903749
AppID: service unknown (0), application unknown (0)
Firewall: allow rule, id 268434433, allow
NAP id 2, IPS id 1, Verdict PASS
Snort Verdict: (pass-packet) allow this packet

Phase: 13
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 1.0.0.100 using egress ifc outside

Phase: 14
Type: ADJACENCY-LOOKUP
Subtype: next-hop and adjacency
Result: ALLOW
Config:
Additional Information:
adjacency Active
next-hop mac address 503d.e59d.002c hits 4294989770

Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow

      

よくある質問

PrefilterのFastpathと Access Control PolicyのTrustは 同じ処理ですか

異なる処理となります。

PrefilterのFastpathは ASA(Lina)エンジンの処理で、最も最初に処理されます。従来のASAと同等の処理のため、L4レベル(ProtocolやIP、Port)までの制御しかできません。 制御内容がシンプルなため、軽快に高速に動作します。 また、Snort 2を利用時は VDB適用時にSnort再起動が発生しますが、Snortの再起動などによる影響を回避できるため、特に遮断したくない信頼された通信への適用をお勧めします。

 
Access Control Policy(ACP)のTrustは、Access Control Ruleの1つのActionとして処理され、その前のSnort処理である セキュリティインテリジェンスや ネットワークアナリシスポリシーなどの制御も合わせ行われます。 そのため、ACPのTrustのほうが より慎重な許可となります。 また、ACPのTrustは レイヤー7のApplicationなどのTrust設定もできます。 Access Control Ruleの処理順序について より詳しくは、Chapter: An Overview of Network Analysis and Intrusion Policiesを参照してください。 以下は処理フロー図の抜粋です。

Examine Traffic Flow.jpg

    

参考情報

Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733

FTDを経由するICMP通信の、Snort検査を行わない許可方法 (Prefilter)
https://supportforums.cisco.com/t5/-/-/ta-p/3208100

Prefiltering and Prefilter Policies
https://www.cisco.com/c/en/us/td/docs/security/firepower/620/configuration/guide/fpmc-config-guide-v62/prefiltering_and_prefilter_policies.pdf

Cisco Secure Firewall (FTD) - how to  ※FTD情報 まとめサイト
https://community.cisco.com/t5/-/-/ta-p/5024782

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします