Citrix ADC

拡張 ACL および拡張 ACL 6

拡張 ACL および拡張 ACL6 は、単純な ACL では使用できないパラメータとアクションを提供します。送信元 IP アドレス、送信元ポート、アクション、プロトコルなどのパラメータに基づいてデータをフィルタリングできます。パケットを許可する、パケットを拒否する、またはパケットをブリッジするタスクを指定できます。

拡張 ACL および ACL6 は、作成後に変更できます。また、優先順位を再番号付けして、評価の順序を指定できます。

注: 簡易 ACL と拡張 ACL の両方を設定する場合、簡易 ACL は拡張 ACL よりも優先されます。

拡張 ACL および ACL6 に対して実行できるアクションは、変更、適用、無効化、有効化、削除、および番号変更(優先度)です。拡張 ACL および ACL6 を表示して設定を確認したり、統計情報を表示したりできます。

拡張 ACL と一致するパケットの詳細をログに記録するように Citrix ADC を構成できます。ただし、内線と一致するパケットの詳細をログに記録することはできません。

拡張 ACL と拡張 ACL6 の適用: 単純な ACL および ACL6 とは異なり、Citrix ADC で作成された拡張 ACL および ACL6 は、適用されるまで機能しません。また、ACL の無効化、プライオリティの変更、ACL の削除など、拡張 ACL または ACL6 を変更した場合は、拡張 ACL または ACL6 を再適用する必要があります。ログを有効にした後でも、それらを再適用する必要があります。拡張 ACL または ACL6 を適用する手順は、これらすべてを再適用します。たとえば、拡張 ACL ルール 1 ~ 10 を適用した後、ルール 11 を作成して適用すると、最初の 10 個のルールが新たに適用されます。

セッションに DENY ACL が関連付けられている場合、ACL を適用すると、そのセッションが終了します。

拡張 ACL および ACL6 は、デフォルトで有効になっています。これらのパケットが適用されると、Citrix ADCは受信パケットとパケットを比較し始めます。ただし、無効にした場合、再度有効にするまで、再適用しても使用されません。

拡張ACL および拡張 ACL6 のプライオリティの再番号付け: プライオリティ番号によって、拡張 ACL または ACL6 がパケットに対して照合される順序が決まります。プライオリティ番号が低い ACL は、プライオリティが高くなります。プライオリティ番号が高い(プライオリティが低い)ACL の前に評価され、パケットに一致する最初の ACL によってパケットに適用されるアクションが決定されます。

拡張 ACL または ACL6 を作成すると、特に指定しない限り、Citrix ADC によって 10 の倍数の優先順位番号が自動的に割り当てられます。たとえば、2 つの拡張 ACL のプライオリティがそれぞれ 20 と 30 で、3 番目の ACL にこれらの数値の間に値を持たせたい場合は、値 25 を割り当てます。後で ACL が評価される順序を保持し、番号付けを 10 の倍数に戻す場合は、再番号付けの手順を使用できます。

拡張 ACL および拡張 ACL6 の設定

Citrix ADCで拡張 ACL または ACL6 を構成するには、次の作業を行います。

  • 拡張 ACL または ACL6 を作成します。拡張 ACL または ACL6 を作成して、パケットを許可、拒否、またはブリッジします。パケットの送信元または宛先 IP アドレスと照合する IP アドレスまたは IP アドレスの範囲を指定できます。着信パケットのプロトコルと照合するプロトコルを指定できます。
  • (任意) 拡張 ACL または ACL6 を変更します。以前に作成した拡張 ACL または ACL6 を変更できます。または、一時的に使用を停止したい場合は、無効にして、後で再度有効にすることができます。
  • 拡張 ACL または ACL6 を適用します。拡張 ACL または ACL6 を作成、変更、無効化、再有効化、または削除した後、拡張 ACL または ACL6 を適用してアクティブにする必要があります。
  • (任意) 拡張 ACL または ACL6 のプライオリティを再番号付けします。10 の倍数ではないプライオリティを持つ ACL を設定し、番号を 10 の倍数に戻す場合は、再番号付けの手順を使用します。

