Palo AltoでURLカテゴリ・URLフィルタリングをCLIで設定する方法

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

Palo Altoでは、URLカテゴリやURLフィルタリングプロファイルをCLIから設定できます。

今回は、URLカテゴリとURLフィルタリングに関する代表的なCLIコマンドをまとめてみました。

今回は、以下の設定をまとめています。

  • カスタムURLカテゴリの作成
  • URLの追加・削除
  • URLフィルタリングプロファイルの作成
  • カテゴリごとのアクセス制御
  • カテゴリごとのユーザー証明書送信制御
  • URLフィルタリングプロファイルの削除

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

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

1.URLカテゴリ

1-1. URLカテゴリ作成

URLカテゴリのタイプの指定が必要になります
今回は「URLリスト」を指定して、ユーザが指定する URL を登録します。

set profiles custom-url-category <URLカテゴリ名> type 'URL List'

・記載例

set profiles custom-url-category url-category-01 type 'URL List'

1-1-1. 注意点(クォーテーションが必要)

[type] の引数である [URL list] は ”(クォーテーション)で囲むことに注意してください。
クォーテーションがないと [URL list] の空白がコマンドとして読み込まれエラーとなります

クォーテーションがない場合エラーとなる

1-2. URLリスト追加

上記で URLカテゴリを作成したので次にそのカテゴリ内に URL を登録していきます。

set profiles custom-url-category <URLカテゴリ名> list <URL>

・記載例

set profiles custom-url-category url-category-01 list www.google.com

複数の URL を一度に登録したい場合には [] を利用することで一度に登録可能です。

set profiles custom-url-category url-category-01 list [ www.google.com www.yahoo.co.jp ]

各 URL は ” で囲んでも囲まなくても設定可能です。

1-3. URLカテゴリ削除

URLカテゴリをオブジェクトごと削除したい場合には、オブジェクト名を指定するだけで削除可能です。

delete profiles custom-url-category <URLカテゴリ名>

・記載例

delete profiles custom-url-category url-category-01

1-3-1. 特定のURLのみ削除

特定の URL だけを削除する場合には、引数として削除する URL を明示的に記載する必要があります。

delete profiles custom-url-category <URLカテゴリ名> list <URL>

・記載例

delete profiles custom-url-category url-category-01 list www.google.com
1-3-2. 注意点(削除コマンドでリスト形式は利用できない)

複数の URL を削除したい場合にはリスト形式は利用できないので1つの URL ずつ行を分けて削除する必要があります。

リスト形式で削除しようとすると以下のようなエラーが出ます。

リスト形式で削除しようとするとエラーが出る

なので、今回の例では url-category-01 に含まれる www.google.comwww.yahoo.co.jp を削除したい場合には、それぞれ削除するコマンドを記載する必要があります。

delete profiles custom-url-category url-category-01 list www.google.com
delete profiles custom-url-category url-category-01 list www.yahoo.co.jp

2.URLフィルタリング

2-1. URLフィルタリングプロファイル作成

プロファイルの作成自体はプロファイル名を指定するだけで作成可能です。

set profiles url-filtering <URLフィルタリングプロファイル名>

・記載例

set profiles url-filtering url-fitering-01

作成直後の状態だと、「事前定義のカテゴリ」はすべて「Allow」になっています

なので各カテゴリに対して [block] や [alert] などの指定は別途する必要があります。

なお、プロファイル名の最大文字数は31文字までなのでその点も注意してください。

2-2. カテゴリごとのサイトアクセスの許可/拒否

カテゴリごとにサイトアクセスをどのように設定するかはリスト形式で設定可能です。

 # alertにする
set profiles url-filtering <URLフィルタリングプロファイル名> alert <カテゴリ>

 # blockにする
set profiles url-filtering <URLフィルタリングプロファイル名> block <カテゴリ> 

・記載例

 # alertにする
set profiles url-filtering url-fitering-01 alert [ url-category-01 adult ]

 # blockにする
set profiles url-filtering url-fitering-01 block [ url-category-01 adult ]

上記の例ではカスタムカテゴリの url-category-01 と事前定義済みカテゴリの adult の設定を変更しています。

設定値としては [alert] [block] 以外にも [none] [continue] [override] などもあります。
 ※デフォルトの設定値の [allow] は除いています。

