キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
告知

 

ASA/FTD: インターフェイスACLの最大設定数と 推奨設定数について

10025
閲覧回数
10
いいね!
3
コメント

      

インターフェイスACLと設定可能数と機器影響

ASAのインターフェイスACLの設定可能数について お問い合わせを頂くことがあります。

ASAのACLの設定量に具体的な上限はありませんが、ACLの設定量が増えるほど以下の影響が発生します。

影響 説明
 パフォーマンス
低下

 ACLは上から順に処理されますが、ACL設定量が多い場合、
新規通信の精査すべきチェック項目が多くなり、その分 処理負荷が上昇します。

1つ1つの処理は最適化されており高速に行われるため、
後述の推奨最大ACE数以下の場合、問題となることは稀です。

しかし、connection per second (cps)が 非常に高い環境や、
推奨最大ACE数を大きく超過した環境、もしくは これらの複合環境の場合、
パフォーマンス影響が無視できないレベルとなることがあります。

ACLの通信処理負荷が高い場合は、show process cpu-usage non-zero コマンド
にて、 DATAPATH-X-YYY もしくは Dispatch Unit の負荷上昇を確認できます。

 メモリ圧迫

 1つ1つの設定のメモリ増加量は僅かですが、メモリ搭載量の少ない
ローエンドモデル(ASA5505やASA5506、ASAv-5など)に、
(検証用途などで) 膨大なACLを設定時に問題になることがあります。

空きメモリは show memoryコマンドで確認できます。
空きメモリが残り 10-20%を切ると、残り空きメモリが少ないと言えます。

コンパイル
処理負荷と
処理時間の上昇

 ASAは、設定変更時にACL差分コンパイル、起動時にACLフルコンパイルを行い、
コンパイル処理により ACLは最適化され、高速通信処理可能になります。
逆にコンパイルが完了するまで、ACLチェックは低速になります。

後述の推奨最大ACE数以下であれば、コンパイルは短時間で終わるため、
問題となることは稀です。

しかし、推奨最大ACE数を多きく超過する環境の場合、かつ、再起動後の
フルコンパイル発生時は、長時間のコンパイル処理が発生し、
その間 通信処理パフォーマンスの大きな低下の原因となります。

コンパイル処理中の場合は、show process cpu-usage non-zero コマンドにて、
tmach compile thread スレッドの負荷上昇を確認できます。

なお、コンパイル処理速度の改善は CSCvc33796 にて実施してます。
未対応バージョンご利用時は、CSCvc33796の修正を含む、
9.8以降や、9.6(3)以降、9.4(4)1以降、9.1(7)14以降などに
アップグレードすることで 速度改善を期待できます。

    
ACL設定可能数のハードウェア上の上限はないのですが、上述の通り、過剰な設定は、様々な問題の原因となります。そのため、基本は 各モデル毎の 後述の推奨最大設定数以下でのご利用をお奨めします。

  

  

推奨最大ACE数

各ACLは、1つ または 複数の Access Control Entry (ACE)で構成されており、ACE数は show access-list | include element コマンドで確認できます。

以下の出力例の場合、38+1+1で、合計40個のACEを利用していることがわかります。

ASA5555# show access-list | in element
access-list IN; 38 elements; name hash: 0x9f2434aa
access-list OUT; 1 elements; name hash: 0xcd7d0798
access-list OUT02; 1 elements; name hash: 0x729f2f42

 

なお、Cisco CLI Analyzer  の、File Analysis、もしくは System Diagnostics ツールを利用し、ACE数の確認も可能です。 詳しくは、CLI Analyzer ツールを使って ASA の既知の不具合や問題を検出する方法 を参照してください。


以下は モデル毎の推奨最大ACE数です。 モデル毎に、処理能力や メモリ搭載量が変わり、推奨最大ACE数も変わります。 上限を超過時は、15%のパフォーマンス低下が目安となります。 未記載のモデルは、性能の近いモデルの推奨最大ACE数を目安にしてください。 

