カスタム侵入ポリシーは、ローカルルールファイルをインポートすることによって作成できます。ルールファイルの拡張子は、.txt
または .rules
です。作成方法に関わらず、システムはカスタム ルールをローカル ルールに分類して保存します。カスタムルールはルールグループに属している必要があります。ただし、カスタムルールは複数のグループの一部になることもできます。
カスタム侵入ルールを作成すると、システムは一意のルール番号(番号の形式は GID:SID:Rev
)を割り当てます。この番号には次の要素が含まれます。
-
GID:ジェネレータ ID。カスタムルールの場合、GID を指定する必要はありません。システムは、ルールのアップロード中にグローバルドメインまたはサブドメインのどちらにいるかに基づいて GID を自動的に生成します。標準テキスト ルールでは、グローバルドメインの値は
2000 です。
-
SID:Snort ID。ルールがシステム ルールのローカル ルールであるかどうかを示します。新しいルールを作成する場合は、一意の SID をルールに割り当てます。
ローカル ルールの SID 番号は 1000000 から始まり、新しいローカル ルールにつき番号が 1 ずつ増えます。
-
Rev:リビジョン番号。新しいルールのリビジョン番号は 1 です。カスタムルールを変更するたびに、リビジョン番号は 1 ずつ増える必要があります。
カスタム標準テキスト ルールでは、ルール ヘッダー設定、ルール キーワード、およびルール引数を設定できます。特定のプロトコルを使用する、特定の IP アドレスまたはポートを行き来するトラフィックだけをルールで照合するよう、ルール ヘッダーを設定できます。
(注)
|
|
Snort 3 の機密データの検出
社会保障番号、クレジットカード番号、E メールなどの機密データは、インターネットに意図的に、または誤って漏洩される可能性があります。機密データの検出は、機密データの漏洩の可能性を検出してイベントを生成するために使用されます。イベントは、大量の個人識別情報(PII)データが転送された場合にのみ生成されます。機密データの検出ではイベントの出力で
PII をマスクできます。
sd_pattern オプション
PII を検出してフィルタリングするには、sd_pattern IPS オプションを使用します。この情報には、クレジットカード番号、米国社会保障番号、電話番号、電子メールアドレスが含まれます。独自の PII を定義するために、正規表現(regex)構文を使用できます。
sd_pattern オプションには、次の設定があります。
-
[パターン(Pattern)]:PDU で検索する正規表現を指定する暗黙の必須設定。正規表現は、PCRE 構文で記述する必要があります。
-
[しきい値(Threshold)]:イベントの生成に必要な PDU 内の一致数を指定する明示的なオプション設定。
IPS ルールオプションとしての sd_pattern は、追加のインスペクタの要件なしで Snort で使用できます。ルールオプションの構文は次のとおりです。
sd_pattern: "<pattern>"[, threshold <count>];
次に例を示します。
sd_pattern:"credit_card", threshold 2;
組み込みパターン
機密データには 5 つの組み込みパターンがあります。「パターン」設定で組み込みパターンを使用するには、照合する必要がある PII タイプの名前を指定する必要があり、必要な正規表現で置き換えられます。PII 名と正規表現のマッピングまたはパターンは次のとおりです。
-
credit_card:
\d{4}\D?\d{4}\D?\d{2}\D?\d{2}\D?\d{3,4}
-
us_ Social:
[0-8]\d{2}-\d{2}-\d{4}
-
us_social_nodashes:
[0-8]\d{8}
-
Email:
[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9]
(?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
-
us_phone:
(?:\+?1[-\.\s]?)?\(?([2-9][0-8]\d)\)?[-\.\s]([2-9]\d{2})[-\.\s](\d{4})
PII 名
|
パターン
|
credit_card
|
\d{4}\D?\d{4}\D?\d{2}\D?\d{2}\D?\d{3,4}
|
us_social
|
[0-8]\d{2}-\d{2}-\d{4}
|
us_social_nodashes
|
[0-8]\d{8}
|
email
|
[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)
*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
|
us_phone
|
(?:\+?1[-\.\s]?)?\(?([2-9][0-8]\d)\)?[-\.\s]([2-9]\d{2})[-\.\s](\d{4})
|
これらのパターンに一致するデータのマスキングは、クレジットカード、米国社会保障番号、電子メール、および米国の電話番号のシステム提供ルールまたは組み込みパターンでのみ機能します。マスキングは、カスタムルールまたはユーザー定義の PII パターンでは機能しません。ルールは、機密データ用の
Lightweight Security Package(LSP)gid:13 で使用できます。デフォルトでは、システム提供のポリシーでは有効になっていません。
LSP の機密データルールは、すべての組み込みパターンを対象とし、次のしきい値があります。
-
credit_card:2
-
us_ social:2
-
us_ social_nodashes:20
-
email:20
-
us_phone:20
sd_pattern オプションを使用すると、カスタムルールを作成したり、既存のルールを変更できます。これを行う場合は、Snort 3 侵入ポリシーインターフェイスを使用します。
カスタムパターンとしきい値を使用した sd_pattern を含むルールの例:
alert tcp (sid: 1000000001; sd_pattern:"[\w-\.]+@([\w-]+\.)+[\w-]{2,4}",threshold 4; msg: "email, threshold 4")
例
機密データ検出を使用したカスタムルールの例:
組み込みパターンを使用したルール:
alert tcp (
msg:"SENSITIVE-DATA Email";
flow:only_stream;
pkt_data;
sd_pattern:"email", threshold 5;
service:http, smtp, ftp-data, imap, pop3;
gid:2000;
sid:1000001;
)
カスタムパターンを使用したルール:
alert tcp (
msg:"SENSITIVE-DATA US phone numbers";
flow:only_stream;
file_data;
sd_pattern:"+?3?8?(0[\s\.-]\d{2}[\s\.-]\d{3}[\s\.-]\d{2}[\s\.-]\d{2})", threshold 2;
service:http, smtp, ftp-data, imap, pop3;
gid:2000;
sid:1000002;
)
次に、組み込み機密データパターンを使用した完全な Snort IPS ルールの例をいくつか示します。
-
alert tcp ( sid:1; msg:"Credit Card"; sd_pattern:"credit_card", threshold 2; )
-
alert tcp ( sid:2; msg:"US Social Number"; sd_pattern:"us_social", threshold 2; )
-
alert tcp ( sid:3; msg:"US Social Number No Dashes"; sd_pattern:"us_social_nodashes", threshold 2; )
-
alert tcp ( sid:4; msg:"US Phone Number"; sd_pattern:"us_phone", threshold 2; )
-
alert tcp ( sid:5; msg:"Email"; sd_pattern:"email", threshold 2; )
データマスキングの無効化は、Cisco Secure Firewall Management Center および Cisco Secure Firewall Device Manager ではサポートされていません。