AACL ルールの設定
AACL ルールを設定するには、[edit services aacl]
階層レベルに rule rule-name
ステートメントを含めます。
rule rule-name { [OBSOLETE] match-direction (input | output | input-output); [OBSOLETE] term term-name { [OBSOLETE] from { [OBSOLETE] application-group-any; application-groups [ application-group-names ]; applications [ application-names ]; [OBSOLETE] destination-address (Application Aware Access List) address <any-unicast>; [OBSOLETE] destination-address-range low minimum-value high maximum-value; destination-prefix-list list-name; [OBSOLETE] nested-applications [ nested-application-names ]; nested-application-unknown source-address address <any-unicast>; [OBSOLETE] source-address-range low minimum-value high maximum-value; source-prefix-list list-name; } [OBSOLETE] then (Application Aware Access List) { (accept | discard); count (application | application-group | application-group-any | nested-application | none); forwarding-class class-name; policer policer-name; } } }
各 AACL ルールは、 [edit firewall]
階層レベルで設定されたフィルタに似た一連の条件で構成されます。用語は、次のもので構成されます。
-
from
ステートメント—含まれ、除外される一致条件とアプリケーションを指定します。 -
then
ステートメント—ルーター ソフトウェアによって実行されるアクションとアクション修飾子を指定します。
次のセクションでは、AACL ルールのコンポーネントを設定する方法について説明します。
AACL ルールの一致方向の設定
各ルールには、ルールの一致が適用される方向を指定する match-direction
ステートメントを含める必要があります。一致が適用される場所を設定するには、[edit services aacl rule rule-name]
階層レベルでmatch-direction
ステートメントを含めます。
[OBSOLETE] match-direction (input | output | input-output);
match-direction input-output
を設定すると、双方向のルール作成が許可されます。
一致方向は、サービス PIC または DPC を通過するトラフィック フローに関して使用されます。パケットがPICまたはDPCに送信されると、方向情報も一緒に伝えられます。
インターフェイス サービス セットを使用すると、パケットの方向は、サービス セットが適用されているインターフェイスにパケットが出入りするかによって決まります。
ネクストホップ サービス セットでは、パケットの方向は、パケットをサービス PIC または DPC にルーティングするために使用されるインターフェイスによって決定されます。内部インターフェイスを使用してパケットをルーティングする場合は、パケット方向が入力されます。外部インターフェイスを使用してパケットをPICまたはDPCに転送する場合、パケットの方向が出力されます。内部インターフェイスと外部インターフェイスの詳細については、 サービス インターフェイスに適用するサービス セットの設定を参照してください。
PICまたはDPCでは、フロールックアップが実行されます。フローが見つからない場合は、ルール処理が実行されます。サービス セット内のすべてのルールが考慮されます。ルールの処理中に、パケットの方向がルールの方向と比較されます。パケットの方向と一致する方向情報を持つルールのみが考慮されます。
AACL ルールでの一致条件の設定
AACL 一致条件を設定するには、[edit services aacl rule rule-name term term-name]
階層レベルに from
ステートメントを含めます。
from { [OBSOLETE] application-group-any; application-groups [ application-group-names ]; applications [ application-names ]; [OBSOLETE] destination-address (Application Aware Access List) address <any-unicast>; [OBSOLETE] destination-address-range low minimum-value high maximum-value; destination-prefix-list list-name; [OBSOLETE] nested-applications [ nested-application-names ]; nested-application-unknown source-address address <any-unicast>; [OBSOLETE] source-address-range low minimum-value high maximum-value; source-prefix-list list-name; }
IPv4 および IPv6 の送信元アドレスと宛先アドレスがサポートされています。ファイアウォールフィルターを設定するのと同じ方法で、送信元アドレスまたは宛先アドレスのいずれかを一致条件として使用できます。詳細については、「 ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイド」を参照してください。
または、[edit policy-options]
階層レベルで prefix-list
ステートメントを設定し、AACL ルールに destination-prefix-list
または source-prefix-list
ステートメントを含めることで、送信元または宛先プレフィックスのリストを指定できます。例については、「例:AACL ルールの設定」を参照してください。
from
条件を省略すると、AACL ルールはすべてのトラフィックを受け入れ、デフォルトのプロトコル ハンドラーが有効になります。
-
UDP(User Datagram Protocol)、TCP(Transmission Control Protocol)、ICMP(Internet Control Message Protocol)は、予測されるリバースフローを使用して双方向フローを作成します。
-
IP は、一方向のフローを作成します。
また、 [edit services application-identification]
階層レベルで設定したアプリケーションおよびアプリケーショングループ定義を含めることもできます。詳しくは、「 AACL の概要」のトピックを参照してください。
-
1 つ以上の特定のアプリケーション プロトコル定義を適用するには、
[edit services aacl rule rule-name term term-name from]
階層レベルでapplications
ステートメントを含めます。 -
定義したアプリケーショングループ定義の1つ以上のセットを適用するには、
[edit services aacl rule rule-name term term-name from]
階層レベルでapplication-groups
ステートメントを含めます。手記:アプリケーション プロトコルを指定するステートメントの 1 つを含めると、ルーターは
[edit services application-identification]
階層レベルの対応する設定からポートとプロトコルの情報を取得します。これらのプロパティを一致条件として指定することはできません。 -
データベースで定義されているアプリケーショングループを一致と見なすには、
[edit services aacl rule rule-name term term-name from]
階層レベルにapplication-group-any
ステートメントを含めます。 -
データベースで定義されているネストされたアプリケーションを一致と見なすには、
[edit services aacl rule rule-name term term-name from]
階層レベルにnested-applications
ステートメントを含めます。入れ子になったアプリケーションは、親アプリケーションで実行されるプロトコルです。例えば、Facebook アプリケーションが親アプリケーションの junos:http で実行されている場合、ネストされたアプリケーションは junos:http:facebook になります。
AACL ルールでのアクションの設定
AACL アクションを設定するには、[edit services aacl rule rule-name term term-name]
階層レベルで then
ステートメントを含めます。
[OBSOLETE] then (Application Aware Access List) { (accept | discard); (count (application | application-group | application-group-any | nested-application | none) | forwarding-class class-name); }
次のいずれかのアクションを含める必要があります。
-
accept
- パケットは受け入れられ、宛先に送信されます。 -
discard
- パケットは受け入れられず、それ以上処理されません。
アクションとして accept
を選択すると、オプションで次のアクション修飾子の 1 つまたは両方を構成できます。 discard
アクションでは、アクション修飾子は許可されません。
-
count (application | application-group | application-group-any | nested-application | none)
:ルールに一致するすべての受け入れパケットについて、AACL 統計プラクティスを使用してパケット数を記録します。次のいずれかのオプションを指定できます。デフォルト設定はありません。-
application
-from
句で一致したアプリケーションをカウントします。 -
application-group
-from
句で一致したアプリケーション グループをカウントします。 -
application-group-any
-any
グループ名の下にfrom application-group-any
一致するすべてのアプリケーショングループをカウントします。 -
nested-application
-from
句で一致したネストされたすべてのアプリケーションをカウントします。 -
none
-count
をアクションとして指定しないのと同じです。
-
-
forwarding-class class-name
—パケットの転送クラス名を指定します。
オプションで、[edit firewall]
階層レベルで指定されたpolicer
を含めることができます。ポリサーに指定されたビットレートとバーストサイズのプロパティのみが、AACL ルール セットに適用されます。ポリサーが設定されている場合の唯一のアクションアプリケーションはdiscard
です。ポリサー定義の詳細については、「ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイド」を参照してください。
アプリケーションに基づく AACL フローのログ記録
アプリケーションに基づいて AACL フローをログに記録できるようになりました。特定のアプリケーションを選択したり、不明なアプリケーションの情報を要求したりできます。
不明なアプリケーションに一致するように AACL ルールを設定できるようになりました。認識されたアプリケーションに適用できるすべての既存のアクションは、不明なアプリケーションにも適用できます。 [edit services aacl rule rule-name term term-name from]
階層レベルでは、以下のステートメントを使用することができます。
-
アプリケーショングループ-any
-
アプリケーショングループ
-
アプリケーション-不明
-
アプリケーション
-
ネストされたアプリケーション-不明
-
ネストされたアプリケーション
一致する application-unknown
を追加することで、特定できないアプリケーションに関連する入力フローの特定のロギングが可能になります。ロギングは入力イベントによってトリガーされるため、 match-direction
を input-output
または input
として指定する必要があります。
AACL のフローのロギングを設定するには、[edit services aacl rule rule-name]
階層レベルに match-direction input
または match-direction input-output
ステートメントを、[edit services aacl rule rule-name term term-name from]
階層レベルに applications
または application-unknown
ステートメントを、[edit services aacl rule rule-name term term-name then]
階層レベルに log
ステートメントを 1 つだけ含めます。ログステートメントには、以下のオプションのいずれかを含めることができます。
-
session-start
-
session-end
-
session-start-end-no-stats
-
session-start-interim-end
-
session-interim-end
-
session-end