モデル (ASA利用時) 推奨最大ACE数
ASA5505 25,000
ASA5506-X 50,000
ASA5508-X 100,000
ASA5510 80,000
ASA5512-X 100,000
ASA5515-X 200,000
ASA5516-X 250,000
ASA5520 200,000
ASA5525-X 300,000
ASA5540 375,000
ASA5545-X 500,000
ASA5550 550,000
ASA5555-X 500,000
ASA5585-X SSP10
500,000
ASA5585-X SSP20
750,000
ASA5585-X SSP40
1,000,000
ASA5585-X SSP60
2,000,000
ASA Services Module 2,000,000
FPR1010 15,000
FPR1120 125,000
FPR1140 150,000
FPR1150 250,000
FPR2110 60,000
FPR2120 100,000
FPR2130 250,000
FPR2140 500,000
FPR4110 2,000,000
FPR4115 4,000,000
FPR4120 4,000,000
FPR4125 5,000,000
FPR4140 6,000,000
FPR4145 8,000,000
FPR4150 8,000,000
FPR9300 SM-24 4,000,000
FPR9300 SM-36 6,000,000
FPR9300 SM-40 7,000,000
FPR9300 SM-44 8,000,000
FPR9300 SM-48 8,500,000
FPR9300 SM-56 9,500,000
ASAv-10 200,000 
ASAv-30 400,000
ASAv-50 750,000

なお、TACに問い合わせ頂く ほとんどのお客様は 推奨最大ACE数以下であり、ACL設定量が非常に膨大でなければ、上記推奨値を超過するケースは稀です。 

    

  

ACEの数え方

1つのACL内に、複数のIPやポートを持つオブジェクトを設定時、掛け算となりACE数が決定されます。How-to-count-ACE.JPG

  
例えば、ACLを1行設定しても、送信元と宛先のオブジェクトが 各100個のIPを含んでいる場合、100 x 100 で 1万のACEが生成されます。 ACE数を少なく保つには、ホストIPでの指定は最低限に留め、セグメント単位の制御を活用することです。 また、1年に1回など、ACLと ACEの運用状況は見直し、不要なACLやACEは削除する、など定期的なメンテナンスも、パフォーマンスを保ち、かつ (不要なACL/ACEは削除することで) セキュリティを維持するためにも、大事な運用です。

  

  

よくある質問

推奨最大ACE数を超えた場合、アラートや、通信問題が即座にでますか

アラートは出ません。 目安値のため、推奨最大ACE数を越えた瞬間、何か問題が発生することもありません。 しかし、推奨最大ACE数を超過し運用しているシステムは、ASA処理性能やメモリへの負荷が高い状況です。 特に重要なシステムの場合は、推奨最大ACE数の超過は避け、余裕ある運用を強くお奨めします。

  

推奨最大ACE数を超えても、TACサポートを受けることは可能ですか

はい、可能です。 しかし、推奨最大ACE数を超え、その影響により発生している問題の場合は、そのACE数の削減や、より上位機器へのマイグレーションをお願いさせて頂くことがあります。

  

利用していないACEの把握や削除をしたいのですが、お奨めの方法はありますか

Cisco CLI Analyzer の Unused Policy Detectorツールを使うことで、利用していないACEや ACL、Objectの一覧を出力することができます。

一旦、調査対象のACLのカウンタを clear access-list <ACL名> counter コマンドでクリア、もしくは ASAを再起動し 全体カウンタをクリアしてから、暫く通信をさせ、その後、Unused Policy Detectorツールを使うことで、効果的に暫く使われていないACEの把握が可能です。

以下は実際のツール解析結果の出力例です。
Unused-Policy-Detector-01.JPG

 
 
ACE数が非常に膨大でメモリ不足、かつリプレースも即できません・・

導入当初はACE数が少ない状態が、運用を重ねるにつれ 膨大になり、メモリ不足に陥るケースが稀に御座います。もしくは、他社様ファイアウォールから Cisco ASAにマイグレーション時、ACLの処理方法の違いから、ACEが膨大になるケースが稀にあります。