ちなみに [block] を指定すると「ユーザー証明書送信」の設定も [block] となります。
[alert] [continue] [override] も試しましたが、この挙動は [block] を指定した際のみ起こるようです。

また、下部の[参考] [defaut]プロファイルと同じカテゴリにするコマンドにデフォルトのカテゴリと同じカテゴリ設定にするコマンドを記載してみましたので参考にしてください。

2-3. カテゴリごとのユーザー証明書送信の許可/拒否

カテゴリごとにユーザー証明書送信をどのように設定するかはリスト形式で設定可能です。

 # alertにする
set profiles url-filtering <URLフィルタリングプロファイル名> credential-enforcement alert <カテゴリ> 

 # blockにする
set profiles url-filtering <URLフィルタリングプロファイル名> credential-enforcement block <カテゴリ>   

・記載例

 # alertにする
set profiles url-filtering url-fitering-01 credential-enforcement alert [ url-category-01 adult ]  

 # blockにする
set profiles url-filtering url-fitering-01 credential-enforcement block [ url-category-01 adult ]  

「サイトアクセス」の設定とは異なり、「ユーザー証明書送信」の設定で [block] を指定しても「サイトアクセス」の設定は [block] にはなりません

2-4. URLフィルタリングプロファイル削除

プロファイルの削除はプロファイル名を指定するだけで削除可能です。

delete profiles url-filtering url-fitering-01

3.CLI設定時の注意点

3-1. 一度サイトアクセスの設定を入れるとCLIでは設定値を変更できない

サイトアクセスの設定で一度 CLI で設定を入れると、設定後に [allow] や [alert] などの別の設定値に変更することができませんでした。

一度CLIで設定を入れると、設定後に[allow]や[alert]などの別の設定値に変更することができない

上記では、一度 [block] に設定した後に [allow] や [alert] への設定変更を試してみましたが変更することはできませんでした。

また、一度 [alert] に設定した後に [allow] や [block] への設定変更を試してみましたがこれもダメでした。

webコンソール側では変更できたので、一度変更した設定値は webコンソール上で設定変更するしかないのかなと思います。

3-2. デフォルトのプロファイルのコピーはCLIではできない

URLフィルタリングプロファイルには、デフォルトで設定されている [default] というプロファイルが存在しますが、 CLI ではこの [default] プロファイルをコピーすることができませんでした。

CLIではdefaultプロファイルをコピーすることができない

そもそも CLI 上では URLフィルタリングプロファイルのリストにないように見えます。
copy コマンド利用時にプロファイルの選択肢に [default] がありません。

copyコマンド利用時にプロファイルの選択肢に[default]がない

ただ、これも webコンソール上からであればコピー可能であるので、 [default] のプロファイルを利用したい場合には、webコンソールを利用してコピーして編集をする必要があるかと思います。

4.コマンドまとめ

今回のコマンドをまとめます。

操作CLIコマンド
URLカテゴリ作成set profiles custom-url-category <名前> type 'URL List'
URL追加set profiles custom-url-category <名前> list <URL>
URLカテゴリ削除delete profiles custom-url-category <名前>
URL削除delete profiles custom-url-category <名前> list <URL>
URLフィルタリング作成set profiles url-filtering <名前>
カテゴリをAlertset profiles url-filtering <名前> alert <カテゴリ>
カテゴリをBlockset profiles url-filtering <名前> block <カテゴリ>
証明書送信をAlertset profiles url-filtering <名前> credential-enforcement alert <カテゴリ>
証明書送信をBlockset profiles url-filtering <名前> credential-enforcement block <カテゴリ>
URLフィルタリング削除delete profiles url-filtering <名前>

5.まとめ

今回は、Palo AltoのURLカテゴリとURLフィルタリングをCLIから設定する方法をまとめました。

特に複数のURLやカテゴリをまとめて設定する場合は、CLIを利用すると効率よく設定できます。

URLカテゴリでは、追加時はリスト形式を利用できますが、削除時はURLを1つずつ指定する必要がある点に注意してください。

また、URLフィルタリングでは、サイトアクセスだけでなく、ユーザー証明書の送信についてもカテゴリごとに制御できます。