レック・テクノロジー・コンサルティング株式会社TECH BLOG

AWS環境でPaloAltoを構築してみた#6 ~PaloAlto設定及びセキュリティ機能検証~

前回までの手順で、Palo Alto の基本設定やポリシー設定など、ファイアウォール本体の構築 が完了しました。
本記事では、いよいよ Palo Alto のセキュリティ機能を実際に検証 していきます。

Palo Alto には多くのセキュリティ機能がありますが、今回は代表的な以下の機能を検証します。

  • アンチウイルス
  • IPS
  • アンチスパイウェア
  • URL フィルタリング

まず、アンチウイルスから検証していきます。

アンチウイルス

Palo Alto の アンチウイルス機能 を使って、ウイルスをブロックする設定を行います。検証方法として、テスト用ウイルスを提供している EICAR サイト(https://www.eicar.org/?page_id=3950) にアクセスし、ウイルスファイルのダウンロードを試みます。この操作が Palo Alto によって検知・防御されるか を確認することで、アンチウイルス機能が正しく動作しているかを検証します。

設定前の通信確認

まず、アンチウイルス設定を行う前に、ウイルスファイルがダウンロードできてしまうことを確認 します。Trust サーバから EICAR サイトへアクセスします。HTTPS(TCP/443)で提供されているテスト用ウイルスファイルをダウンロードしてみます。

74.png

通信に問題がなければ、以下のようなレスポンスが返ってきます。

75.png

このファイルをダウンロードできることを確認できたら、次に Palo Alto のアンチウイルス設定を適用して防御動作を検証 します。

アンチウイルス設定

Paloaltoの管理画面から「Objects」 → 「アンチウイルス」 → 「追加」をクリックします。

76.png

名前に「Antivirus_Check(任意)」と入力します。
デコーダに記載されたhttpプロトコルのアクションがreset-bothであることを確認し、「OK」をクリックします。

77.png

「Policies」 → 「セキュリティ」で表示された「To-Internet」ポリシーをクリックします。

78.png

「アクション」タブのプロファイルタイプで「プロファイルを選択します。アンチウイルスで、「Antivirus_Check」を選択し、「OK」をクリックします。

79.png

以下のように、プロファイルにアンチウイルスプロファイルのアイコンが表示されます。

80.png

「コミット」を実施します。

81.png

アンチウイルスの動作確認

再びTrust サーバから EICAR サイトへアクセスします。HTTPS(TCP/443)で提供されているテスト用ウイルスファイルをダウンロードしてみます。設定に問題なければ以下のように、PA Firewallから、ブロックされたことが通知されます。

※ブラウザキャッシュの影響で下記画面が表示されない場合があります。キャッシュを削除してからアクセスしてください。

82.png

「Monitor」 → 「脅威」 でウイルスが検知されていることを確認します。

83.png

上記のアイコンをクリックすることで、ログの詳細が表示されます。

84.png

ここまでで、アンチウイルス機能の動作確認 が完了しました。EICAR テストウイルスを用いた検証により、Palo Alto Firewall が不正ファイルのダウンロードを検知・防御できることを確認できました。続いて、IPS(不正侵入防止システム)の動作確認に進めていきます。

IPS(不正侵入防止システム)

次に、脆弱性防御(IPS)機能 の検証を行います。
Palo Alto Firewall には、既知の脆弱性を突いた攻撃に対応するためのシグネチャが多数用意されています。その中でも代表的なもののひとつに クロスサイトスクリプティング(XSS)攻撃 に関するシグネチャがあります。

XSS は比較的模擬しやすい攻撃手法のため、今回の動作確認ではこのシグネチャを利用して検証を行います。

設定

Paloaltoの管理画面から「Objects」→ 「脆弱性防御」 → 「追加」をクリックします。

85.png

重大度がMedium以上の場合にはパケットキャプチャを実施する、というルールを生成することにします。名前に「IPS_Check(任意)」と入力し、「追加」をクリックします。

86.png

名前に「IPS_Check(任意)」と入力し、パケットキャプチャは「extended-capture」を選択します。重大度は「critical」と「high」「medium」にチェックを入れて、「OK」をクリックします。

87.png

再度「OK」をクリックします。

88.png

「Policies」 → 「セキュリティ」で表示された「To-Internet」ポリシーをクリックします。

78.png

アクション」タブの「脆弱性防御」で「IPS_Check」を選択し、「OK」をクリックします。

89.png

以下のように、プロファイル列に脆弱性防御プロファイルのアイコンが表示されます。

90.png

「コミット」を実施します。

81.png

IPSの動作確認

クロスサイトスクリプティング(XSS)攻撃 を模擬して、Palo Alto Firewall の脆弱性防御が正しく動作するか確認します。Trust サーバから、入力フォームを持つサイト(例:https://www.amazon.co.jp)にアクセスします。入力フォームに以下の文字列を入力して送信します。

<script>alert(XSS Test)</script>

91.png

「Monitor」 → 「脅威」でログを確認します。以下のように、タイプが「Vulnerability (脆弱性) 」として検知した脅威ログが出力されます。

92.png

ログの先頭から2つ目のアイコンをクリックすると、パケットキャプチャデータがダウンロードできます。
「エクスポート」をクリックすることで、pcapファイルをダウンロードできます。

93.png

ログの先頭のアイコンをクリックすることで、詳細ログを確認できます。

94.png

ここまでで、IPS 機能の動作確認 が完了しました。
クロスサイトスクリプティング(XSS)攻撃を模擬することで、Palo Alto Firewall が不正な攻撃通信を検知・防御できることを確認できました。続いて、アンチスパイウェア機能 の動作確認に進めます。

アンチスパイウェア

Palo Alto の アンチスパイウェア機能 には、主に以下の 2 種類の防御シグネチャが存在します。

1.C2(コマンド&コントロール)シグネチャ

スパイウェアが利用する C2 サーバへの通信を検出するシグネチャです。

2.DNS シグネチャ

スパイウェアが C2 サイトへアクセスする際に行う DNS クエリを検出するシグネチャです。

今回は、C2 シグネチャにヒットする攻撃を模擬するのは難しいため、DNS シグネチャにヒットする攻撃 を模擬し、DNS シンクホール が正しく動作することを確認します。

DNSシンクホールについて

DNS シンクホールとは、クライアントがマルウェアサイトへの DNS リクエストを送信した際に、Palo Alto Firewall があらかじめ設定された偽の IP アドレスを DNS レスポンスとして返す機能 のことです。

通常、内部 DNS サーバが Palo Alto Firewall 配下に設置されている環境では、クライアントからの DNS クエリは直接 Firewall を通過しません。そのため、悪意あるサイトへの DNS リクエストが発生しても、Firewall のログにはクライアントの IP アドレスが記録されず、どの端末からのアクセスか特定できない という課題が生じます。

しかし、DNS シンクホール機能を有効化することで、クライアントの DNS クエリも Firewall を経由させ、偽のレスポンスを返すことが可能 になります。これにより、ログにクライアント情報を残しつつ、マルウェア通信を遮断することができます。

95.png

アンチスパイウェアの設定

「Objects」 → 「アンチスパイウェア」 → 「追加」をクリックします。

96.png

名前に「Antispyware_Check(任意)」と入力し、「追加」をクリックします。

97.png

重大度の高いものはパケットキャプチャを実施することにします。
名前に「Antispyware_Check(任意)」と入力し、パケットキャプチャは「extended-capture」、重大度は「critical」と「high」「medium」にチェックを入れて、「OK」をクリックします。

98.png

「DNSポリシー」タブをクリックします。ポリシーアクションを「sinkhole」に変更します。シンクホールIPv4を「172.16.10.100(任意)」に変更して、「OK」をクリックします。

99.png

アドレスオブジェクトを登録しておくと、トラフィックログを見たときにSinkholeによる通信が発生したことが判別しやすくなりますので、登録しておきます。「Objects」 → 「アドレス」 → 「追加」をクリックします。

100.png

名前に「sinkhole」、タイプは「IPネットマスク」が選択された状態で「172.16.10.100」と入力して、「OK」をクリックします。

101.png「Policies」 → 「セキュリティ」で表示された「To-Internet」ポリシーをクリックします。

78.png

「アクション」タブの「アンチスパイウェア」で、「Antispyware_Check」を選択し、「OK」をクリックします。

102.png以下のように、プロファイル列にアンチスパイウェアプロファイルのアイコンが表示されます。

103.png

「コミット」を実施します。

81.png

アンチスパイウェア動作確認

アンチスパイウェアの一つの機能である、DNSシンクホールの動作を確認します。リリースノートから、DNSシグネチャに存在するドメインを確認します。

「Device」 → 「ダイナミック更新」 → 「現在インストール済み」にチェックが入ったアンチウイルスシグネチャの「リリースノート」をクリックします。

104.pngリリースノート内の「New Spyware DNS C2 Signatures」でリストされているドメインのどれか一つをコピーします。

(本ガイドでは、「10.agenbolacash78.com」を選びました。)

105.png

Trustサーバのコマンドプロンプトを開き、「10.agenbolacash78.com」へPingを実行します。

SinkholeのIPv4アドレス:「172.16.10.100」の返答があることを確認します。
(本ガイドのネットワーク環境には172.16.10.100は存在しないので、Ping応答はありません。)

106.png

「Monitor」 → 「脅威」で、タイプが「spyware」のログが出力されます。

107.png

先頭のアイコンをクリックして、詳細ログを確認します。

108.png

「Monitor」 → 「トラフィック」 → 「ホストの解決」にチェックを入れると、名前解決が行われます。このことで、ログの宛先がIPアドレスから「Sinkhole」に変わるので、区別しやすくなります。フィルタに「( app eq ping )」と入力して、トラフィックログ表示をPingに絞り込みます。

109.png

先頭のe)アイコンをクリックして、詳細ログを確認します。

送信元IPアドレスが、クライアントPCのアドレスになり、宛先はSinkholeのIPアドレスです。この情報が、「10.0.11.100のクライアントPCは、マルウェア感染の疑いがある」という判断材料になります。

110.png

アンチスパイウェア機能の動作確認が完了しました。
続いて、次のセキュリティ機能である URL フィルタリング機能の検証に進めていきます。

URL フィルタリング

URL フィルタリングは、Web サイトをカテゴリごとに判定し、危険性の高いサイトや業務に不要なサイトへのアクセスを制御できる機能です。今回は、実際に URL フィルタリングの設定を行い、アクセスが制御される様子を確認していきます。

URLリストとURLフィルタのプロファイル作成

「Objects 」 → 「URLカテゴリ」→「追加」をクリックします。

111.png

名前に「URL_List(任意)」と入力し、「追加」をクリックします。

112.pngサイトのURLを記載して、「OK」をクリックします。

122.png

設定できたら、URLカテゴリーが登録された状態になります。


123.png

続いて、拒否のポリシーとして使えるようにするため、URLフィルタリングのプロファイルを作成します。

「Objects 」 → 「URLフィルタリング」→「追加」をクリックします。

115.png

URL フィルタリングのカスタムカテゴリを作成します。名前には 「URL_Check(任意)」 と入力します。続いて、カスタム URL カテゴリとして「URL_List」 を指定しサイトアクセス・ユーザー証明書送信ともに「block」に設定して、「OK」クリックします。

116.png

「Policies」 → 「セキュリティ」で表示された「To-Internet」ポリシーをクリックします。

78.png

「アクション」タブの「URL フィルタリング」で、「URL_Check」を選択し、「OK」をクリックします。

117.png

以下のように、プロファイル列にURL フィルタリングのプロファイルのアイコンが表示されます。

118.png

「コミット」を実施します。

81.png

URLフィルタリング動作確認

TrustサーバのWebブラウザから「www.yahoo.co.jp」へアクセスします。

以下のように、ブロックされたことを示す画面が表示されます。

119.png

「Monitor」 → 「URLフィルタリング」で、URLのフルパスを含んだログが確認できます。

120.png

先頭のアイコンをクリックして、詳細ログを確認することができます。

121.png

ここまでで URL フィルタリング機能の動作確認 が完了しました。
指定したサイトカテゴリに対して、正しくアクセスが制御されることを確認できました。

まとめ

今回のシリーズでは、AWS環境にPalo Altoを導入し、各セグメントのサーバ配置から通信試験、
さらに IPS・アンチウイルス・アンチスパイウェア・URLフィルタリング といったセキュリティ機能の動作確認までを一通り検証しました。
実際に構築・検証を行うことで、Palo Altoの基本的なセキュリティ機能がどのように動作するのかを理解でき、またAWS環境での構築の流れや注意点も整理できたと思います。
今後は、今回の環境をベースに Prisma Accessとの連携や、IPsec VPNを利用した拠点間接続の検証 など、より実運用に近い構成での検証も進めていく予定です。
本記事が、これからPalo Altoの検証やAWS上での構築に取り組まれる方の参考になれば幸いです。

この記事をシェアする

  • Facebook
  • X
  • Pocket
  • Line
  • Hatena
  • Linkedin

資料請求・お問い合わせはこちら

ページトップへ戻る