Palo AltoでURLカテゴリの「*」と「/」の違いを確認してみた

Paloalto Paloalto
この記事は約5分で読めます。

Palo Altoでは、URLカテゴリを利用して特定のWebサイトへのアクセスを許可・拒否できます。

カスタムURLカテゴリを作成するとき、URLには以下のような書き方があります。

yahoo.co.jp
*.yahoo.co.jp
*.yahoo.co.jp/

一見すると似ていますが、*/ の有無によってURLのマッチング方法が変わります。

今回は、実際にURLカテゴリを作成して、以下の3パターンでアクセス結果を確認してみました。

  • yahoo.co.jp
  • *.yahoo.co.jp
  • *.yahoo.co.jp/

検証した環境は以下のとおりです。

  • PAN-OS:12.1.4-h5
  • Azure上の仮想アプライアンス
広告

1.URLカテゴリで yahoo.co.jp を設定した場合

まずは、文頭に「*」や末尾に「/」を設定しない場合のURLカテゴリの挙動を調べてみます。

1-1. URLカテゴリとセキュリティポリシーを作成

・URLカテゴリで URL-yahoo を作成して yahoo.co.jp を設定します。

URLカテゴリで「URL-yahoo」を作成して「yahoo.co.jp」を設定

・セキュリティポリシーで「URL-yahoo」を設定した許可ポリシーを設定します。
 また、その下のポリシーとして「All-Deny」を作成しておきます。

「URL-yahoo」を設定した許可ポリシーを設定し、その下のポリシーとして「All-Deny」を作成

1-2. アクセス確認

この状態で「yahoo.co.jp」にアクセスするとページを開くことはできませんでした。

「yahoo.co.jp」にアクセスするとページを開くことはできない

「yahoo.co.jp」にアクセスすると「www.yahoo.co.jp」に変換されてアクセスすることになります。

ですが、今回URLカテゴリで許可したURLとしては「*」なども付けていない「yahoo.co.jp」のURLだけなので、「www.yahoo.co.jp」は許可URLに含まれていないということになり、アクセスすることができませんでした。

2.URLカテゴリで *.yahoo.co.jp を設定した場合

次に、文頭に「*」を追加したURLでURLカテゴリを定義して挙動を確認してみます。

2-1. URLカテゴリを変更

・先ほど作成したURLカテゴリ URL-yahoo を変更して *.yahoo.co.jp として設定します。

URLカテゴリ「URL-yahoo」を変更して「*.yahoo.co.jp」として設定

2-2. アクセス確認

この状態で「yahoo.co.jp」にアクセスすると、画面表示は崩れていますがページを開くことできました。

「yahoo.co.jp」にアクセスすると、画面表示は崩れているがページを開くことができる

また、「news.yahoo.co.jp/pickup」などのURLにおけるサブディレクトリに対してもアクセスすることができました。

「news.yahoo.co.jp/pickup」などのURLにおけるサブディレクトリに対してもアクセスすることができる

3.URLカテゴリで *.yahoo.co.jp/ を設定した場合

次に、文頭に「*」を設定した状態で、さらに末尾に「/」を追加したURLでURLカテゴリを定義して挙動を確認してみます。

3-1. URLカテゴリの変更

・URLカテゴリ URL-yahoo を変更して *.yahoo.co.jp/ として設定します。

URLカテゴリ「URL-yahoo」を変更して「*.yahoo.co.jp/」として設定

3-2. アクセス確認

この状態で「yahoo.co.jp」にアクセスすると、先ほどと同様に画面表示は崩れていますがページを開くことができました。

先ほどと同様にページを開くことができる

また、「news.yahoo.co.jp/pickup」などのURLにおけるサブディレクトリに対してもアクセスすることができました。

先ほどと同様にURLにおけるサブディレクトリに対してもアクセスすることができる

4.まとめ

URLカテゴリの挙動を試した上記結果のまとめです。

4-1. 「*」について

「*」がついていない場合、設定しているURL以上のサブドメインまで含まれない。

URLカテゴリの設定値アクセス先アクセス可否
*.yahoo.co.jpwww.yahoo.co.jpアクセス
yahoo.co.jpwww.yahoo.co.jpアクセス不可

すなわち、設定しているURL以上のサブドメインを含みたい場合には「*」を利用します。

4-2. 「/」について

・URLの末尾に「/」をつけた場合とつけない場合で [URLカテゴリの挙動] は一緒

URLカテゴリの設定値アクセス先アクセス可否
*.hogehoge.comhogehoge.com/hogeアクセス
*.hogehoge.com/hogehoge.com/hogeアクセス

すなわち、/ の有無にかかわらずサブディレクトリはアクセス可能という挙動です。

5.ワイルドカード*の扱いと^について

5-1. *.yahoo.*.jp や *.yahoo.^.jp も設定可能

ちなみにURLカテゴリでは、「*.yahoo.*.jp」というように間のサブドメインをワイルドカードとして設定することもできます。

「*.yahoo.*.jp」というように間のサブドメインをワイルドカードとして設定することも可能

ただしこの場合、www.yahoo.co.jp にもアクセス可能ですが、www.yahoo.co.co.co.jp というURLにもアクセス可能となってしまうため注意が必要です。

もし、間のサブドメインを1つに限定したい場合には「^」を利用することで解決することができます。

間のサブドメインを1つに限定したい場合には「^」を設定

この場合、「www.yahoo.co.co.co.jp」は含まれず、「www.yahoo.co.jp」や「www.yahoo.hogehoge.jp」というようなURLに限定することができます。

5-2. *はトークン内の一部だけに指定することはできない

URLエントリではワイルドカードを使用できますが、*はトークン内の一部だけに指定することはできません。

例えば、example*.com のような設定はできません。

webコンソール上でもエラーとなります。

*はトークン内の一部だけに指定することはできない

6.まとめ

今回は、Palo AltoのURLカテゴリで、以下の設定を入れてURLのマッチング動作を確認しました。

yahoo.co.jp
*.yahoo.co.jp
*.yahoo.co.jp/

ポイントをまとめると以下のとおりです。

6-1. * について

* を使用すると、サブドメインを含めてURLを指定できます。

6-2. / について

末尾の / は、URLのマッチング範囲を明確にするために利用できます。

URLの意図しないマッチを防ぐためにも重要です。

6-3. * と ^ について

さらに細かくURLの範囲を指定したい場合は、* だけでなく ^ も利用できます。

*.hogehoge.com
^.hogehoge.com

このように使い分けることで、サブドメインのマッチ範囲を調整できます。

Palo AltoのURLカテゴリを設定するときは、「どのURLを許可・拒否したいのか」を考えて、*^/ を使い分けることが重要です。