CLI のプロシージャ

CLI を使用して拡張 ACL を作成するには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • add ns acl <aclname> <aclaction> [-srcIP [<operator>] <srcIPVal>] [-srcPort [<operator>] <srcPortVal>] [-destIP [<operator>] <destIPVal>] [-destPort [<operator>] <destPortVal>] [-TTL <positive_integer>] [-SRCMac <mac_addr>] [(-protocol <protocol> [-established]) | -protocolNumber <positive_integer>] [-vlan <positive_integer>] [-interface <interface_name>]][-icmpType <positive_integer> [-icmpCode <positive_integer>] [-priority <positive_integer>] [-state ( ENABLED | DISABLED )]][-logstate ( ENABLED | DISABLED ) [-ratelimit <positive_integer>]
  • show ns acl [<aclName>]

例:

> add ns acl restrict DENY -srcport 45-1024 -destIP 192.168.1.1 -protocol TCP
 Done

CLI を使用して拡張 ACL6 を作成するには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • add ns acl6 <acl6name> <acl6action> [-srcIPv6 [<operator>] <srcIPv6Val>] [-srcPort [<operator>] <srcPortVal>] [-destIPv6 [<operator>] <destIPv6Val>] [-destPort [<operator>] <destPortVal>] [-TTL <positive_integer>] [-SRCMac <mac_addr>] [(-protocol <protocol> [-established]) | -protocolNumber <positive_integer>] [-vlan <positive_integer>] [-interface <interface_name>]][-icmpType <positive_integer> [-icmpCode <positive_integer>] [-priority <positive_integer>] [-state ( ENABLED | DISABLED )]
  • show ns acl6 [<aclName>]

例:

> add ns acl6 rule6  DENY -srcport 45-1024 -destIPv6 2001::45 -protocol TCP
 Done

CLI を使用して拡張 ACL を変更するには、次の手順を実行します。

拡張 ACL を変更するには、 set ns acl コマンド、拡張 ACL の名前、変更するパラメータを新しい値とともに入力します。

CLI を使用して拡張 ACL6 を変更するには、次の手順を実行します。

拡張 ACL6 を変更するには、 set ns acl6 コマンド、拡張 ACL6 の名前、および変更するパラメータに新しい値を入力します。

CLI を使用して拡張 ACL を無効または有効にするには、次の手順を実行します。

コマンドプロンプトで、次のコマンドのいずれかを入力します。

  • disable ns acl <aclname>
  • enable ns acl <aclname>

CLI を使用して拡張 ACL6 を無効または有効にするには、次の手順を実行します。

コマンドプロンプトで、次のコマンドのいずれかを入力します。

  • disable ns acl6 <aclname>
  • enable ns acl6<aclname>

CLI を使用して拡張 ACL を適用するには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • apply ns acls

CLI を使用して拡張 ACL6 を適用するには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • apply ns acls6

CLI を使用して拡張 ACL のプライオリティを再番号付けするには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • renumber ns acls

CLI を使用して拡張 ACL6 のプライオリティを再番号付けするには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • renumber ns acls6

GUIのプロシージャ

GUI を使用して拡張 ACL を設定するには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL] タブで新しい拡張 ACL を追加するか、既存の拡張 ACL を編集します。既存の拡張 ACL を有効または無効にするには、拡張 ACL を選択し、[アクション] リストから [Enable] または [Disable] を選択します。

GUI を使用して拡張 ACL6 を設定するには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL6s] タブで新しい拡張 ACL6 を追加するか、既存の拡張 ACL6 を編集します。既存の拡張 ACL6 を有効または無効にするには、拡張 ACL6 を選択し、[操作] リストから [有効] または [ 効] を選択します。

GUI を使用して拡張 ACL を適用するには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL] タブの [操作] リストで [適用] をクリックします。

