AACLルールの設定
AACLルールを設定するには、[edit services aacl]階層レベルでrule rule-nameステートメントを含めます。
rule rule-name { match-direction (input | output | input-output); term term-name { from { application-group-any; application-groups [ application-group-names ]; applications [ application-names ]; destination-address address <any-unicast>; destination-address-range low minimum-value high maximum-value; destination-prefix-list list-name; nested-applications [ nested-application-names ]; nested-application-unknown source-address address <any-unicast>; source-address-range low minimum-value high maximum-value; source-prefix-list list-name; } then { (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ステートメントを含めます。
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 {
application-group-any;
application-groups [ application-group-names ];
applications [ application-names ];
destination-address address <any-unicast>;
destination-address-range low minimum-value high maximum-value;
destination-prefix-list list-name;
nested-applications [ nested-application-names ];
nested-application-unknown
source-address address <any-unicast>;
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-directioninput-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