【Paloalto】UTM(Threat Prevention :脆弱性防御)の設定と動作確認 PANOS9.0.9-h1.xfr

脆弱性防御(Vulnerability Protection)は、Paloalto の UTM 機能(Threat Prevention)の一つで、システムの脆弱性を狙う通信をシグネチャで検知・防御します。この記事では、シグネチャの更新を設定したあと、セキュリティポリシーに脆弱性防御のプロファイル(default と strict)を適用し、検索サイトで /etc/passwd を検索して、検知と防御の動きを確かめます。

この記事でわかること
  1. アプリケーションおよび脅威のシグネチャを、スケジュールで自動更新する
  2. セキュリティポリシーに脆弱性防御プロファイルを適用する
  3. default と strict のプロファイルで、脅威ログのアクションの違いを確かめる

この記事は、次の記事の内容が前提です。SSL 復号化をしないと、HTTPS 通信の中の脆弱性を狙った通信は検知できません。先にお読みいただくことをおすすめします。

>> 参考記事 : SSL復号化(SSL Forward Proxy)の設定と動作確認

InternetクライアントPaloalto公開サーバHTTPSPaloalto が発行した証明書HTTPS公開サーバの証明書復号して脆弱性をチェックシグネチャに一致した通信を検知
図1 SSL 復号化を前提にした脆弱性防御
検証環境

PAN-OS 9.0.9-h1 で検証しています。PAN-OS 9.0 は 2022年3月1日でサポートが終了(End-of-Life)しています。端末のブラウザは Internet Explorer です。画面の項目の並びや表記は、バージョンによって変わります。

シグネチャを更新する

脆弱性防御のシグネチャは、「アプリケーションおよび脅威」のコンテンツに含まれています。Device ›› ダイナミック更新 で、シグネチャファイルのダウンロードの状況を確認できます。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

更新のスケジュールを設定する

「アプリケーションおよび脅威」の行の「スケジュール:None (Manual)」をクリックすると、シグネチャの自動更新を設定できます。たとえば、次のように毎日 0:00 にシグネチャファイルを更新し、ダウンロードのあとにインストールも行うように設定します。