GUI を使用して拡張 ACL6 を適用するには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL6s] タブの [アクション] リストで [適用] をクリックします。

GUI を使用して拡張 ACL のプライオリティを再番号付けするには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL] タブの [アクション] リストで [優先順位の再番号付け] をクリックします。

GUI を使用して拡張 ACL6 のプライオリティを再番号付けするには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL6s] タブの [アクション] リストで [優先順位の再番号付け] をクリックします。

設定例

次の表に、コマンドラインインターフェイスを使用して拡張 ACL ルールを設定する例を示します。ACL の設定例

拡張 ACL のロギング

拡張 ACL と一致するパケットの詳細をログに記録するように Citrix ADC を構成できます。

注: 拡張 ACL6 のロギングを有効にすることはできません。

ACL 名に加えて、ログに記録される詳細には、送信元および宛先 IP アドレスなどのパケット固有の情報が含まれます。情報は、有効なグローバルログの種類 (syslog または nslog) に応じて、syslog ファイルまたは nslog ファイルに格納されます。

ロギングは、グローバルレベルと ACL レベルの両方で有効にする必要があります。グローバル設定が優先されます。ロギングをグローバルに有効にする方法の詳細については、次を参照してください。

ロギングを最適化するために、同じフローからの複数のパケットが ACL と一致すると、最初のパケットの詳細だけがログに記録され、同じフローに属するパケットごとにカウンタが増加します。フローは、送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポート、およびプロトコルパラメータに同じ値を持つパケットのセットとして定義されます。ログメッセージのフラッディングを回避するために、Citrix ADCは内部レート制限を実行し、同じフローに属するパケットが繰り返しログに記録されないようにします。任意の時点でログに記録できる異なるフローの合計数は 10,000 に制限されています。

注: ロギングを有効にした後、ACL を適用する必要があります。

CLI のプロシージャ

CLI を使用して拡張 ACL ロギングを設定するには、次の手順を実行します。

コマンドプロンプトで次のコマンドを入力して、ログを構成し、構成を確認します。

  • set ns acl <aclName> [-logState (ENABLED | DISABLED)] [-rateLimit <positive_integer>]
  • show ns acl [<aclName>]

例:

> set ns acl restrict -logstate ENABLED -ratelimit 120
Warning: ACL modified, apply ACLs to activate change

GUIのプロシージャ

GUI を使用して拡張 ACL ロギングを設定するには、次の手順を実行します。

  1. [システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL] タブで拡張 ACL を開きます。
  2. 次のパラメーターを設定します。
    • [Log State]:拡張 ACL 規則に関連するイベントのロギングを有効または無効にします。ログメッセージは、設定された syslog サーバまたは監査ログサーバに保存されます。
    • [Log Rate Limit]:1 秒間に生成されるログメッセージの最大数。このパラメータを設定する場合は、 Log State パラメータを有効にする必要があります。

拡張 ACL6 ロギング

拡張 ACL6 ルールに一致するパケットの詳細をログに記録するように Citrix ADC アプライアンスを構成できます。ACL6 名に加えて、ログに記録される詳細には、送信元および宛先 IP アドレスなどのパケット固有の情報が含まれます。この情報は、Citrix ADCアプライアンスで構成したログの種類(syslogまたはnslog)に応じて、syslogファイルまたはnslogファイルに保存されます。

ロギングを最適化するために、同じフローからの複数のパケットが ACL6 と一致する場合、最初のパケットの詳細だけがログに記録されます。カウンタは、同じフローに属する他のすべてのパケットに対して増分されます。フローは、次のパラメータに同じ値を持つパケットのセットとして定義されます。

  • 接続元IP
  • Destination IP
  • 送信元ポート
  • Destination port
  • プロトコル(TCP または UDP)

着信パケットが同じフローからのものでない場合は、新しいフローが作成されます。任意の時点でログに記録できる異なるフローの合計数は 10,000 に制限されています。

