2018-05-01 07:17 PM 2024-09-18 02:52 PM 更新
ASAのインターフェイスACLの設定可能数について お問い合わせを頂くことがあります。
ASAのACLの設定量に具体的な上限はありませんが、ACLの設定量が増えるほど以下の影響が発生します。
影響 | 説明 |
パフォーマンス 低下 |
ACLは上から順に処理されますが、ACL設定量が多い場合、 1つ1つの処理は最適化されており高速に行われるため、 しかし、connection per second (cps)が 非常に高い環境や、 ACLの通信処理負荷が高い場合は、show process cpu-usage non-zero コマンド |
メモリ圧迫 |
1つ1つの設定のメモリ増加量は僅かですが、メモリ搭載量の少ない 空きメモリは show memoryコマンドで確認できます。 |
コンパイル 処理負荷と 処理時間の上昇 |
ASAは、設定変更時にACL差分コンパイル、起動時にACLフルコンパイルを行い、 後述の推奨最大ACE数以下であれば、コンパイルは短時間で終わるため、 しかし、推奨最大ACE数を多きく超過する環境の場合、かつ、再起動後の コンパイル処理中の場合は、show process cpu-usage non-zero コマンドにて、 なお、コンパイル処理速度の改善は CSCvc33796 にて実施してます。 |
ACL設定可能数のハードウェア上の上限はないのですが、上述の通り、過剰な設定は、様々な問題の原因となります。そのため、基本は 各モデル毎の 後述の推奨最大設定数以下でのご利用をお奨めします。
各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数を目安にしてください。
モデル * | 推奨最大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 |
FPR1200C | 50,000 |
FPR2110 | 60,000 |
FPR2120 | 100,000 |
FPR2130 | 250,000 |
FPR2140 | 500,000 |
FPR3105 | 2,750,000 |
FPR3110 | 2,750,000 |
FPR3120 | 3,000,000 |
FPR3130 | 3,500,000 |
FPR3140 | 4,000,000 |
FPR4110 | 2,000,000 |
FPR4115 | 4,000,000 |
FPR4120 | 3,000,000 |
FPR4125 | 5,000,000 |
FPR4140 | 3,000,000 |
FPR4145 | 8,000,000 |
FPR4150 | 8,000,000 |
FPR4215 | 6,000,000 |
FPR4225 | 8,000,000 |
FPR4245 | 10,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 |
*FPR1200/3100/4200以外はASA利用時がベースの最大ACE数
なお、TACに問い合わせ頂く ほとんどのお客様は 推奨最大ACE数以下であり、ACL設定量が非常に膨大でなければ、上記推奨値を超過するケースは稀です。
また、FPR3100/4200シリーズでは、推奨最大ACE数は非公開となります。 ただ、FPR3100/4200は 従来の同レベルのモデルより CPU処理性能が大幅に向上、及び、ACLの最適化機能がデフォルト有効のため、従来モデルよりもより多量のACEを高速に処理が可能です。
1つのACL内に、複数のIPやポートを持つオブジェクトを設定時、掛け算となりACE数が決定されます。
例えば、ACLを1行設定しても、送信元と宛先のオブジェクトが 各100個のIPを含んでいる場合、100 x 100 で 1万のACEが生成されます。 ACE数を少なく保つには、ホストIPでの指定は最低限に留め、セグメント単位の制御を活用することです。 また、1年に1回など、ACLと ACEの運用状況は見直し、不要なACLやACEは削除する、など定期的なメンテナンスも、パフォーマンスを保ち、かつ (不要なACL/ACEは削除することで) セキュリティを維持するためにも、大事な運用です。
アラートは出ません。 目安値のため、推奨最大ACE数を越えた瞬間、何か問題が発生することもありません。 しかし、推奨最大ACE数を超過し運用しているシステムは、ASA処理性能やメモリへの負荷が高い状況です。 特に重要なシステムの場合は、推奨最大ACE数の超過は避け、余裕ある運用を強くお奨めします。
はい、可能です。 しかし、推奨最大ACE数を超え、その影響により発生している問題の場合は、そのACE数の削減や、より上位機器へのマイグレーションをお願いさせて頂くことがあります。
Cisco CLI Analyzer の Unused Policy Detectorツールを使うことで、利用していないACEや ACL、Objectの一覧を出力することができます。
一旦、調査対象のACLのカウンタを clear access-list <ACL名> counter コマンドでクリア、もしくは ASAを再起動し 全体カウンタをクリアしてから、暫く通信をさせ、その後、Unused Policy Detectorツールを使うことで、効果的に暫く使われていないACEの把握が可能です。
以下は実際のツール解析結果の出力例です。
導入当初はACE数が少ない状態が、運用を重ねるにつれ 膨大になり、メモリ不足に陥るケースが稀に御座います。もしくは、他社様ファイアウォールから Cisco ASAにマイグレーション時、ACLの処理方法の違いから、ACEが膨大になるケースが稀にあります。
object-group-search access-control コマンドを有効化することで、ACLの最適化機能が有効となり、メモリ展開するACLテーブルを圧縮できます。また、コンパイル時間の減少も期待できます。しかし、パフォーマンス低下が発生する特殊モードであり、当モードの利用実績も多いとは言えません。 そのため、通常の運用環境での object-group-search access-controlコマンドの利用は避け、何らかのやむを得ない理由がある場合のみ利用を検討してください。また、やむ無く利用時は、9.1トレイン以降の各トレイン内の最新バージョンでの有効化をお奨めします。
ACE数が非常に膨大な場合の 基本となる対応は、ACEやACLの見直しや、処理能力やメモリに余裕のある上位モデルへのリプレースとなります。
(2022年8月追記) ASAバージョン 9.18から object-group-search access-control がデフォルト有効となりました。ACE数の多い環境の場合、ASA 9.18 以降にアップグレードすることで、ACE数の削減や メモリ最適化が期待できます。
Firepower Threat Defense (FTD)の 内部Lina(ASA)エンジンのACEの推奨最大設定数の目安は、ASA利用時に比べ、FPR2100/4100/9300シリーズの場合は75%、ASA5500-Xシリーズの場合は 50% が目安となります。FTDはL4-L7の細かな制御に対応している分、FTDのほうが内部処理負荷が高くなる影響です。
例えば、FPR2120でASAソフトウェア利用時は 最大10万まで、FPR2120でFTDソフトウェア利用時は 最大7万5000までが推奨となります。
例えば、ASA5545でASAソフトウェア利用時は最大50万まで、ASA5545でFTDソフトウェア利用時は 最大25万までが推奨となります。
FPR4100/9300シリーズ 上位モデルでFTD利用時の場合は以下が目安となります。なお、FTDバージョン 7.0以降で 内部処理時の負荷が改善されているため、FTD バージョン 7.0以降の利用を推奨します。
モデル (FTD利用時) | 推奨最大ACE数 |
FPR4110 | 1,500,000 |
FPR4115 | 3,000,000 |
FPR4120 | 2,250,000 |
FPR4125 | 3,750,000 |
FPR4140 | 2,250,000 |
FPR4145 | 6,000,000 |
FPR4150 | 3,000,000 |
FPR9300 SM-24 | 3,000,000 |
FPR9300 SM-36 | 3,000,000 |
FPR9300 SM-40 | 4,500,000 |
FPR9300 SM-44 | 6,000,000 |
FPR9300 SM-48 | 6,375,000 |
FPR9300 SM-56 | 7,125,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
Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733
非常にわかりやすく有意な情報をアップ頂き有難うございます!
ただ、ASA-5545X の推奨最大ACE数は、500,000 ではなく、300,000が正しい数値かと存じます。
ご確認頂けますと幸いです。
Yusakuさん、嬉しいコメント、ありがとう御座います! 活用して頂けていると大変励みになります。
弊社内情報を確認してみましたが、ASA5545の推奨最大ACEは、今は500Kで問題なさそうです。 参照頂いている情報は、ASAの旧機種・旧バージョンのデータがベースで更新されてないのかな、と思うため、新製品も含め 当ドキュメントの内容を参考にして頂けると助かります。(新旧の情報が公開されている状態で申し訳ありません。。)
Taisukeさん
早速のコメント有難うございます!
本情報を正として確認させて頂きます。
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます