PaloaltoVM(10.0.4) NAT/セキュリティポリシー


今回はアドレス変換(NAT)とセキュリティポリシーについて検証してみます。検証構成は下記の通りです。

Windows端末からWebサーバ向にhttpアクセスをするために必要な設定を行っていきます。また、Windows端末もWebサーバも管理アクセスに足を延ばしている事もあり、Windows端末ではスタティックルートを下記の通り設定しています。

#コマンドプロントから管理者権限で。
route add 172.16.0.128 255.255.255.128 10.10.1.254 -p

また、サーバ側はルーティングを設定しなくても通信が成立するようPaloaltoで送信元アドレス変換を実施します。

1. タグ作成

タグを使用すると、キーワードやフレーズを使用してオブジェクトをグループ化できます。タグは、アドレス オブジェクト、アドレス グループ (静的および動的)、ゾーン、サービス、サービス グループ、およびポリシー ルールに適用できます。タグを使用すると、オブジェクトの並べ替えやフィルター処理を行ったり、色を持つことができるため、オブジェクトを視覚的に削除したりできます。意外と便利なので、やってみたいと思います。

管理画面にログイン後、画面上の「OBJECTS」タブから画面左の「タグ」をクリックして、画面下の「追加」をクリックします。

名前に「Egression」と入力して、カラーを「ミディアムブルー」を選択し、「OK」を押します。

同様の操作でExternalとInternal分のタグも作成します。名前とタグの組み合わせは下記の通りにしました。

タグ名 カラー 備考
Egression ミディアムブルー
External シアン 名前はプルダウンから選択
Internal フォレストグリーン 名前はプルダウンから選択

設定後は下記の通りとなります。

2. NAT作成

次はポリシー作成前に、送信元アドレス変換するためのNAT定義を入れましょう。
管理画面上のタブから「POLICIES」を選択し、画面左の「NAT」をクリックし、画面下の「追加」をクリックします。

NATポリシールール画面が表示されます。全般タブから名前を入れて、タグを「Egression」として元のパケットをクリックします。

送信元ゾーンの「追加」をクリックして「Intenal」を選択します。宛先ゾーンは「External」宛先にインタフェースは「ethernet1/1」として変換済みパケットタブをクリックします。

変換タイプに「ダイナミックIPおよびポート」、アドレスタイプは「インタフェースアドレス」、インタフェースは「ethernet1/1」、IPアドレスは「172.16.0.254」を選択して「OK」をクリックします。

登録されると下記画面のように表示されます。

3. セキュリティポリシー作成

では、いよいよセキュリティポリシーを作成します。セキュリティ ポリシー ルールはセキュリティゾーンを参照し、アプリケーション、ユーザーまたはユーザーグループ、およびサービス (ポートとプロトコル) に基づいて、ネットワーク上のトラフィックを許可、制限、および追跡することができます。

管理画面上のタブから「POLICIES」を選択し、画面左の「セキュリティ」をクリックし、画面下の「追加」をクリックします。

セキュリティポリシールールが表示されます。名前は「Egression-External」、タグは「Egression」を選択し、送信元タブをクリックします。

送信元ゾーンに「Internal」を追加して宛先タブをクリックします。

宛先ゾーンに「External」を追加してアプリケーションタブをクリックします。

下記画面のようになっている事を確認し、サービス/URLカテゴリタブをクリックします。

サービスの上にあるプルダウンから「any」を選択し、アクションタブをクリックします。

アクションは「Allow」を選択し、ログ設定は「セッション開始時にログ」「セッション終了時にログ」どちらにもチェックを入れて「OK」をクリックします。

セキュリティポリシーが1つ追加されました。では画面左上の「Commit」をクリックします。

ここで、「変更内容の確認」をクリックしますと

差分比較することが出来ます。問題なければこの画面を閉じてコミットしましょう。

4. Webアクセス

では、Windows端末からアクセス確認を実施します。ブラウザを立ち上げてサーバのアドレスをブラウザのURLに入れます。

無事ページが表示されました。では、PaloAlto上のログでどう見えているのか確認してみます。

管理画面上のタブから「MONITOR」を選択し、画面左の「トラフィック」をクリックしするとログが確認できます。

画面を左にスライドするとtcp-finで正しくセッションが終っている事が確認できます。

トラフィックログは1行毎に詳細内容を確認する事が出来ます。画面左側のログマークをクリックします。

送信元欄を見るとアドレスがExternal側のIPで設定されている事が分かります。では、本当にNAT変換されているのかサーバ側のtcpdumpで確認してみたいと思います。

TCPDUMP実行

