FlexConfig ポリシーの概要
FlexConfig ポリシーは FlexConfig オブジェクトの番号付きリストのコンテナです。各オブジェクトは、定義する一連の Apache Velocity のスクリプト言語コマンド、ASA ソフトウェアの設定コマンド、および変数に影響を与えます。各 FlexConfig オブジェクトの内容は、基本的に、割り当てられたデバイスに展開する一連の ASA コマンドを生成するプログラムです。このコマンド シーケンスは、その後、Firepower Threat Defense デバイスで関連機能を設定します。
Firepower Threat Defense では、ASA 設定コマンドを使用して、すべての機能ではなく一部の機能を実装します。Firepower Threat Defense 設定コマンドの一意のセットはありません。代わりに、FlexConfig のポイントは、Firepower Management Center ポリシーおよび設定を介して直接まだサポートされていない機能を設定できることです。
注意 |
シスコでは、ASA に精通している上級ユーザが自身の責任で行う場合にのみ FlexConfig ポリシーを使用することを強くお勧めします。ブラックリストに登録されていない任意のコマンドを設定できます。FlexConfig ポリシーによって機能を有効にすると、他の設定された機能により意図しない結果を引き起こす可能性があります。 設定した FlexConfig ポリシーに関するサポートについては、Cisco Technical Assistance Center にお問い合わせください。Cisco Technical Assistance Center は、顧客に代わってカスタム設定を設計したり、作成したりしません。シスコは、その他の Firepower システムの機能との正しい動作または相互運用性を保証しません。FlexConfig 機能は廃止になる可能性があります。完全に保証された機能のサポートについては、Firepower Management Center サポートを待つ必要があります。判別できない場合は、FlexConfig ポリシーを使用しないでください。 |
FlexConfig ポリシーの推奨される使用法
FlexConfig ポリシーには、推奨される使用法が主に 2 つあります。
-
ASA から Firepower Threat Defense に変換し、Firepower Management Center で直接サポートされない互換機能を使用している(および引き続き使用する必要がある)場合。この場合、ASA で show running-config コマンドを使用してその互換機能の設定を確認し、その機能を実装する FlexConfig オブジェクトを作成します。オブジェクトの導入設定(1 回/毎回、前に付加/後ろに付加)をいろいろと試して、正しい設定になるようにします。2 つのデバイスでの show running-config の出力を比較して確認します。
-
Firepower Threat Defense を使用しているものの、構成が必要な設定または機能がある場合(たとえば、Cisco Technical Assistance Center から、発生している特定の問題を解決するための具体的な設定を指示された場合)。複雑な機能については、ラボ デバイスを使用して FlexConfig をテストし、期待する動作を得られることを確認します。
システムには、テスト対象の設定を表す一連の定義済み FlexConfig オブジェクトが含まれています。これらのオブジェクトのなかに必要な機能を表すものがない場合は、まず、標準ポリシーで同等の機能を設定できるかどうかを判断します。たとえば、アクセス コントロール ポリシーには侵入検知および防御、HTTP およびその他のタイプのプロトコル インスペクション、URL フィルタリング、アプリケーション フィルタリング、アクセス制御が含まれており、ASA はこれらの要素を別個の機能を使用して実装します。多くの機能は CLI コマンドを使用して設定されていないため、show running-config の出力にすべてのポリシーが記載されるわけではありません。
(注) |
常に、ASA と Firepower Threat Defense との間の重複は 1 対 1 であるわけではないことに注意してください。Firepower Threat Defense デバイスで ASA 設定を完全に作成し直そうとしないでください。設定する機能は、FlexConfig を使用して慎重にテストする必要があります。 |
FlexConfig オブジェクトの CLI コマンド
Firepower Threat Defense では一部の機能の設定に ASA コンフィギュレーション コマンドを使用します。ASA のすべての機能に Firepower Threat Defense との互換性があるわけではありませんが、Firepower Threat Defense で使用はできるが Firepower Management Center ポリシーでは設定できない機能があります。こうした機能を設定するには、FlexConfig オブジェクトを使って必要な CLI を指定します。
FlexConfig を使って手動で機能を設定する場合、ユーザは自身の責任において正しいコマンド シンタックスを理解し、実装してください。FlexConfig ポリシーは CLI コマンド シンタックスの検証は行いません。正しいシンタックスと CLI コマンドの設定に関する詳細については、ASA ドキュメンテーションを参照してください。
-
『ASA CLI 構成ガイド』では機能を設定する方法について説明しています。ガイドは http://www.cisco.com/c/en/us/support/security/asa-5500-series-next-generation-firewalls/products-installation-and-configuration-guides-list.html にあります。
-
『ASA コマンド リファレンス』ではコマンド名ごとにその他の情報が記載されています。参考資料は http://www.cisco.com/c/en/us/support/security/asa-5500-series-next-generation-firewalls/products-command-reference-list.html にあります。
ここでは、コンフィギュレーション コマンドについて詳しく説明します。
ASA ソフトウェアのバージョンおよび現在の CLI 設定の特定
スマート ライセンス |
従来のライセンス |
サポートされるデバイス |
サポートされるドメイン |
アクセス |
---|---|---|---|---|
任意(Any) |
該当なし |
Firepower Threat Defense Firepower Threat Defense Virtual |
任意(Any) |
Admin |
システムが ASA ソフトウェア コマンドを使用して一部の機能を設定するため、Firepower Threat Defense デバイスで実行するソフトウェアで使用されている現在の ASA バージョンを特定する必要があります。このバージョン番号に従って、機能設定時の手順に使用する ASA CLI 設定ガイドを選択します。また、現在の CLI ベースの設定を確認し、実装する ASA 設定と比較する必要があります。
Firepower Threat Defense 設定とどの ASA 設定も大きく異なることに注意してください。Firepower Threat Defense ポリシーの多くは CLI の外部で設定されるため、コマンドを調べても設定を確認することができません。ASA と Firepower Threat Defense 設定が 1 対 1 で対応するように作成しようとしないでください。
この情報を表示するには、デバイスの管理インターフェイスへの SSH 接続を確立し、次のコマンドを発行します。
-
show version system また、Cisco 適応型セキュリティ アプライアンス ソフトウェアのバージョン番号を検索します。(Firepower Management Center CLI ツールを使用してコマンドを発行する場合は、system キーワードを省略します。)
-
show running-config 現在の CLI 設定を表示します。
-
show running-config all 現在の CLI 設定にすべてのデフォルト コマンドを含めます。
また、次の手順を使用して、Firepower Management Center 内からこれらのコマンドを発行することもできます。
手順
ステップ 1 |
を選択します。 |
ステップ 2 |
FlexConfig ポリシーの対象となるデバイスの名前をクリックします。 目的のデバイスを表示するために、[ステータス(Status)] テーブルの [カウント(Count)] カラムにある開く/閉じるの矢印をクリックする必要がある場合があります。 |
ステップ 3 |
[高度なトラブルシューティング(Advanced Troubleshooting)] を選択します。 |
ステップ 4 |
[脅威に対する防御 CLI(Threat Defense CLI)] を選択します。 |
ステップ 5 |
コマンドとして show を選択し、パラメータとして version を入力するか、他のコマンドの 1 つを入力します。 |
ステップ 6 |
[実行(Execute)] をクリックします。 version を入力した場合、Cisco 適応型セキュリティ アプライアンス ソフトウェアのバージョン番号の出力を検索します。 後で実行する分析のために、出力を選択して Ctrl + C を押し、テキスト ファイルに貼り付けることができます。 |
ブラックリストの CLI コマンド
FlexConfig の目的は、Firepower Management Center を使用している Firepower Threat Defense デバイスで設定できない ASA デバイスで使用可能な機能を設定することです。
したがって、Firepower Management Center に同等の機能がある ASA 機能は設定することができません。次の表に、ブラックリストに入っているそれらのコマンド エリアの一部を示します。
また、一部の clear コマンドは、管理対象ポリシーと重複し、管理対象ポリシーの設定の一部を削除する可能性があるため、ブラックリストに入れられています。
FlexConfig オブジェクト エディタでは、ブラックリストのコマンドをオブジェクトに含めることはできません。
ブラックリストの CLI コマンド |
説明 |
---|---|
AAA |
設定がブロックされます。 |
AAA-Server |
設定がブロックされます。 |
Access-list |
高度 ACL、拡張 ACL、および標準 ACL がブロックされます。Ethertype ACL は許可されます。 テンプレート内のオブジェクト マネージャで定義されている標準および拡張 ACL オブジェクトを変数として使用することができます。 |
ARP Inspection |
設定がブロックされます。 |
As-path Object |
設定がブロックされます。 |
Banner |
設定がブロックされます。 |
BGP |
設定がブロックされます。 |
Clock |
設定がブロックされます。 |
Community-list Object |
設定がブロックされます。 |
コピー(Copy) |
設定がブロックされます。 |
削除(Delete) |
設定がブロックされます。 |
DHCP |
設定がブロックされます。 |
パスワードを有効にする(Enable Password) |
設定がブロックされます。 |
削除(Erase) |
設定がブロックされます。 |
Fragment Setting |
fragment reassembly 以外はブロックされます。 |
Fsck |
設定がブロックされます。 |
HTTP |
設定がブロックされます。 |
ICMP |
設定がブロックされます。 |
インターフェイス(Interface) |
nameif、mode、shutdown、ip address、および mac-address コマンドのみがブロックされます。 |
Multicast Routing |
設定がブロックされます。 |
NAT |
設定がブロックされます。 |
Network Object/Object-group |
FlexConfig オブジェクトでの Network オブジェクトの作成がブロックされますが、テンプレート内のオブジェクト マネージャで定義されているネットワーク オブジェクトとグループを変数として使用することができます。 |
NTP |
設定がブロックされます。 |
OSPF/OSPFv3 |
設定がブロックされます。 |
パスワードの暗号化 |
設定がブロックされます。 |
Policy-list Object |
設定がブロックされます。 |
Prefix-list Object |
設定がブロックされます。 |
リロード(Reload) |
リロードはスケジュールできません。システムは、システムを再起動するために reload コマンドを使用せず、reboot コマンドを使用します。 |
RIP |
設定がブロックされます。 |
Route-Map Object |
FlexConfig オブジェクトでの Route-map オブジェクトの作成がブロックされますが、テンプレート内のオブジェクト マネージャで定義されているルート マップ オブジェクトを変数として使用することができます。 |
Service Object/Object-group |
FlexConfig オブジェクトでの Service オブジェクトの作成がブロックされますが、テンプレート内のオブジェクト マネージャで定義されているポート オブジェクトを変数として使用することができます。 |
SNMP |
設定がブロックされます。 |
SSH |
設定がブロックされます。 |
Static Route |
設定がブロックされます。 |
Syslog |
設定がブロックされます。 |
Time Synchronization |
設定がブロックされます。 |
Timeout |
設定がブロックされます。 |
VPN |
設定がブロックされます。 |
テンプレート スクリプト
スクリプト言語を使用して、FlexConfig オブジェクト内部での処理を制御できます。スクリプト言語命令は、Apache Velocity 1.3.1 テンプレート エンジンでサポートされているコマンドのサブセットです。Velocity テンプレート エンジンは、ループ、if/else ステートメント、および変数をサポートする Java ベースのスクリプト言語です。
スクリプト言語の使用方法についての詳細は、『Velocity Developer Guide』(http://velocity.apache.org/engine/devel/developer-guide.html)を参照してください。
FlexConfig 変数
コマンドまたは処理手順の一部がスタティック情報ではなくランタイム情報に依存する場合は、FlexConfig オブジェクトに変数を使用できます。展開時に、変数は変数のタイプに基づいてデバイスのその他の設定から取得された文字列に置き換えられます。
-
ポリシー オブジェクト変数は、Firepower Management Center で定義されているオブジェクトから取得された文字列に置き換えられます。
-
システム変数は、デバイス自体やデバイスに設定されたポリシーから取得した情報に置き換えられます。
-
プロセス変数は、スクリプト コマンドの処理時に、ポリシー オブジェクトまたはシステム変数の内容とともにロードされます。たとえば、ループで、ポリシー オブジェクトまたはシステム変数から 1 つの値をプロセス変数に反復してロードし、プロセス変数を使用して、コマンド文字列を形成するか、その他のアクションを実行します。これらのプロセス変数は、FlexConfig オブジェクト内の [変数(Variables)] リストに表示されません。また、FlexConfig オブジェクト エディタの [挿入(Insert)] メニューを使用してこれらを追加しません。
変数は、$ 文字で始まります。たとえば、$ifname は次のコマンドのポリシー オブジェクト変数です。
interface $ifname
(注) |
ポリシー オブジェクトまたはシステム変数を初めて挿入する場合は、FlexConfig オブジェクト エディタの [挿入(Insert)] メニューを使用して挿入する必要があります。このアクションによって、FlexConfig オブジェクト エディタの下部にある [変数(Variables)] リストに変数が追加されます。ただし、システム変数を使用する場合でも、後続の使用では変数文字列を入力する必要があります。オブジェクトまたはシステム変数の割り当てがないプロセス変数を追加する場合は、[挿入(Insert)] メニューを使用しないでください。 |
変数が単一の文字列、文字列のリスト、または値のテーブルのいずれとして解決されるかは、変数に割り当てるポリシー オブジェクトまたはシステム変数のタイプによって決まります変数を適切に処理するには、何が返されるかを理解する必要があります。
次の各トピックでは、変数のさまざまなタイプとその処理方法について説明します。
変数の処理方法
ランタイムで、変数は単一の文字列、同じタイプの文字列のリスト、異なるタイプの文字列のリスト、あるいは名前付き値の表として解決することができます。また、複数の値に解決される変数の長さは一定、不定のどちらにすることもできます。変数を正しく処理するためには、何が返されるかを理解する必要があります。
返される値には、主に次の可能性があります。
単一値変数
変数が常に単一の文字列に解決される場合、FlexConfig スクリプトを変更せずに、その変数をそのまま使用できます。
たとえば、定義済みのテキスト変数 tcpMssBytes は常に単一の値(数値でなければなりません)に解決されます。Sysopt_basic FlexConfig は if/then/else 構造を使用して、別の単一値テキスト変数 tcpMssMinimum に基づきセグメントの最大サイズを設定します。
#if($tcpMssMinimum == "true")
sysopt connection tcpmss minimum $tcpMssBytes
#else
sysopt connection tcpmss $tcpMssBytes
#end
この例では、FlexConfig オブジェクト エディタで [挿入(Insert)] メニューを使用して最初の $tcpMssBytes の使用を追加しますが、#else 行には直接この変数を入力します。
(注) |
ネットワーク オブジェクトのポリシー オブジェクト変数も、IP アドレスの単一の指定(ホスト アドレス、ネットワーク アドレス、アドレス範囲のいずれか)になります。ただしこの場合、ASA コマンドには特定のアドレス タイプが必要であるため、期待されるアドレスのタイプを把握している必要があります。たとえば、コマンドにホスト アドレスが必要な場合、ネットワーク アドレスを含むオブジェクトを指すネットワーク オブジェクト変数を使用すると、導入時にエラーが発生します。 |
同じタイプの複数の値を持つ変数
ポリシー オブジェクトおよびシステム変数のなかには、同じタイプの複数の値に解決されるものがあります。たとえば、ネットワーク オブジェクト グループを指すオブジェクト変数は、そのグループ内の IP アドレスのリストに解決されます。同様に、システム変数 $SYS_FW_INTERFACE_NAME_LIST は、インターフェイス名のリストに解決されます。
同じタイプの複数の値に対応するテキスト オブジェクトを作成することもできます。たとえば、定義済みのテキストオブジェクト enableInspectProtocolList には複数のプロトコル名を含めることができます。
同じタイプの項目のリストに解決される複数の値を持つ変数は、長さが不定であることはよくあります。たとえば、ユーザは随時インターフェイスを設定または設定解除できるので、デバイス上にある名前付きインターフェイスの数を前もって知ることはできません。
そのため、同じタイプの複数の値を持つ変数を処理するには、通常はループを使用します。たとえば、定義済みの FlexConfig Default_Inspection_Protocol_Enable では、#foreach ループを使用して enableInspectProtocolList オブジェクトの各値を処理します。
policy-map global_policy
class inspection_default
#foreach ( $protocol in $enableInspectProtocolList)
inspect $protocol
#end
上記の例では、スクリプトが各値を順に $protocol 変数に代入し、その結果を ASA の inspect コマンドで使用して、そのプロトコルに対してインスペクション エンジンを有効にします。この場合、変数名として単純に $protocol と入力します。オブジェクトやシステム値を変数に代入するわけではないので、[挿入(Insert)] メニューを使用して変数を追加することはしません。ただし、$enableInspectProtocolList を追加する場合は、[挿入(Insert)] メニューを使用する必要があります。
システムは $enableInspectProtocolList 内の値がなくなるまで、#foreach と #end の間にあるコードをループ処理します。
タイプが異なる複数の値を持つ変数
それぞれの値が異なる目的を果たす、複数の値を持つテキスト オブジェクトを作成できます。たとえば、定義済みの netflow_Destination テキスト オブジェクトに、インターフェイス名、宛先 IP アドレス、UDP ポート番号という 3 つの値がこの順で設定されているとします。
このように定義するオブジェクトは、既定の数の値を持たなければなりません。そうでないと、処理するのが難しくなります。
このようなオブジェクトを処理するには、get メソッドを使用します。オブジェクト名の最後に .get( n) と入力し、n をそのオブジェクトのインデックスで置き換えます。テキスト オブジェクトは値を 1 からリストしますが、インデックスは 0 からカウントします。
たとえば、Netflow_Add_Destination オブジェクトは以下の行を使用して、netflow_Destination に含まれる 3 つの値を ASA の flow-export コマンドに追加します。
flow-export destination $netflow_Destination.get(0) $netflow_Destination.get(1)
$netflow_Destination.get(2)
この例では、FlexConfig オブジェクト エディタの [挿入(Insert)] メニューを使用して $netflow_Destination の最初の使用を追加してから、.get(0) を追加します。ただし、$netflow_Destination.get(1) および $netflow_Destination.get(2) の変数は直接入力して指定する必要があります。
値のテーブルに解決される、複数の値を持つ変数
システム変数のなかには、値のテーブルを返すものがあります。そのような変数に該当するのは、たとえば $SYS_FTD_ROUTED_INTF_MAP_LIST のように、MAP が名前に含まれる変数です。ルーテッド インターフェイス マップは、以下のようなデータを返します(わかりやすくするために改行が追加されています)。
[{intf_hardwarare_id=GigabitEthernet0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.10.1, intf_ipv6_link_local_address=,
intf_logical_name=outside},
{intf_hardwarare_id=GigabitEthernet0/1, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.11.1, intf_ipv6_link_local_address=,
intf_logical_name=inside},
{intf_hardwarare_id=GigabitEthernet0/2, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=},
{intf_hardwarare_id=Management0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=diagnostic}]
上記の例では、4 つのインターフェイスに関する情報が返されています。インターフェイスごとに、名前付き値のテーブルが含まれています。たとえば、intf_hardwarare_id はインターフェイス ハードウェアの名前プロパティであり、GigabitEthernet0/0 などの文字列として返されます。
このような変数は、通常は長さが不定であるため、値を処理するにはループ処理を使用する必要があります。また、取得対象の値を示すために、変数名にプロパティ名も追加する必要があります。
たとえば、IS-IS 構成では、インターフェイス コンフィギュレーション モードで、論理名を持つインターフェイスに ASA の isis コマンドを追加する必要があります。ただし、このモードを開始する際は、インターフェイスのハードウェア名を使用します。したがって、論理名を持つインターフェイスを識別してから、それらのインターフェイスだけをそれぞれのハードウェア名を使用して設定する必要があります。 ISIS_Interface_Configuration の定義済み FlexConfig は、そのために、ループ内にネストされた if/then 構造を使用します。以下のコードを見るとわかるように、#foreach スクリプト コマンドで各インターフェイス マップを $intf 変数に読み込んだ後、#if ステートメントでマップ($intf.intf_logical_name)から intf_logical_name の値を取得し、その値が isisIntfList 定義済みテキスト変数で定義されているリストに含まれている場合は、intf_hardwarare_id の値($intf.intf_hardwarare_id)を使用してインターフェイス コマンドを入力します。IS-IS を設定するインターフェイスの名前を追加する場合は、isisIntfList 変数を編集する必要があります。
#foreach ($intf in $SYS_FTD_ROUTED_INTF_MAP_LIST)
#if ($isIsIntfList.contains($intf.intf_logical_name))
interface $intf.intf_hardwarare_id
isis
#if ($isIsAddressFamily.contains("ipv6"))
ipv6 router isis
#end
#end
#end
変数がデバイスに関して返す内容を表示する方法
変数が何を返すかを評価する簡単な方法は、変数の注釈付きリストを処理するだけの簡単な FlexConfig オブジェクトを作成することです。次に、作成したオブジェクトを FlexConfig ポリシーに割り当て、ポリシーをデバイスに割り当てます。ポリシーを保存してから、そのデバイスの設定のプレビューをプレビューします。解決された値がプレビューに表示されます。プレビューのテキストを選択し、Ctrl キーを押した状態で C キーを押し、出力を分析用にテキスト ファイルに貼り付けることができます。
(注) |
ただし、FlexConfig には有効な設定コマンドが一切含まれていないため、FlexConfig をデバイスに展開しないでください。展開すると展開エラーが生じます。プレビューの取得後、FlexConfig ポリシーから FlexConfig オブジェクトを削除し、ポリシーを保存します。 |
たとえば、次の FlexConfig オブジェクトを作成することができます。
Following is a network object group variable for the
IPv4-Private-All-RFC1918 object:
$IPv4_Private_addresses
Following is the system variable SYS_FW_MANAGEMENT_IP:
$SYS_FW_MANAGEMENT_IP
Following is the system variable SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST:
$SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST
Following is the system variable SYS_FTD_ROUTED_INTF_MAP_LIST:
$SYS_FTD_ROUTED_INTF_MAP_LIST
Following is the system variable SYS_FW_INTERFACE_NAME_LIST:
$SYS_FW_INTERFACE_NAME_LIST
このオブジェクトのプレビューは以下のように表示されます(明確にするために改行が追加されています)。
###Flex-config Prepended CLI ###
###CLI generated from managed features ###
###Flex-config Appended CLI ###
Following is an network object group variable for the
IPv4-Private-All-RFC1918 object:
[10.0.0.0, 172.16.0.0, 192.168.0.0]
Following is the system variable SYS_FW_MANAGEMENT_IP:
192.168.0.171
Following is the system variable SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST:
[dns, ftp, h323 h225, h323 ras, rsh, rtsp, sqlnet, skinny, sunrpc,
xdmcp, sip, netbios, tftp, icmp, icmp error, ip-options]
Following is the system variable SYS_FTD_ROUTED_INTF_MAP_LIST:
[{intf_hardwarare_id=GigabitEthernet0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.10.1, intf_ipv6_link_local_address=,
intf_logical_name=outside},
{intf_hardwarare_id=GigabitEthernet0/1, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=255.255.255.0,
intf_ip_addr_v4=10.100.11.1, intf_ipv6_link_local_address=,
intf_logical_name=inside},
{intf_hardwarare_id=GigabitEthernet0/2, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=},
{intf_hardwarare_id=Management0/0, intf_ipv6_eui64_addresses=[],
intf_ipv6_prefix_addresses=[], intf_subnet_mask_v4=, intf_ip_addr_v4=,
intf_ipv6_link_local_address=, intf_logical_name=diagnostic}]
Following is the system variable SYS_FW_INTERFACE_NAME_LIST:
[outside, inside, diagnostic]
FlexConfig ポリシー オブジェクト変数
ポリシー オブジェクト変数は、オブジェクト マネージャで設定されている特定のポリシー オブジェクトに関連付けられます。FlexConfig オブジェクトにポリシー オブジェクト変数を挿入する場合、変数に名前を付け、これに関連付けられているオブジェクトを選択します。
関連付けられているオブジェクトと完全に同じ名前を変数に付けても、変数自体は、関連付けられたオブジェクトと同じではありません。FlexConfig で初めてスクリプトに変数を追加し、オブジェクトとの関連付けを確立するには、FlexConfig オブジェクト エディタの
メニューを使用する必要があります。単に $ 記号に続けてオブジェクト名を入力しても、ポリシー オブジェクト変数は作成されません。以下のタイプのオブジェクトを指す変数を作成できます。各変数に適切なタイプのオブジェクトを作成するようにしてください。オブジェクトを作成するには、
に移動します。-
テキスト オブジェクト(Text Objects):テキスト文字列の場合。これには、IP アドレス、番号や、インターフェイス、ゾーン名などの自由形式のテキストが含まれます。コンテンツ テーブルから FlexConfig テキスト オブジェクトの設定を参照してください。
を選択し、[テキスト オブジェクトの追加(Add Text Object)] をクリックします。単一の値または複数の値を含むようにこれらのオブジェクトを設定できます。これらのオブジェクトは柔軟性が高く、FlexConfig オブジェクト内で使用するよう特別に構築されています。詳細については、 -
ネットワーク(Network):IP アドレスの場合。ネットワーク オブジェクトまたはグループを使用できます。コンテンツ テーブルから [ネットワーク(Network)] を選択し、 または [グループの追加(Add Group)] を選択します。グループ オブジェクトを使用すると、変数によりグループ内の各 IP アドレス指定のリストが返されます。アドレスは、オブジェクトの内容に応じて、ホスト、ネットワーク、またはアドレス範囲にできます。ネットワーク オブジェクトを参照してください。
-
セキュリティ ゾーン(Security Zones):セキュリティ ゾーンまたはインターフェイス グループ内のインターフェイスの場合。コンテンツ テーブルから [インターフェイス(Interface)] を選択し、 または [インターフェイス グループ(Interface Group)] を選択します。セキュリティ ゾーン変数では、設定中のデバイスのゾーンまたはグループ内のインターフェイスのリストが返されます。インターフェイス オブジェクト:インターフェイスグループとセキュリティ ゾーンを参照してください。
-
標準 ACL オブジェクト(Standard ACL Object):標準アクセス コントロール リストの場合。標準 ACL 変数では、標準 ACL オブジェクトの名前が返されます。コンテンツ テーブルから アクセス リストを参照してください。
を選択し、[標準アクセス リスト オブジェクトの追加(Add Standard Access List Object)] をクリックします。 -
拡張 ACL オブジェクト(Extended ACL Object):拡張アクセス コントロール リストの場合。拡張 ACL 変数では、拡張 ACL オブジェクトの名前が返されます。コンテンツ テーブルから アクセス リストを参照してください。
を選択し、[拡張アクセス リスト オブジェクトの追加(Add Extended Access List Object)] をクリックします。 -
ルート マップ(Route Map):ルート マップ オブジェクトの場合。ルート マップ変数では、ルート マップ オブジェクトの名前が返されます。コンテンツ テーブルから [ルート マップ(Route Map)] を選択し、[ルート マップの追加(Add Route Map)] をクリックします。ルート マップを参照してください。
FlexConfig システム変数
システム変数は、デバイス自体やデバイスに設定されたポリシーから取得した情報に置き換えられます。
FlexConfig オブジェクト エディタの
メニューを使用して、最初の変数を FlexConfig のスクリプトに追加し、システム変数とのアソシエーションを確立します。単に $ 記号に続けてシステム変数名を入力しても、FlexConfig オブジェクトのコンテキストでのシステム変数は作成されません。次の表に、使用可能なシステム変数の説明を示します。変数を使用する前に、通常、その変数に何が返されるかを確認します。変数がデバイスに関して返す内容を表示する方法を参照してください。
[名前(Name)] |
説明 |
---|---|
SYS_FW_OS_MODE |
デバイスのオペレーティング システム モード。値は ROUTED または TRANSPARENT です。 |
SYS_FW_OS_MULTIPLICITY |
デバイスがシングル コンテキスト モードまたはマルチ コンテキスト モードのいずれで動作するか。値は、SINGLE、MULTI、または NOT_APPLICABLE です。 |
SYS_FW_MANAGEMENT_IP |
デバイスの管理 IP アドレス。 |
SYS_FW_HOST_NAME |
デバイスのホスト名。 |
SYS_FTD_INTF_POLICY_MAP |
キーがインターフェイス名で、値がポリシーマップのマップ。この変数は、デバイスにインターフェイスベースのサービス ポリシーが定義されていない場合、値を返しません。 |
SYS_FW_ENABLED_INSPECT_PROTOCOL_LIST |
インスペクションが有効になっているプロトコルのリスト。 |
SYS_FTD_ROUTED_INTF_MAP_LIST |
デバイスのルーテッド インターフェイス マップのリスト。各マップには、ルーテッド インターフェイス構成に関連する一連の名前付き値が含まれます。 |
SYS_FTD_SWITCHED_INTF_MAP_LIST |
デバイスのスイッチド インターフェイス マップのリスト。各マップには、スイッチド インターフェイス構成に関連する一連の名前付き値が含まれます。 |
SYS_FTD_INLINE_INTF_MAP_LIST |
デバイスのインライン インターフェイス マップのリスト。各マップには、インライン セット インターフェイス構成に関連する一連の名前付き値が含まれます。 |
SYS_FTD_PASSIVE_INTF_MAP_LIST |
デバイスのパッシブ インターフェイス マップのリスト。各マップには、パッシブ インターフェイス構成に関連する一連の名前付き値が含まれます。 |
SYS_FTD_INTF_BVI_MAP_LIST |
デバイスのブリッジ仮想インターフェイス マップのリスト。各マップには、BVI 構成に関連する一連の名前付き値が含まれます。 |
SYS_FW_INTERFACE_HARDWARE_ID_LIST |
GigabitEthernet0/0 など、デバイスのインターフェイスのハードウェア名のリスト。 |
SYS_FW_INTERFACE_NAME_LIST |
内部など、デバイスのインターフェイスの論理名のリスト。 |
SYS_FW_INLINE_INTERFACE_NAME_LIST |
パッシブまたは ERSPAN パッシブとして設定されたインターフェイスの論理名のリスト。 |
SYS_FW_NON_INLINE_INTERFACE_NAME_LIST |
すべてのルーテッド インターフェイスなど、インライン セットの一部ではないインターフェイスの論理名のリスト。 |
定義済みの FlexConfig オブジェクト
定義済みの FlexConfig オブジェクトは、選択機能に検証済みの設定を提供します。Firepower Management Center で別の方法では設定できないこれらの機能を設定する必要がある場合は、これらのオブジェクトを使用します。
次の表に、使用可能なオブジェクトを示します。関連するテキスト オブジェクトをメモしてください。定義済みの FlexConfig オブジェクトの動作をカスタマイズするには、これらのテキスト オブジェクトを編集する必要があります。テキスト オブジェクトにより、ネットワークおよびデバイスで必要な IP アドレスとその他の属性を使用して、設定をカスタマイズできます。
定義済みの FlexConfig オブジェクトを変更する必要がある場合は、オブジェクトをコピーしてそれを変更し、新しい名前で保存します。定義済みの FlexConfig オブジェクトを直接編集することはできません。
FlexConfig を使用して、他の ASA ベースの機能を設定できますが、これらの機能の設定は検証されていません。ASA 機能が Firepower Management Center ポリシーで設定できる機能と重複している場合は、FlexConfig を使用して設定しないでください。
たとえば、Snort 検査には HTTP プロトコルが含まれるため、ASA スタイルの HTTP 検査を有効にしないでください。(実際に、enableInspectProtocolList オブジェクトに http を追加することはできません。この場合、デバイスを誤って設定することが回避されます)。代わりに、必要に応じて、アプリケーションまたは URL フィルタリングを実行するアクセス コントロール ポリシーを設定し、HTTP 検査要件を実装します。
FlexConfig オブジェクト名 |
説明 |
関連するテキスト オブジェクト |
---|---|---|
Default_Inspection_Protocol_Disable |
global_policy デフォルト ポリシー マップのプロトコルを無効にします。 |
disableInspectProtocolList |
Default_Inspection_Protocol_Enable |
global_policy デフォルト ポリシー マップのプロトコルを有効にします。 |
enableInspectProtocolList |
Eigrp_Configure |
EIGRP ルーティングのネクストホップ、自動集約、ルータ ID、eigrp スタブを設定します。 |
eigrpAS、eigrpNetworks、eigrpDisableAutoSummary、eigrpRouterId、eigrpStubReceiveOnly、eigrpStubRedistributed、eigrpStubConnected、eigrpStubStatic、eigrpStubSummary |
Eigrp_Interface_Configure |
EIGRP インターフェイス認証モード、認証キー、Hello インターバル、ホールド時間、スプリット ホライズンを設定します。 |
eigrpIntfList、eigrpAS、eigrpAuthKey、eigrpAuthKeyId、eigrpHelloInterval、eigrpHoldTime、eigrpDisableSplitHorizon また、システム変数 SYS_FTD_ROUTED_INTF_MAP_LIST を使用します |
Eigrp_Unconfigure |
デバイスから自律システムの EIGRP 設定をクリアします。 |
— |
Eigrp_Unconfigure_all |
すべての EIGRP 設定をクリアします。 |
— |
ISIS_Configure |
IS-IS ルーティングのグローバル パラメータを設定します。 |
isIsNet、isIsAddressFamily、isISType |
ISIS_Interface_Configuration |
インターフェイス レベルの IS-IS 設定。 |
isIsAddressFamily、IsIsIntfList また、システム変数 SYS_FTD_ROUTED_INTF_MAP_LIST を使用します |
ISIS_Unconfigure |
デバイスの IS-IS ルータ設定をクリアします。 |
— |
ISIS_Unconfigure_All |
デバイスから IS-IS ルータ設定をクリアします(デバイス インターフェイスの IS-IS ルータ割り当てなど)。 |
— |
Netflow_Add_Destination |
NetFlow エクスポートの宛先を作成し、設定します。 |
Netflow_Destinations、netflow_Event_Types |
Netflow_Clear_Parameters |
NetFlow エクスポートのグローバル デフォルト設定を復元します。 |
— |
Netflow_Delete_Destination |
NetFlow エクスポートの宛先を削除します。 |
Netflow_Destinations、netflow_Event_Types |
Netflow_Set_Parameters |
NetFlow エクスポートのグローバル パラメータを設定します。 |
netflow_Parameters |
NGFW_TCP_NORMALIZATION |
デフォルト TCP 正規化設定を変更します。 |
— |
Policy_Based_Routing |
この設定例を使用するには、コピーしてインターフェイス名を変更し、r-map-object テキストオブジェクトを使用してオブジェクト マネージャでルート マップ オブジェクトを特定します。 |
— |
Policy_Based_Routing_Clear |
デバイスからポリシーベース ルーティング設定をクリアします。 |
— |
Sysopt_AAA_radius |
RADIUS アカウンティング応答内の認証キーを無視します。 |
— |
Sysopt_AAA_radius_negate |
Sysopt_AAA_radius 設定を拒否します。 |
— |
Sysopt_basic |
sysopt 待機時間、TCP パケットの最大セグメントサイズ、詳細トラフィック統計情報を設定します。 |
tcpMssMinimum、tcpMssBytes |
Sysopt_basic_negate |
sysopt_basic 詳細トラフィック統計情報、待機時間、TCP 最大セグメント サイズをクリアします。 |
— |
Sysopt_clear_all |
デバイスからすべての sysopt 設定をクリアします。 |
— |
Sysopt_noproxyarp |
noproxy arp CLI を設定します。 |
システム変数 SYS_FW_NON_INLINE_INTF_NAME_LIST を使用します |
Sysopt_noproxyarp_negate |
Sysopt_noproxyarp 設定をクリアします。 |
システム変数 SYS_FW_NON_INLINE_INTF_NAME_LIST を使用します |
Sysopt_Preserve_Vpn_Flow |
syopt 保存 VPN フローを設定します。 |
— |
Sysopt_Preserve_Vpn_Flow_negate |
Sysopt_Preserve_Vpn_Flow 設定をクリアします。 |
— |
Sysopt_Reclassify_Vpn |
sysopt 再分類 vpn を設定します。 |
— |
Sysopt_Reclassify_Vpn_Negate |
sysopt 再分類 vpn を拒否します。 |
— |
VxLAN_Clear_Nve |
デバイスから VxLAN_Configure_Port_And_Nve が使用される場合、NVE 1 設定を削除します。 |
— |
VxLAN_Clear_Nve_Only |
展開時にインターフェイスで設定された NVE 設定をクリアします。 |
— |
VxLAN_Configure_Port_And_Nve |
VLAN ポートと NVE 1 を設定します。 |
vxlan_Port_And_Nve |
VxLAN_Make_Nve_Only |
NVE のみのインターフェイスを設定します。 |
vxlan_Nve_Only また、システム変数 SYS_FTD_ROUTED_MAP_LIST と SYS_FTD_SWITCHED_INTF_MAP_LIST を使用します |
VxLAN_Make_Vni |
VNI インターフェイスを作成します。これを展開した後、VNI インターフェイスを正しく検出するには、デバイスの登録を解除して、再登録する必要があります。 |
vxlan_Vni |
Wccp_Configure |
このテンプレートは WCCP を設定する例を提供します。 |
isServiceIdentifier、serviceIdentifier、wccpPassword |
Wccp_Configure_Clear |
WCCP 設定をクリアします。 |
— |
定義済みのテキスト オブジェクト
複数の定義済みのテキスト オブジェクトがあります。これらのオブジェクトは、定義済みの FlexConfig オブジェクトで使用される変数に関連付けられています。ほとんどの場合、関連付けられた FlexConfig オブジェクトを使用するにはこれらのオブジェクトを編集して値を追加する必要があります。そうしない場合、展開中にエラーが表示されます。これらのオブジェクトの一部にはデフォルト値が含まれていますが、その他は空となっています。
テキスト オブジェクトの編集の詳細については、FlexConfig テキスト オブジェクトの設定を参照してください。
[名前(Name)] |
説明 |
関連する FlexConfig オブジェクト |
---|---|---|
disableInspectProtocolList |
デフォルト ポリシー マップ(global_policy)のプロトコルを無効にします。 |
Disable_Default_Inspection_Protocol |
eigrpAS |
自律システム番号。 |
Eigrp_Configure、Eigrp_Interface_Configure、Eigrp_Unconfigure |
eigrpAuthKey |
EIGRP 認証キー。 |
Eigrp_Interface_Configure |
eigrpAuthKeyId |
認証キーと一致する共有キー ID。 |
Eigrp_Interface_Configure |
eigrpDisableAutoSummary |
true の場合に自動集約を無効にするフラグ。 |
Eigrp_Configure |
eigrpDisableSplitHorizon |
true の場合にスプリット ホライズンを無効にするフラグ。 |
Eigrp_Interface_Configure |
eigrpHelloInterval |
hello 伝送間の秒数。 |
Eigrp_Interface_Configure |
eigrpHoldTime |
ネイバーが停止しているとみなされるまで秒数。 |
Eigrp_Interface_Configure |
eigrpIntfList |
EIGRP が適用される論理インターフェイス名のリスト。 |
Eigrp_Interface_Configure |
eigrpRouterId |
IP アドレス形式でのルータ ID。 |
Eigrp_Configure |
eigrpStubConnected |
true の場合、connected 設定で eigrp stub を使用できるフラグ。 |
Eigrp_Configure |
eigrpStubReceiveOnly |
true の場合、receive-only 設定で eigrp stub を使用できるフラグ。 |
Eigrp_Configure |
eigrpStubRedistributed |
true の場合、redistributed 設定で eigrp stub を使用できるフラグ。 |
Eigrp_Configure |
eigrpStubSummary |
true の場合、summary 設定で eigrp stub を使用できるフラグ。 |
Eigrp_Configure |
enableInspectProtocolList |
デフォルト ポリシー マップ(global_policy)のプロトコルを有効にします。検査が Snort 検査と競合するプロトコルを追加することはできません。 |
Enable_Default_Inspection_Protocol |
isIsAddressFamily |
IPv4 または IPv6 アドレス ファミリ。 |
ISIS_Configure ISIS_Interface_Configuration |
IsIsIntfList |
論理インターフェイス名のリスト。 |
ISIS_Interface_Configuration |
isIsISType |
IS タイプ(level-1、level-2-only、または level-1-2)。 |
ISIS_Configure |
isIsNet |
ネットワーク エンティティ。 |
ISIS_Configure |
isServiceIdentifier |
false の場合は、標準 web-cache サービス識別子を使用します。 |
Wccp_Configure |
netflow_Destination |
1 つの NetFlow エクスポート宛先のインターフェイス、接続先、および UDP ポート番号を定義します。 |
Netflow_Add_Destination |
netflow_Event_Types |
エクスポートされる宛先のイベントのタイプを all、flow-create、flow-defined、flow-teardown、flow-update のいずれかのサブセットとして定義します。 |
Netflow_Add_Destination |
netflow_Parameters |
NetFlow エクスポートのグローバル設定を指定します。アクティブ更新間隔(フロー更新イベント間の分数)、遅延(フロー作成遅延(秒単位)。デフォルトの 0 ではコマンドは表示されません)、およびテンプレート タイムアウト レート(分単位)。 |
Netflow_Set_Parameters |
serviceIdentifier |
ダイナミック WCCP サービス ID 番号。 |
Wccp_Configure |
tcpMssBytes |
最大セグメント サイズ(バイト単位)。 |
Sysopt_basic |
tcpMssMinimum |
このフラグが true の場合にのみ設定される最大セグメント サイズ(MSS)を設定するかどうかをチェックします。 |
Sysopt_basic |
vxlan_Nve_Only |
インターフェイスで NVE-only を設定するためのパラメータ:
|
VxLAN_Make_Nve_Only |
vxlan_Port_And_Nve |
VXLAN のポートおよび NVE を設定するために使用されるパラメータ:
|
VxLAN_Configure_Port_And_Nve |
vxlan_Vni |
VNI を作成するために使用されるパラメータ:
|
VxLAN_Make_Vni |
wccpPassword |
WCCP パスワード。 |
Wccp_Configure |