Paloalto 設定画面(Web UI)画面イメージ
Device ›› ダイナミック更新 ›› アプリケーションと脅威の更新スケジュール
1繰り返し毎日
2時刻00:00
3アクションdownload-and-install
☐ コンテンツ更新での新しいアプリケーションの無効化
しきい値 (時間)[1 – 336]
スケジュールを削除4OKキャンセル
図2 アプリケーションと脅威の更新スケジュール。「新しい App-ID の確認時間延長を許可」の欄は省いています(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1繰り返し更新の間隔です。今回は「毎日」にしました。
2時刻更新する時刻です。今回は 00:00 にしました。
3アクションダウンロードのみ(download-only)か、ダウンロードとインストール(download-and-install)を選びます。今回は download-and-install にしました。
4OKOK をクリックすると、スケジュールが「Every day at 00:00 (Download and Install)」になります。

更新の結果を確かめる

シグネチャファイルのダウンロードとインストールが終わると、次のように「ダウンロード済み」と「現在インストール済み」にチェックが入ります。

Paloalto 設定画面(Web UI)画面イメージ
Device ›› ダイナミック更新 ▾ アプリケーションおよび脅威 スケジュール: Every day at 00:00 (Download and Install)
バージョンファイル名リリース日ダウン
ロード済み
現在イン
ストール済み
8328-6342panupv2-all-contents-8328-63422020/10/07 06:47:07 BST
8329-6347panupv2-all-contents-8329-63472020/10/09 01:36:00 BST✔ 以前
⋮
8338-6377panupv2-all-contents-8338-63772020/10/30 23:01:56 GMT
8339-6381panupv2-all-contents-8339-63812020/11/03 18:10:36 GMT1✔✔
図3 インストール後のアプリケーションおよび脅威のシグネチャ。タイプ・サイズなどの列は省いています(実際の画面ではなく、表示のポイントを示したイメージです)

脆弱性防御を設定する

Paloalto の UTM 機能の一つである脆弱性防御を設定し、動作を確かめます。

セキュリティポリシーに適用する

Policies ›› セキュリティ で、LAN からインターネットへのポリシー LAN_to_Internet をクリックし、「アクション」タブを開きます。「プロファイル設定」のプロファイル タイプを None から「プロファイル」に変更し、脆弱性防御で default を選びます。選ばれていることを確かめて、OK をクリックします。

Paloalto 設定画面(Web UI)画面イメージ
Policies ›› セキュリティ ›› LAN_to_Internet ›› アクションタブ
プロファイル設定
1プロファイル タイププロファイル
アンチウイルスNone
2脆弱性防御default
アンチスパイウェアNone
URL フィルタリングNone
ファイル ブロッキングNone
データ フィルタリングNone
WildFire 分析None
3OKキャンセル
図4 セキュリティポリシーのアクションタブ(実際の画面ではなく、設定項目のポイントを示したイメージです)

default プロファイルの中身を見る

プロファイル default の設定は、Objects ›› セキュリティ プロファイル ›› 脆弱性防御 で確認できます。default と strict は、あらかじめ用意されている(事前定義済みの)プロファイルです。

Paloalto 設定画面(Web UI)画面イメージ
Objects ›› セキュリティ プロファイル ›› 脆弱性防御
名前ルール名ホスト
タイプ
重大度アクション
strict
ルール: 10
simple-client-criticalclientcriticalreset-both
simple-client-highclienthighreset-both
simple-client-mediumclientmediumreset-both
simple-client-informationalclientinformationaldefault
simple-client-lowclientlowdefault
simple-server-criticalservercriticalreset-both
simple-server-high
詳細…
serverhighreset-both
1default
ルール: 6
simple-client-criticalclientcriticaldefault
simple-client-highclienthighdefault
simple-client-mediumclientmediumdefault
simple-server-criticalservercriticaldefault
simple-server-highserverhighdefault
simple-server-mediumservermediumdefault
図5 脆弱性防御プロファイルの一覧。脅威名(any)・パケット キャプチャ(disable)などの列は省いています(実際の画面ではなく、表示のポイントを示したイメージです)

default プロファイルでは、たとえば重大度 high に一致した通信は、シグネチャごとに設定されているデフォルトの動作に従います。

今回は、検索サイトで /etc/passwd を検索して、HTTP /etc/passwd Access Attempt という脅威を検知するかどうかを確かめます。まず、default プロファイルがこの脅威をどう扱うかを確認します。一覧の default をクリックし、「例外」タブを開きます。「すべてのシグネチャの表示」にチェックを入れ、検索欄に /etc/passwd と入力すると、該当するシグネチャが表示されます。

Paloalto 設定画面(Web UI)画面イメージ
脆弱性防御プロファイル(読み取り専用)›› default ›› 例外タブ
1検索:/etc/passwd (2/15432)
脅威名ルールCVEホストカテゴリ重大度アクション
HTTP /etc/passwd Access Attemptsimple-server-highCVE-2019-8903,CVE-2020-5410serverinfo-leakhigh3default
(alert)
HTTP /etc/passwd Access Attemptsimple-server-criticalCVE-2017-7577,CVE-2018-14007,CVE-2018-7539,CVE-2018-14064serverinfo-leakcriticaldefault
(alert)
2☑ すべてのシグネチャの表示PDF/CSV
図6 default プロファイルの例外タブで /etc/passwd を検索。ID・有効化などの列は省いています(実際の画面ではなく、表示のポイントを示したイメージです)

デフォルトの動作が alert であることがわかります。参考までに、例外タブでは、シグネチャごとにアクションを次のように変更できます。

Paloalto 設定画面(Web UI)画面イメージ
例外タブ ›› アクションの編集
アクション選択肢許可
両方のリセット
ブロック IP
ドロップ
Default (アラート)サーバーのリセット
クライアントのリセット
アラート
図7 シグネチャのアクションの選択肢(実際の画面ではなく、設定項目のポイントを示したイメージです)
アクション動作
Defaultシグネチャごとに Palo Alto Networks が決めている動作です(多くは alert か reset-both)。
許可(allow)通信を許可します。ログは記録しません。
アラート(alert)通信を許可し、脅威ログに記録します。
ドロップ(drop)通信を破棄します。
クライアントのリセット(reset-client)TCP ではクライアント側の接続をリセットします。UDP では破棄します。
サーバーのリセット(reset-server)TCP ではサーバー側の接続をリセットします。UDP では破棄します。
両方のリセット(reset-both)TCP ではクライアントとサーバーの両方の接続をリセットします。UDP では破棄します。
ブロック IP(block-ip)送信元(または送信元と宛先の組み合わせ)からの通信を、決めた時間だけブロックします。

設定したら、コミットして反映します。

動作確認(default プロファイル)

端末のブラウザで、Google 検索に /etc/passwd と入力します。検索結果が表示されます。

クライアントのブラウザ画面イメージ
https://www.google.com/search?…&q=%2Fetc%2Fpasswd
/etc/passwd – Google 検索検索結果が表示される
図8 default プロファイルのときの検索結果(実際の画面ではなく、表示結果のイメージです)

Monitor ›› ログ ›› 脅威 を見ると、HTTP /etc/passwd Access Attempt という脅威を検出していることがわかります。アクションが alert であることを確認してください。

Paloalto 設定画面(Web UI)画面イメージ
Monitor ›› ログ ›› 脅威
復号化受信日時タイプ名前送信元
ゾーン
宛先
ゾーン
宛先
ポート
アプリケ
ーション
アク
ション
重大度
yes11/04
13:40:24
vulnerability1HTTP /etc/pas…
Access Attempt
LANInternet443google-base2alerthigh
yes11/04
13:39:13
vulnerabilityHTTP /etc/pas…
Access Attempt
LANInternet443google-basealerthigh
図9 default プロファイルのときの脅威ログ。送信元・宛先アドレスの列は省いています(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1名前検知した脅威の名前です。HTTP /etc/passwd Access Attempt を検知しています。
2アクションalert なので、通信は止めずにログに記録しています。そのため、検索結果は表示されます。

動作確認(strict プロファイル)

脆弱性防御のプロファイルを default から strict に変更します。strict では、重大度 high のシグネチャに一致した通信のアクションは reset-both で、クライアントとサーバーの両方の接続をリセットします(図5)。

セキュリティポリシー LAN_to_Internet のアクションタブで、脆弱性防御を strict に変更して OK をクリックし、コミットします。

Paloalto 設定画面(Web UI)画面イメージ
Policies ›› セキュリティ ›› LAN_to_Internet ›› アクションタブ
プロファイル設定
プロファイル タイププロファイル
1脆弱性防御strict
図10 脆弱性防御を strict に変更。None のプロファイルの行は省いています(実際の画面ではなく、設定項目のポイントを示したイメージです)

Google 検索に /etc/passwd と入力すると、ページを表示できないことがわかります。

クライアントのブラウザ画面イメージ
https://www.google.com/search?source=hp&…
このページを表示できませんWeb アドレス https://www.google.com が正しいか確かめてください
図11 strict プロファイルのときのブラウザ(実際の画面ではなく、表示結果のイメージです)

Monitor ›› ログ ›› 脅威 を見ると、HTTP /etc/passwd Access Attempt という脅威を検出し、アクションが reset-both になっていることがわかります。

Paloalto 設定画面(Web UI)画面イメージ
Monitor ›› ログ ›› 脅威
復号化受信日時タイプ名前送信元
ゾーン
宛先
ゾーン
宛先
ポート
アプリケ
ーション
アク
ション
重大度
yes11/08
13:27:24
vulnerabilityHTTP /etc/pas…
Access Attempt
LANInternet443google-base1reset-
both
high
yes11/07
13:23:56
vulnerabilityHTTP /etc/pas…
Access Attempt
LANInternet443google-basereset-
both
high
yes11/04
22:33:13
vulnerabilityHTTP /etc/pas…
Access Attempt
LANInternet443google-basereset-
both
high
⋮
図12 strict プロファイルのときの脅威ログ。送信元・宛先アドレスの列は省いています(実際の画面ではなく、表示のポイントを示したイメージです)
現在の状況

現在のドキュメントでも、default プロファイルは重大度 critical・high・medium の脆弱性にシグネチャのデフォルトのアクションを適用し、strict プロファイルは critical・high・medium をブロックし、low・informational にはデフォルトのアクションを適用する、と説明されています。ベストプラクティスとしては、critical・high・medium のクライアント・サーバーの両方のイベントを reset-both にすることが推奨されています。

まとめ

設定・確認場所内容
シグネチャ更新Device ›› ダイナミック更新アプリケーションおよび脅威を毎日 00:00 に download-and-install
セキュリティポリシーPolicies ›› セキュリティLAN_to_Internet のアクションタブで脆弱性防御に default → strict
プロファイルの確認Objects ›› セキュリティ プロファイル ›› 脆弱性防御例外タブで /etc/passwd のシグネチャのデフォルト動作(alert)を確認
ログMonitor ›› ログ ›› 脅威default では alert、strict では reset-both

参考

コメント