CLI のプロシージャ

CLI を使用して拡張 ACl6 ルールのロギングを構成するには、次の手順を実行します。

  • 拡張 ACL6 ルールの追加時にログを構成するには、コマンドプロンプトで次のように入力します。

    • add acl6 <acl6Name> <acl6action> [-logState (ENABLED | DISABLED)] [-rateLimit <positive_integer>]
    • show acl6 [<acl6Name>]
    • apply acls6
  • 既存の拡張 ACL6 ルールのログを構成するには、コマンドプロンプトで次のように入力します。
    • set acl6 <acl6Name> [-logState (ENABLED | DISABLED)] [-rateLimit <positive_integer>]
    • show acl6 [<acl6Name>]
    • apply acls6

GUIのプロシージャ

GUI を使用して拡張 ACL6 ロギングを設定するには、次の手順を実行します。

  1. [システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL6s] タブをクリックします。
  2. 既存の拡張 ACL6 ルールを追加または変更するときに、次のパラメータを設定します。
    • [Log State]:拡張 ACL6 ルールに関連するイベントのロギングを有効または無効にします。ログメッセージは、設定された syslog サーバまたは監査ログサーバに保存されます。
    • [Log Rate Limit]:1 秒間に生成されるログメッセージの最大数。このパラメータを設定する場合は、 Log State パラメータを有効にする必要があります。

例:

> set acl6 ACL6-1 -logstate ENABLED -ratelimit 120
Done

> apply acls6
Done

拡張 ACL および拡張 ACL6 統計情報の表示

拡張 ACL および ACL6 の統計情報を表示できます。

次の表に、拡張 ACL および ACL6 に関連する統計情報とその説明を示します。

統計情報 指定内容
Allow ACL hits 処理モードが ALLOW に設定された ACL と一致するパケット。Citrix ADCはこれらのパケットを処理します。
NAT ACL hits NAT ACL に一致するパケット。その結果、NAT セッションが発生します。
Deny ACL hits 処理モードが DENY に設定された ACL と一致するため、ドロップされたパケット。
Bridge ACL hits ブリッジ ACL に一致するパケット。トランスペアレントモードでは、サービス処理をバイパスします。
ACL hits ACL に一致するパケット。
ACL misses ACL に一致しないパケット。

CLI のプロシージャ

CLI を使用してすべての拡張 ACL の統計情報を表示するには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • stat ns acl

CLI を使用してすべての拡張 ACL6 の統計情報を表示するには、次の手順を実行します。

コマンドプロンプトで、次のように入力します。

  • stat ns acl6

GUIのプロシージャ

GUI を使用して拡張 ACL の統計情報を表示するには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL] タブで拡張 ACL を選択し、[統計] をクリックします。

GUI を使用して拡張 ACL6 の統計情報を表示するには、次の手順を実行します。

[システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL6s] タブで拡張 ACL を選択し、[統計] をクリックします。

ステートフル ACL

ステートフルACLルールは、要求がルールに一致したときにセッションを作成し、Citrix ADCアプライアンスの拒否ACLルールに一致した場合でも、結果の応答を許可します。ステートフル ACL は、これらの特定の応答を許可するための追加の ACL ルール/転送セッションルールを作成する作業の負荷を軽減します。

ステートフルACLは、次の要件を持つCitrix ADCアプライアンスのエッジファイアウォール展開に最適です。

  • Citrix ADCアプライアンスは、内部クライアントからの要求とインターネットからの関連する応答を許可する必要があります。
  • アプライアンスは、クライアント接続に関係のないパケットをインターネットからドロップする必要があります。

はじめに