# tcpdump -i ens224 port 80 -nnn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens224, link-type EN10MB (Ethernet), capture size 262144 bytes
09:24:43.949664 IP 172.16.0.254.6734 > 172.16.0.250.80: Flags [F.], seq 3999837124, ack 1150280340, win 1023, length 0
09:24:43.949715 IP 172.16.0.250.80 > 172.16.0.254.6734: Flags [.], ack 1, win 245, length 0
09:24:43.949751 IP 172.16.0.254.40040 > 172.16.0.250.80: Flags [F.], seq 3127307757, ack 3140866674, win 1023, length 0
09:24:43.949758 IP 172.16.0.250.80 > 172.16.0.254.40040: Flags [.], ack 1, win 254, length 0
09:24:43.949974 IP 172.16.0.254.26713 > 172.16.0.250.80: Flags [S], seq 4004560516, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
09:24:43.949999 IP 172.16.0.250.80 > 172.16.0.254.26713: Flags [S.], seq 2030184559, ack 4004560517, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
09:24:43.950037 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [S], seq 3361278502, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
09:24:43.950042 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [S.], seq 1455395704, ack 3361278503, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
09:24:43.952492 IP 172.16.0.254.26713 > 172.16.0.250.80: Flags [.], ack 1, win 1026, length 0
09:24:43.953104 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [.], ack 1, win 1026, length 0
09:24:43.953130 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [P.], seq 1:466, ack 1, win 1026, length 465: HTTP: GET / HTTP/1.1
09:24:43.953156 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [.], ack 466, win 237, length 0
09:24:43.954607 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [.], seq 1:4381, ack 466, win 237, length 4380: HTTP: HTTP/1.1 403 Forbidden
09:24:43.954677 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [P.], seq 4381:5206, ack 466, win 237, length 825: HTTP
09:24:43.955285 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [.], ack 5206, win 1026, length 0
09:24:43.972631 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [P.], seq 466:869, ack 5206, win 1026, length 403: HTTP: GET /noindex/css/fonts/Bold/OpenSans-Bold.woff HTTP/1.1
09:24:43.972760 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [P.], seq 5206:5660, ack 869, win 245, length 454: HTTP: HTTP/1.1 404 Not Found
09:24:43.972846 IP 172.16.0.254.26713 > 172.16.0.250.80: Flags [P.], seq 1:406, ack 1, win 1026, length 405: HTTP: GET /noindex/css/fonts/Light/OpenSans-Light.woff HTTP/1.1
09:24:43.972861 IP 172.16.0.250.80 > 172.16.0.254.26713: Flags [.], ack 406, win 237, length 0
09:24:43.973008 IP 172.16.0.250.80 > 172.16.0.254.26713: Flags [P.], seq 1:458, ack 406, win 237, length 457: HTTP: HTTP/1.1 404 Not Found
09:24:43.975283 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [P.], seq 869:1271, ack 5660, win 1024, length 402: HTTP: GET /noindex/css/fonts/Bold/OpenSans-Bold.ttf HTTP/1.1
09:24:43.975368 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [P.], seq 5660:6113, ack 1271, win 254, length 453: HTTP: HTTP/1.1 404 Not Found
09:24:43.977083 IP 172.16.0.254.26713 > 172.16.0.250.80: Flags [P.], seq 406:810, ack 458, win 1024, length 404: HTTP: GET /noindex/css/fonts/Light/OpenSans-Light.ttf HTTP/1.1
09:24:43.977159 IP 172.16.0.250.80 > 172.16.0.254.26713: Flags [P.], seq 458:913, ack 810, win 245, length 455: HTTP: HTTP/1.1 404 Not Found
09:24:44.021374 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [.], ack 6113, win 1023, length 0
09:24:44.036555 IP 172.16.0.254.26713 > 172.16.0.250.80: Flags [.], ack 913, win 1023, length 0
09:24:48.980487 IP 172.16.0.250.80 > 172.16.0.254.26713: Flags [F.], seq 913, ack 810, win 245, length 0
09:24:48.980530 IP 172.16.0.250.80 > 172.16.0.254.33264: Flags [F.], seq 6113, ack 1271, win 254, length 0
09:24:48.980837 IP 172.16.0.254.26713 > 172.16.0.250.80: Flags [.], ack 914, win 1023, length 0
09:24:48.980900 IP 172.16.0.254.33264 > 172.16.0.250.80: Flags [.], ack 6114, win 1023, length 0

Webサーバから見ると172.16.0.254としか通信していないことが分かります。正しく送信元アドレス変換が行わています!

5. その他

次回はウィルス対策プロファイルを使用したセキュリティポリシーを作成してみたいと思います。