脆弱性防御(Vulnerability Protection)は、Paloalto の UTM 機能(Threat Prevention)の一つで、システムの脆弱性を狙う通信をシグネチャで検知・防御します。この記事では、シグネチャの更新を設定したあと、セキュリティポリシーに脆弱性防御のプロファイル(default と strict)を適用し、検索サイトで /etc/passwd を検索して、検知と防御の動きを確かめます。
- アプリケーションおよび脅威のシグネチャを、スケジュールで自動更新する
- セキュリティポリシーに脆弱性防御プロファイルを適用する
- default と strict のプロファイルで、脅威ログのアクションの違いを確かめる
この記事は、次の記事の内容が前提です。SSL 復号化をしないと、HTTPS 通信の中の脆弱性を狙った通信は検知できません。先にお読みいただくことをおすすめします。
>> 参考記事 : SSL復号化(SSL Forward Proxy)の設定と動作確認
PAN-OS 9.0.9-h1 で検証しています。PAN-OS 9.0 は 2022年3月1日でサポートが終了(End-of-Life)しています。端末のブラウザは Internet Explorer です。画面の項目の並びや表記は、バージョンによって変わります。
シグネチャを更新する
脆弱性防御のシグネチャは、「アプリケーションおよび脅威」のコンテンツに含まれています。Device ›› ダイナミック更新 で、シグネチャファイルのダウンロードの状況を確認できます。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
更新のスケジュールを設定する
「アプリケーションおよび脅威」の行の「スケジュール:None (Manual)」をクリックすると、シグネチャの自動更新を設定できます。たとえば、次のように毎日 0:00 にシグネチャファイルを更新し、ダウンロードのあとにインストールも行うように設定します。
| 1繰り返し | 毎日 |
| 2時刻 | 00:00 |
| 3アクション | download-and-install |
| ☐ コンテンツ更新での新しいアプリケーションの無効化 | |
| しきい値 (時間) | [1 – 336] |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 繰り返し | 更新の間隔です。今回は「毎日」にしました。 |
| 2 | 時刻 | 更新する時刻です。今回は 00:00 にしました。 |
| 3 | アクション | ダウンロードのみ(download-only)か、ダウンロードとインストール(download-and-install)を選びます。今回は download-and-install にしました。 |
| 4 | OK | OK をクリックすると、スケジュールが「Every day at 00:00 (Download and Install)」になります。 |
更新の結果を確かめる
シグネチャファイルのダウンロードとインストールが終わると、次のように「ダウンロード済み」と「現在インストール済み」にチェックが入ります。
| バージョン | ファイル名 | リリース日 | ダウン ロード済み | 現在イン ストール済み |
|---|---|---|---|---|
| 8328-6342 | panupv2-all-contents-8328-6342 | 2020/10/07 06:47:07 BST | ||
| 8329-6347 | panupv2-all-contents-8329-6347 | 2020/10/09 01:36:00 BST | ✔ 以前 | |
| ⋮ | ||||
| 8338-6377 | panupv2-all-contents-8338-6377 | 2020/10/30 23:01:56 GMT | ||
| 8339-6381 | panupv2-all-contents-8339-6381 | 2020/11/03 18:10:36 GMT | 1✔ | ✔ |
脆弱性防御を設定する
Paloalto の UTM 機能の一つである脆弱性防御を設定し、動作を確かめます。
セキュリティポリシーに適用する
Policies ›› セキュリティ で、LAN からインターネットへのポリシー LAN_to_Internet をクリックし、「アクション」タブを開きます。「プロファイル設定」のプロファイル タイプを None から「プロファイル」に変更し、脆弱性防御で default を選びます。選ばれていることを確かめて、OK をクリックします。
| 1プロファイル タイプ | プロファイル |
| アンチウイルス | None |
| 2脆弱性防御 | default |
| アンチスパイウェア | None |
| URL フィルタリング | None |
| ファイル ブロッキング | None |
| データ フィルタリング | None |
| WildFire 分析 | None |
default プロファイルの中身を見る
プロファイル default の設定は、Objects ›› セキュリティ プロファイル ›› 脆弱性防御 で確認できます。default と strict は、あらかじめ用意されている(事前定義済みの)プロファイルです。
| 名前 | ルール名 | ホスト タイプ | 重大度 | アクション |
|---|---|---|---|---|
| strict ルール: 10 | simple-client-critical | client | critical | reset-both |
| simple-client-high | client | high | reset-both | |
| simple-client-medium | client | medium | reset-both | |
| simple-client-informational | client | informational | default | |
| simple-client-low | client | low | default | |
| simple-server-critical | server | critical | reset-both | |
| simple-server-high 詳細… | server | high | reset-both | |
| 1default ルール: 6 | simple-client-critical | client | critical | default |
| simple-client-high | client | high | default | |
| simple-client-medium | client | medium | default | |
| simple-server-critical | server | critical | default | |
| simple-server-high | server | high | default | |
| simple-server-medium | server | medium | default |
default プロファイルでは、たとえば重大度 high に一致した通信は、シグネチャごとに設定されているデフォルトの動作に従います。
今回は、検索サイトで /etc/passwd を検索して、HTTP /etc/passwd Access Attempt という脅威を検知するかどうかを確かめます。まず、default プロファイルがこの脅威をどう扱うかを確認します。一覧の default をクリックし、「例外」タブを開きます。「すべてのシグネチャの表示」にチェックを入れ、検索欄に /etc/passwd と入力すると、該当するシグネチャが表示されます。
| 脅威名 | ルール | CVE | ホスト | カテゴリ | 重大度 | アクション |
|---|---|---|---|---|---|---|
| HTTP /etc/passwd Access Attempt | simple-server-high | CVE-2019-8903, | server | info-leak | high | 3default (alert) |
| HTTP /etc/passwd Access Attempt | simple-server-critical | CVE-2017-7577, | server | info-leak | critical | default (alert) |
デフォルトの動作が alert であることがわかります。参考までに、例外タブでは、シグネチャごとにアクションを次のように変更できます。
| アクション | 選択肢許可 両方のリセット ブロック IP ドロップ Default (アラート)サーバーのリセット クライアントのリセット アラート |
| アクション | 動作 |
|---|---|
| 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 と入力します。検索結果が表示されます。
Monitor ›› ログ ›› 脅威 を見ると、HTTP /etc/passwd Access Attempt という脅威を検出していることがわかります。アクションが alert であることを確認してください。
| 復号化 | 受信日時 | タイプ | 名前 | 送信元 ゾーン | 宛先 ゾーン | 宛先 ポート | アプリケ ーション | アク ション | 重大度 |
|---|---|---|---|---|---|---|---|---|---|
| yes | 11/04 13:40:24 | vulnerability | 1HTTP /etc/pas… Access Attempt | LAN | Internet | 443 | google-base | 2alert | high |
| yes | 11/04 13:39:13 | vulnerability | HTTP /etc/pas… Access Attempt | LAN | Internet | 443 | google-base | alert | high |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 名前 | 検知した脅威の名前です。HTTP /etc/passwd Access Attempt を検知しています。 |
| 2 | アクション | alert なので、通信は止めずにログに記録しています。そのため、検索結果は表示されます。 |
動作確認(strict プロファイル)
脆弱性防御のプロファイルを default から strict に変更します。strict では、重大度 high のシグネチャに一致した通信のアクションは reset-both で、クライアントとサーバーの両方の接続をリセットします(図5)。
セキュリティポリシー LAN_to_Internet のアクションタブで、脆弱性防御を strict に変更して OK をクリックし、コミットします。
| プロファイル タイプ | プロファイル |
| 1脆弱性防御 | strict |
Google 検索に /etc/passwd と入力すると、ページを表示できないことがわかります。
Monitor ›› ログ ›› 脅威 を見ると、HTTP /etc/passwd Access Attempt という脅威を検出し、アクションが reset-both になっていることがわかります。
| 復号化 | 受信日時 | タイプ | 名前 | 送信元 ゾーン | 宛先 ゾーン | 宛先 ポート | アプリケ ーション | アク ション | 重大度 |
|---|---|---|---|---|---|---|---|---|---|
| yes | 11/08 13:27:24 | vulnerability | HTTP /etc/pas… Access Attempt | LAN | Internet | 443 | google-base | 1reset- both | high |
| yes | 11/07 13:23:56 | vulnerability | HTTP /etc/pas… Access Attempt | LAN | Internet | 443 | google-base | reset- both | high |
| yes | 11/04 22:33:13 | vulnerability | HTTP /etc/pas… Access Attempt | LAN | Internet | 443 | google-base | reset- both | high |
| ⋮ | |||||||||
現在のドキュメントでも、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 |
コメント