ステートフル ACL 規則を設定する前に、次の点に注意してください。

  • Citrix ADCアプライアンスは、ステートフルACL6ルールだけでなく、ステートフルACLルールもサポートしています。
  • 高可用性セットアップでは、ステートフル ACL ルールのセッションは 2 次ノードに同期されません。
  • ルールがCitrix ADC NAT構成にバインドされている場合、ACLルールをステートフルとして構成することはできません。Citrix ADC NAT構成の例を次に示します。
    • RNAT
    • 大規模NAT(大規模NAT44、DSライト、大規模NAT64)
    • NAT64
    • 転送セッション
  • この ACL ルールに TTL パラメータと Established パラメータが設定されている場合、ACL ルールをステートフルとして設定することはできません。
  • ステートフル ACL ルール用に作成されたセッションは、次の ACL 操作に関係なくタイムアウトするまで存続します。
    • ACL の削除
    • ACL の無効化
    • ACL をクリア
  • ステートフル ACL は、次のプロトコルではサポートされません。
    • アクティブな FTP
    • TFTP

ステートフル IPv4 ACL ルールの設定

ステートフル ACL ルールの設定は、ACL ルールのステートフルパラメータを有効にすることで構成されます。

CLI を使用して ACL ルールのステートフルパラメータを有効にするには、次の手順を実行します。

  • ACL ルールの追加中にステートフルパラメータを有効にするには、コマンドプロンプトで次のように入力します。
    • add acl <lname> ALLOW -stateful ( ENABLED | DISABLED )
    • acls の適用
    • show acl <name>
  • 既存の ACL ルールのステートフルパラメータを有効にするには、コマンドプロンプトで次のように入力します。
    • set acl <name> -stateful ( ENABLED | DISABLED )
    • acls の適用
    • show acl <name>

CLI を使用して ACL ルールのステートフルパラメータを有効にするには、次の手順を実行します。

  1. [システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL] タブに移動します。
  2. 既存の ACL ルールを追加または変更するときに、 Stateful パラメータを有効にします。
    > add acl ACL-1 allow -srciP 1.1.1.1 -stateful Yes

    Done

    > apply acls

    Done

    > show acl

    1)         Name: ACL-1

      Action: ALLOW                          Hits: 0

      srcIP = 1.1.1.1

      destIP

      srcMac:

      Protocol:

      Vlan:                                 Interface:

      Active Status: ENABLED                 Applied Status: NOTAPPLIED

      Priority: 10                           NAT: NO

      TTL:

      Log Status: DISABLED

      Forward Session: NO

     Stateful: YES

ステートフル ACL6 ルールの設定

ステートフル ACL6 ルールの設定は、ACL6 ルールのステートフルパラメータを有効にすることで構成されます。

CLI を使用して ACL6 ルールのステートフルパラメータを有効にするには、次の手順を実行します。

  • ACL6 ルールの追加中にステートフルパラメータを有効にするには、コマンドプロンプトで次のように入力します。
    • add acl6 <name> ALLOW -stateful ( ENABLED | DISABLD )
    • acls6 を適用する
    • show acl6 <name>
  • 既存の ACL6 ルールのステートフルパラメータを有効にするには、コマンドプロンプトで次のように入力します。
    • set acl6 <name> -stateful ( ENABLED | DISABLED )
    • acls6 を適用する
    • show acl6 <name>

CLI を使用して ACL6 ルールのステートフルパラメータを有効にするには、次の手順を実行します。

  1. [システム] > [ネットワーク] > [ACL] に移動し、[拡張 ACL6s] タブに移動します。
  2. 既存の ACL6 ルールを追加または変更するときに、 Stateful パラメータを有効にします。
    >  add acl6 ACL6-1 allow -srcipv6 1000::1 –stateful Yes

    Done

    >  apply acls6

    Done

    > show acl6

    1)    Name: ACL6-1

      Action: ALLOW                          Hits: 0

      srcIPv6 = 1000::1

      destIPv6

      srcMac:

      Protocol:

      Vlan:                                 Interface:

      Active Status: ENABLED                 Applied Status: NOTAPPLIED

      Priority: 10                           NAT: NO

      TTL:

     Forward Session: NO

     Stateful: YES

拡張 ACL および拡張 ACL 6