宛先プロファイルでDefinitionの下にネットワークターゲットを追加する場合、 一致のための完全一致パターンまたは正規表現パターンを指定できます。 このリストの各行は、コメントまたは宛先である必要があります。
Comments
処理中はコメントは完全に無視されます。コメントが宛先と同じ行に含まれている場合、そのエントリは無効になりますのでご注意ください。コメントにはUTF-8がサポートされています。
コメントを追加するには、行をシャープ記号 ( # ) またはセミコロン ( ; ) で始めます。 空行もコメントとみなされます。複数行のコメントを作成するには、各行の先頭に番号記号またはセミコロンを追加します。
完全一致
このセクションでは、完全一致のためのベストプラクティスとサポートされている構文について、例を交えて説明します。
ヒント
ドメインのマッチングは常に大文字小文字を区別しません。 大文字小文字の区別に関する設定は、パスとクエリにのみ適用されます。
IPアドレス、CIDR、または範囲のマッチングでは、常にターゲットIPアドレスが評価されます。プロキシ経由のトラフィックの場合、プロキシがIPアドレスを解決しますが、これはクライアント側の宛先IPアドレスとは異なる場合があります。
完全一致のベストプラクティス
完全一致の宛先を追加する際には、以下のベストプラクティスを考慮してください。
- 元の URL (例:
https://www.netskope.com/) に一致させるには、次の構文で入力します:www.netskope.comまたは*.netskope.com(サブドメインに一致させる場合)。www.netskope.com/は有効ですが、 この構文で一致させるのはベストプラクティスではありません。 - ポリシーで特定のポートを対象とする必要がある場合にのみ、ポートを追加してください。使うケースによっては、サービス プロファイルを使う方が適しています。
- 宛先プロファイルはスキーム(
http://およびhttps://)をサポートしていないため、代わりにポートを指定する必要があります。例えば、HTTPSのみにマッチを限定するには、宛先にポート443を追加します(例:www.netskope.com:443)。 - 必要な場合にのみ宛先へのパスを追加してください。これにより、一致するトラフィックが復号化されたものに限定されます。
- クエリ文字列は避けてください。パラメータの順序が変更されると、マッチングが失敗します。クエリマッチングには正規表現を使うことをお勧めします。 クエリ文字列は、パラメータと順序が一致する場合に、特定のURLに一致を限定します。
完全一致にサポートされている構文
正確な一致を得るために、宛先プロファイルに宛先を追加する際は、正しい構文を使用していることを確認してください。
FQDNs
有効なドメイン名を入力してください(例: www.netskope.com )。これは指定されたドメインへのリクエストのみに一致し、サブドメインには一致しません。国際ドメイン名(IDN)のエンコードに対応しています。
PQDNs
有効なドメイン名の前にアスタリスク( * )を入力してください(例: *.netskope.com )。これは、指定されたトップレベルドメイン(TLD)およびすべてのサブドメインへのリクエストを照合します。例えば、 *.netskope.com TLD Netskope .com とすべてのサブドメインに一致します。 IDNエンコーディングがサポートされています。
IPs
有効な IPv4 アドレスを入力してください (例: 163.116.128.1 )。これは、指定されたIPアドレスを対象とするリクエストに一致します。
CIDR
有効な IPv4 CIDR をプレフィックスCIDR付きで入力してください (例: CIDR:163.116.128.1/24 )。これは、指定されたCIDR内のIPアドレスを対象とするリクエストに一致します。
Ranges
有効な IPv4 範囲をプレフィックスRANGE付きで入力してください (例: RANGE:163.116.128.10-163.116.128.19 )。これは、指定された範囲のIPアドレスを対象とするリクエストに一致します。
港
(オプション)宛先の末尾にポートを追加すると、一致対象を指定したポートに限定できます(例: www.netskope.com:80 )。TCPおよびUDPポートの有効な値は1から65535の間です。ただし、ポート範囲はサポートされていないことに注意してください。
パスとクエリ
(オプション)指定したパスまたはクエリに一致を限定するために、宛先の末尾にパスまたはクエリを追加します(例: www.netskope.com/path?q=value )。
パスとクエリは「with で開始」演算子を使用しますが、ワイルドカードはサポートされていません (つまり、アスタリスクは通常の文字として扱われます)。
パスとクエリでは特殊文字がサポートされています。
- 以下の非エンコード文字がサポートされています。
!$&'()*+,-/:;=@[]_~ - 疑問符(
?)はパスとクエリを区切ります。クエリには、疑問符を追加することができます。 - 番号記号(
#)はURLセグメントを示し、HTTPクライアントのみが処理します。宛先プロファイルが設定ミスを防ぐために拒否するため、プロキシには送信されません。 - その他の特殊文字はURLエンコードする必要があります。
- プロキシは、HTTPクライアントが送信する構文を正確に評価します。
フォルダに一致させるには、パスの末尾にスラッシュ( / )を追加します。例えば、 www.netskope.com/path/ www.nestkope.com/path/やwww.netskope.com/path/file.htmlのようなpathフォルダのみに一致します。以下のいずれとも一致しません: www.netskope.com/pathまたはwww.netskope.com/path2/ 。
対照的に、 www.netskope.com/path 、 www.netskope.com/path 、 www.netskope.com/path/ 、 www.netskope.com/path2/ 、 www.netskope.com/path/file.html 、 www.netskope.com/path_description.htmlなど、このパスで始まるすべての URL に一致します。
完全一致の例
以下は、有効な完全一致パターンの例です。
# Examples of destinations supported in Destination Profiles # Lines starting with # or ; are comments; empty lines are also comments. # Syntax for exact match: (FQDN|PQDN|IP|CIDR|Range)[:Port][/Path[?Query]] ## Details for the main section (FQDN|PQDN|IP|CIDR|Range) # FQDN (Fully Qualified Domain Name) matches the exact domain only www.example.com # PQDN (Partially Qualified Domain Name) starts with *. # Matches the top domain and any subdomain *.example.com # IP based (also evaluates resolved domain) 163.116.128.80 # Range based (also evaluates resolved domain) RANGE:163.116.128.10-163.116.128.19 # CIDR based (also evaluates resolved domain) CIDR:163.116.128.0/17 ## Options can be added to the main section # [:Port] Option: restricts destination to a single port: www.example.com:8080 *.example.com:8080 163.116.128.80:8080 RANGE:163.116.128.10-163.116.128.19:8080 CIDR:163.116.128.0/17:8080 # [/Path[?Query]] Option: restricts to HTTP Path and Query string # Warning 1: Path and Query apply only to decrypted HTTP # Warning 2: Query matches exact parameters in order; best to use regex www.example.com/path www.example.com/path?q=value *.example.com/path *.example.com/path?q=value 163.116.128.80/path 163.116.128.80/path?q=value RANGE:163.116.128.10-163.116.128.19/path RANGE:163.116.128.10-163.116.128.19/path?q=value CIDR:163.116.128.0/17/path CIDR:163.116.128.0/17/path?q=value # Options can be combined, for example www.example.com:8080/path?q=value *.example.com:8080/path?q=value 163.116.128.80:8080/path?q=value RANGE:163.116.128.10-163.116.128.19:8080/path?q=value CIDR:163.116.128.0/17:8080/path?q=value
Regex
このセクションでは、正規表現マッチングにおけるベストプラクティス、サポートされている構文、およびサポートされていない構文について、例を交えて説明します。
宛先プロファイルの正規表現パターンは、 Netskope Proxyでのみサポートされていることに注意してください。 さらに、正規表現はURLのみを評価し、解決されたIPアドレスは評価しません。ドメインが不明な場合は、IPアドレスがFQDNとして使用されます。
評価における主な相違点は以下のとおりです。SSL復号化前(SSL使用時) およびトラフィックが復号化されていない場合(リアルタイム保護使用時) 正規表現エンジンはFQDN文字列を評価します。 SSL復号化後、ポートが標準(HTTPの場合は80、HTTPSの場合は443)であれば、プロキシはFQDN、パス、クエリを評価します。それ以外の場合は、プロキシはFQDN、ポート、パス、およびクエリを評価します。
正規表現のベストプラクティス
正規表現マッチングの宛先を追加する際には、以下のベストプラクティスを考慮してください。
- 完全一致が不可能な場合にのみ正規表現を使用します。 例えば、ドメインとサブドメインを照合するには、完全一致(
*.netskope.com)が最適です。/searchで始まるパスを持つリクエストに一致させるには、 完全一致。 - 正規表現は、複数のTLDを持つドメインやクエリパラメータを照合するのに効率的です。
- 正規表現を作成する際は、以下の点に注意してください。
- ドメイン名内のピリオド(
.)はエスケープする必要があります。 - パス内のスラッシュ(
/)をエスケープする必要はありません。 - 正規表現は、ドメイン、パス、クエリパラメータを含む完全なURLを評価します。ドメインのみを一致させるには、構文内でドメインを分離します。
- ドメイン名内のピリオド(
正規表現でサポートされている構文
正規表現の宛先プロファイルに宛先を追加する際は、正しい構文を使用していることを確認してください。 Netskopeは、PCRE(Perl互換正規表現)8.41以降の構文を部分的にサポートしています。
Literals & Escapes
| 構文 | デスクリプション | 例 |
|---|---|---|
| 文字 | プレーン文字 | abc, foo |
| 脱出シーケンス | 特殊キャラクターの脱出 | \., \*, \+, \?, \[, \] |
| Hexadecimal | \xhh | \x41 (キャラクター「A」) |
| Octal | \ooo | \101 (キャラクター「A」) |
| Unicode | \x{hhh...} | \x{1F600} (emoji) |
| 制御文字 | \n, \r, \t | \n (改行) |
以下は有効な例です。
foo\.com # Matches "foo.com" \d+\.\d+\.\d+ # Matches IP format file\x2Etxt # Matches "file.txt"
キャラクタークラス
| 構文 | デスクリプション | 例 |
|---|---|---|
. | 改行文字を除く任意の文字 | a.c abc 、 a1c |
[abc] | 文字セット | [aeiou] |
[^abc] | 否定された文字クラス | [^0-9] |
[a-z] | 文字範囲 | [A-Za-z0-9] |
\d | Digit [0-9] | \d+ |
\D | Non-digit [^0-9] | \D+ |
\w | 文字 [A-Za-z0-9_] | \w+ |
\W | 非単語文字 | \W+ |
\s | Whitespace | \s+ |
\S | Non-whitespace | \S+ |
\h | Horizontal whitespace | \h+ |
\H | Non-horizontal whitespace | \H+ |
\v | 垂直方向の空白 | \v+ |
\V | Non-vertical whitespace | \V+ |
以下は有効な例です。
[0-9]{1,3}\.[0-9]{1,3} # Matches first two octets of IP
\w+@\w+\.\w+ # Simple email matching
\d{4}-\d{2}-\d{2} # Date format YYYY-MM-DD
Quantifiers
| 構文 | デスクリプション | Equivalent |
|---|---|---|
* | 0回以上 | {0,} |
+ | 1回以上 | {1,} |
? | ゼロまたは1回 | {0,1} |
{n} | ちょうどn回 | 該当なし |
{n,} | 少なくともn回 | 該当なし |
{n,m} | n m回 | 該当なし |
*? | Non-greedy zero or more | 該当なし |
+? | 非貪欲な1つまたは複数 | 該当なし |
?? | Non-greedy zero or one | 該当なし |
{n,m}? | Non-greedy range | 該当なし |
以下は有効な例です。
a* # Matches "", "a", "aa", "aaa"
a+ # Matches "a", "aa", "aaa"
a? # Matches "", "a"
a{3} # Matches "aaa"
a{2,4} # Matches "aa", "aaa", "aaaa"
a*? # Non-greedy, prefers shortest match
<.*?> # Matches HTML tags (non-greedy)
Anchors
| 構文 | デスクリプション |
|---|---|
^ | 文字列または行の始まり |
$ | 紐または線の終わり |
\A | 絶対文字列の開始 |
\Z | 絶対文字列の終わり |
\z | 厳密な文字列の終わり |
\b | 単語の境界 |
\B | 非単語境界 |
以下は有効な例です。
^https:// # Must start with https:// \.com$ # Must end with .com \bword\b # Matches complete word "word" ^[a-z]+$ # Entire string must be lowercase letters
グループと交代
重要
Hyperscanのグループはキャプチャ機能を持たないため、一致するコンテンツを抽出しません。
| 構文 | デスクリプション | 制限 |
|---|---|---|
(abc) | Non-capturing group | これはコンテンツをキャプチャしません。 |
(?:abc) | Explicit non-capturing | 該当なし |
a|b | 選択肢(OR) | 該当なし |
(a|b|c) | Grouped alternation | 該当なし |
以下は有効な例です。
(http|https|ftp):// # Matches multiple protocols (foo|bar)\.com # Matches foo.com or bar.com (?:www\.)?example\.com # Optional www.
Inline Modifiers
| 構文 | デスクリプション |
|---|---|
(?i) | 鈍感力 |
(?-i) | ケース感度をオフにします。 |
(?m) | 複数行モード |
(?s) | 単一行モード、つまり.は改行に一致します。 |
(?x) | Extended mode, i.e., ignore whitespaces. |
以下は有効な例です。
foo(?i)bar(?-i)baz # Only bar is case-insensitive (?i)case-insensitive # Entire expression is case-insensitive (?x) \d+ \. \d+ # Extended mode, spaces ignored
Unicode
| 構文 | デスクリプション |
|---|---|
\x{hhh} | Unicodeコードポイント |
\p{L} | Unicode文字 |
\p{N} | Unicode番号 |
\p{S} | Unicode記号 |
\p{Z} | Unicode separators |
\P{L} | Non-unicode letters |
HS_FLAG_UTF8 | UTF-8モード |
以下は有効な例です。
\p{L}+ # Matches letters in any language
\p{Han}+ # Matches Chinese characters
\x{1F600} # Matches specific emoji
特殊構造物
| 構文 | デスクリプション |
|---|---|
\Q...\E | 文字通りのブロック |
(?#comment) | Comment |
正規表現でサポートされていない構文
以下の内容は、宛先プロファイルではサポートされていません。
| 構文 | デスクリプション |
|---|---|
(?=abc) | 明るい展望 |
(?!abc) | ネガティブな見通し |
(?<=abc) | ポジティブな振り返り |
(?<!abc) | 否定的な振り返り |
(abc) capture | 一致するコンテンツを抽出 |
\1, \2 | Backreferences |
(?<name>...) | 名前付き捕獲グループ |
\k<name> | 名前付き後方参照 |
\g{n} | 相対的な後方参照 |
(?(condition)yes|no) | 条件付きマッチング |
(?(1)yes|no) | グループベースの条件 |
(?(R)yes|no) | 再帰条件 |
(?R) | パターン全体を再帰的に再帰します。 |
(?1) | サブパターンを呼び出す |
(?&name) | 名前付きサブパターンを呼び出す |
(?P>name) | Pythonスタイルの再帰 |
\G | 前回の試合終了時の順位 |
\K | 左側通行 |
(*UTF) | UTFモード宣言 |
(*UCP) | Unicodeプロパティ |
(*ACCEPT) | マッチを即座に承認する |
(*FAIL) | 強制的な破壊 |
(*SKIP) | Skip |
(*PRUNE) | Prune |
(*COMMIT) | Commit |
正規表現の例
以下は有効な正規表現パターンの例です。
複数のTLDに対応する正規表現パターンの例
以下は、 Googleがサポートするドメインのリストにある、サポートされている任意のTLDでのGoogle検索に一致する正規表現の例です。
Example 1
これは、OR条件で全てのドメインに一致する例です。
^(www\.)?google\.(com|ad|ae|al|am|as|at|az|ba|be|bf|bg|bi|bj|bs|bt|by|ca|cd|cf|cat|cg|ch|ci|cl|cm|cn|cv|cz|de|dj|dk|dm|dz|ee|es|fi|fm|fr|ga|ge|gg|gl|gm|gp|gr|gy|hn|hr|ht|hu|ie|im|iq|is|it|je|jo|ki|kg|kz|la|li|lk|lt|lu|lv|md|me|mg|mk|ml|mn|mu|mv|mw|ne|nl|no|nr|nu|pl|pn|pt|ro|ru|rw|sc|se|sh|si|sk|sn|so|sm|sr|st|td|tg|tl|tm|tn|to|tt|vg|vu|ws|com\.(af|ag|ai|ar|au|bd|bh|bn|bo|br|bz|cu|cy|do|ec|eg|et|fj|gh|gi|gt|hk|jm|kh|kw|lb|lc|ly|mm|mt|mx|my|na|ng|ni|np|om|pa|pe|pg|ph|pk|pr|py|qa|sa|sb|sg|sl|sv|tr|ua|uy|vc|ve|vn)|co\.(ao|bw|ck|cr|id|il|in|jp|ke|kr|ls|ma|mz|nz|th|tz|ug|uk|uz|ve|za|zm|zw))(/|$)
Example 2
これは、より広範なTLD一致の一例です。
^(www\.)?google\.(com?\.)?[a-z]{2,3}(/|$)
/searchパスのみに一致させるには:
^(www\.)?google\.(com?\.)?[a-z]{2,3}/search
クエリの正規表現パターン例
これは、Google検索でキーワードforbiddenをブロックする例です。
^(www\.)?google\.(com?\.)?[a-z]{2,3}/search\?([^&]*&)*q=[^&]*forbidden([^&]*)
ドメイン名内のキーワードの正規表現パターン例
これは、ドメイン名内の任意の場所でキーワードforbiddenをブロックする例です。
^[^/?]*forbidden[^/?]*(/|$)