object-group-search access-control コマンドを有効化することで、ACLの最適化機能が有効となり、メモリ展開するACLテーブルを圧縮できます。また、コンパイル時間の減少も期待できます。しかし、パフォーマンス低下が発生する特殊モードであり、当モードの利用実績も多いとは言えません。 そのため、通常の運用環境での object-group-search access-controlコマンドの利用は避け、何らかのやむを得ない理由がある場合のみ利用を検討してください。また、やむ無く利用時は、9.1トレイン以降の各トレイン内の最新バージョンでの有効化をお奨めします。

ACE数が非常に膨大な場合の 基本となる対応は、ACEやACLの見直しや、処理能力やメモリに余裕のある上位モデルへのリプレースとなります。

 

FTDを利用時の ACE推奨設定数の目安はありますか

Firepower Threat Defense (FTD)の 内部Lina(ASA)エンジンのACEの推奨最大設定数の目安は、ASA利用時に比べ、FPR2100/4100/9300シリーズの場合は75%(※FPR4100/9300上位モデルを除く)、ASA5500-Xシリーズの場合は 50% が目安となります。FTDはL4-L7の細かな制御に対応している分、FTDのほうが内部処理負荷が高くなる影響です。

例えば、FPR2120でASAソフトウェア利用時は 最大10万まで、FPR2120でFTDソフトウェア利用時は 最大7万5000までが推奨となります。

例えば、ASA5545でASAソフトウェア利用時は最大50万まで、ASA5545でFTDソフトウェア利用時は 最大25万までが推奨となります。

FPR4100/9300シリーズ 上位モデルでFTD利用時の場合は以下が目安となります。

モデル (FTD利用時) 推奨最大ACE数
FPR4110 1,500,000
FPR4115 2,500,000
FPR4120 2,250,000
FPR4125 2,750,000
FPR4140 2,250,000
FPR4145 3,000,000
FPR4150 3,000,000
FPR9300 SM-24 2,250,000
FPR9300 SM-36 2,250,000
FPR9300 SM-40 6,000,000
FPR9300 SM-44 3,000,000
FPR9300 SM-48 6,000,000
FPR9300 SM-56 6,000,000

 
ASAに比べ、FTDは高度処理に対応している分 、膨大なACEを設定すればするほど、パフォーマンスや 新規コネクション生成レート(conn/sec)の低下や、設定デプロイに要する時間の上昇などの影響が発生します。これら処理パフォーマンスを大きく落とさずFTDを運用したい場合は、設定するACE数は、多くとも推奨最大ACE数の半分以下が望ましいです。FTDを利用時は、ASAに比べ ACE数はより少なく シンプルに設定・運用して頂くことをお勧めいたします。

  

   

参考情報

ASA: show processes cpu-usage を用いた CPU負荷の調査
https://supportforums.cisco.com/t5/-/-/ta-p/3157321

ファイアウォール トラブルシューティング
https://supportforums.cisco.com/ja/document/12725841

コメント
s-yusaku@netone1
Beginner

非常にわかりやすく有意な情報をアップ頂き有難うございます!

 

ただ、ASA-5545X の推奨最大ACE数は、500,000 ではなく、300,000が正しい数値かと存じます。

ご確認頂けますと幸いです。

 

https://www.cisco.com/c/en/us/products/collateral/security/adaptive-security-appliance-asa-software/qa_c67-731962.html

 

 

Taisuke Nakamura
Cisco Employee

Yusakuさん、嬉しいコメント、ありがとう御座います! 活用して頂けていると大変励みになります。

弊社内情報を確認してみましたが、ASA5545の推奨最大ACEは、今は500Kで問題なさそうです。 参照頂いている情報は、ASAの旧機種・旧バージョンのデータがベースで更新されてないのかな、と思うため、新製品も含め 当ドキュメントの内容を参考にして頂けると助かります。(新旧の情報が公開されている状態で申し訳ありません。。)

s-yusaku@netone1
Beginner

Taisukeさん

早速のコメント有難うございます!

本情報を正として確認させて頂きます。