Palo Alto 次世代ファイアウォール:ゾーンからセキュリティポリシーまでの設定の考え方

Palo Alto 次世代ファイアウォール:ゾーンからセキュリティポリシーまでの設定の考え方

Palo Alto Networks の次世代ファイアウォール(NGFW)は、ポートを開けたり閉じたりするだけではありません。接続の背後にあるアプリケーション、接続を始めたユーザー、そして通信の中身を識別し、それぞれに対してポリシーを適用します。この記事では、設定を進める順序に沿って解説します。ネットワークの計画、初回アクセス、インターフェースとゾーン、セキュリティポリシー、NAT、セキュリティプロファイル、復号、リモートアクセス、監視です。各セクションには図かチェックリストがあるので、機器に触る前に設計の流れを追えます。

必要なもの

IPアドレスとサブネットの基礎、ルーターとスイッチの役割を理解していると役立ちます。このサイトのCCNA向け記事を読んでおくとさらに良いでしょう。手順を練習するには、ラボ環境かテスト用の機器、少なくとも製造元が提供するラボイメージやシミュレーターが必要です。自分が所有している、または設定を許可された機器で作業し、本番のファイアウォールは文書化された計画とロールバック手順なしに変更しないでください。

図解

一般的な構成:インターネットはuntrustゾーンに接続し、ファイアウォールが中央に位置し、trustゾーンには社内LAN、DMZには公開サーバーが置かれます
一般的な構成:インターネットはuntrustゾーンに接続し、ファイアウォールが中央に位置し、trustゾーンには社内LAN、DMZには公開サーバーが置かれます

トピック 1: 次世代ファイアウォールの役割

従来のファイアウォールは、送信元と宛先のIPアドレスとポート番号で判断します。しかし、Webブラウザやビデオ通話などの多くのアプリケーションはポート443などの一般的なポートを使うため、それだけでは不十分になりました。NGFWは通信の内容を読み取り、それが何か、誰が送ったか、何を運んでいるかで判断します。

ファイアウォールがパケットを処理する流れ:App-ID、User-ID、Content-IDがセキュリティポリシーと照合され、その後にプロファイルが実行されます
ファイアウォールがパケットを処理する流れ:App-ID、User-ID、Content-IDがセキュリティポリシーと照合され、その後にプロファイルが実行されます

従来型ファイアウォールとNGFWの違い

ポートだけを見るファイアウォールは、ポート443をすべて許可してしまいます。一方NGFWは、Webブラウザからニュースサイトへの接続を許可し、同じポート443を使うファイル共有アプリを遮断できます。ポート番号だけを信頼せず、レイヤー7でアプリケーションを識別するからです。

3つの識別子:App-ID、User-ID、Content-ID

App-IDは、HTTPSの中に隠れていても、特定のビデオ通話アプリなどのアプリケーションを識別します。User-IDはIPアドレスをディレクトリのユーザーやグループに対応づけるので、ルールに「営業部グループ」と書けて、IP範囲を指定する必要がなくなります。Content-IDは、脅威、悪意のあるファイル、情報漏えい、URLカテゴリがないかペイロードを検査します。

ネットワーク内での位置

ファイアウォールは通常、インターネット側のルーターと社内ネットワークの間に置かれます。ゾーンをまたぐすべてのパケットがここを通ります。たとえば実際の送信元を隠すNAT機器の背後に置くなど、位置を誤ると、User-IDやログの価値が大きく下がります。

トピック 2: 設定の前に計画を立てる

ファイアウォールのトラブルの多くは、機器ではなく設計の不明確さから生じます。Webインターフェースを開く前に、守るネットワーク、許可したい通信、構築の順序を書き出してください。

構成図を描く

インターネット回線、ファイアウォール、社内LAN、公開サーバーを置くDMZを描きます。各インターフェースに、ゾーンとIPアドレスのラベルを付けます。このような簡単な図は、プロジェクトで最も役立つ文書です。どのルールをどこに置くべきかがわかるからです。

IPとゾーンの計画を書く

各インターフェースについて、ゾーン(例:untrust、trust、dmz)、IPアドレスとマスク、デフォルトゲートウェイ、用途を記録します。計画は一つの文書にまとめてください。後からアドレスを変えるとき、どのルールやNATエントリが依存しているかがわかっていれば、変更がずっと簡単になります。

必要な通信を一覧にする

必要な通信を平易な言葉で書きます。たとえば「社員はWebとHTTPSでインターネットに出られる」「インターネットからWebサーバーにはHTTPSのみ届く」「支社は本社とVPNで接続する」などです。各文が一つのセキュリティルールになり、一覧にないものはすべて拒否されます。

ロールバックを計画する

最初の変更の前に、設定のコピーを保存し、復元方法を控えておきます。実際の通信に影響する変更には保守時間帯を設け、影響を受けるユーザーに知らせます。

トピック 3: 初回アクセスと初期設定

新しいファイアウォールは、何かを守る前に、管理用IPアドレス、安全な管理者アカウント、ライセンスとコンテンツの更新が必要です。メニュー名はPAN-OSのバージョンによって異なるため、使用するバージョンのドキュメントで確認してください。

管理インターフェースに接続する

管理ポートにケーブルでPCを接続し、そのPCに管理インターフェースと同じネットワークのIPアドレスを設定します。製造元のガイドに記載されたアドレスでWebインターフェースを開きます。初期アカウントは一度だけ使い、すぐにパスワードを変更して、個人ごとに名前付きの管理者アカウントを作成します。

ホスト名、時刻、DNSを設定する

fw-hq-01 のように、わかりやすいホスト名を付けます。ログと証明書は正確な時刻に依存するので、正しいタイムゾーンとNTPサーバーを設定します。更新の確認や名前解決ができるように、DNSサーバーも設定します。

ライセンス、更新、コンテンツ

購入したサブスクリプションライセンスを有効化し、最新のソフトウェアバージョンと、脅威、アプリケーション、URLのデータベースの更新をダウンロードします。製造元が推奨する順序でインストールし、リリースノートを読んでください。古い脅威データベースは、攻撃を見逃す一般的な原因です。

管理できる人を制限する

管理アクセスは専用の管理サブネットからのみ許可し、インターネットに面したインターフェースでは管理機能をオフにします。強力な認証を使い、可能であれば管理者のログインに外部ディレクトリや二要素認証を使ってください。

機器の設定: 管理アドレス、時刻、管理者アカウントを設定する

ファイアウォールに名前、管理アドレスとゲートウェイ、DNSとNTPサーバー、タイムゾーンを設定します。管理は管理サブネットからのみ許可し、名前付きのsuperuserを作成して、説明付きでcommitします。その後、システム情報を確認し、最新のコンテンツ更新をダウンロードします。

# PAN-OS CLI: first access, management settings and updates
configure
set deviceconfig system hostname fw-hq-01
set deviceconfig system ip-address 192.168.1.10 netmask 255.255.255.0 default-gateway 192.168.1.1
set deviceconfig system dns-setting servers primary 8.8.8.8
set deviceconfig system timezone Asia/Bangkok
set deviceconfig system ntp-servers primary-ntp-server ntp-server-addr pool.ntp.org
set deviceconfig system permitted-ip 192.168.1.0/24
set mgt-config users netadmin permissionrole superuser
set mgt-config users netadmin password
commit description "initial setup"
exit
# Operational mode: check and update content
show system info
request content upgrade check
request content upgrade download latest
request content upgrade install version latest

トピック 4: インターフェース、ゾーン、ルーティング

インターフェースは、IPアドレスを持つ物理ポートです。ゾーンは、同じ信頼レベルを持つインターフェースに名前を付けてまとめたグループです。セキュリティポリシーはインターフェースではなくゾーン間で書かれるため、ゾーンはファイアウォールの設計で最も重要な選択です。

レイヤー3インターフェース

各データポートにIPアドレス、マスク、バーチャルルーターを設定し、そのポートをゾーンに割り当てます。バーチャルルーターは、その所属インターフェースの経路表を保持します。小規模な構成では、通常バーチャルルーターは一つで足ります。

標準的なゾーン

一般的な設計では三つのゾーンを使います。untrustゾーンはインターネットに面しており、敵対的とみなします。trustゾーンは社内ユーザーを置き、安全だが完全に信頼はしないとみなします。DMZはインターネットからの到達が必要な公開サーバーを置き、侵害されたサーバーがtrustゾーンへ自由に到達できないように分離します。

インターネットへの往復ルーティング

インターネットルーターへのデフォルトルートを設定し、他のルーターの背後にある社内ネットワークには、スタティックルートまたは動的プロトコルを追加します。ファイアウォールは経路が見つからないトラフィックを破棄するため、戻りの通信にも経路があることを確認してください。各ゾーンからpingで試せば、ポリシーを追加する前にルーティングが正しいかわかります。

ゾーンプロテクション

各ゾーンには、フラッドやスキャンの上限など、ポリシーを検査する前に一般的な攻撃を止める保護設定を入れられます。まずuntrustゾーンで有効にし、厳しくする前にログで誤検知がないかを確認してください。

機器の設定: インターフェース、ゾーン、デフォルトルートを設定する

各データポートにアドレスを設定し、各ポートをゾーンに入れ、すべてのポートをバーチャルルーターに追加します。デフォルトルートは、インターネット向けの通信をISPのゲートウェイへ送ります。セキュリティルールを書く前に、show routing routeとpingで経路を確認します。

# PAN-OS CLI: interfaces, zones, virtual router and default route
configure
set network interface ethernet ethernet1/1 layer3 ip 203.0.113.2/30
set network interface ethernet ethernet1/2 layer3 ip 10.10.10.1/24
set network interface ethernet ethernet1/3 layer3 ip 172.16.10.1/24
set zone untrust network layer3 ethernet1/1
set zone trust network layer3 ethernet1/2
set zone dmz network layer3 ethernet1/3
set network virtual-router default interface [ ethernet1/1 ethernet1/2 ethernet1/3 ]
set network virtual-router default routing-table ip static-route default-route destination 0.0.0.0/0 nexthop ip-address 203.0.113.1
commit
exit
# Operational mode: check interfaces and routes
show interface all
show routing route
ping source 10.10.10.1 host 8.8.8.8

トピック 5: セキュリティポリシー:ルール、順序、デフォルト拒否

セキュリティポリシーは順序付けられたルールのリストです。各ルールは、送信元ゾーン、宛先ゾーン、送信元と宛先のアドレスまたはユーザー、アプリケーションまたはサービスに一致させ、通信を許可または拒否します。ルールは上から下へ読まれ、最初に一致したものが決定します。

重要なルールの項目

ルールには、名前、送信元と宛先のゾーン、送信元と宛先のアドレス、ユーザー、アプリケーション、サービス(ポート)、そして許可や拒否などのアクションがあります。可能な限りポートではなくアプリケーションを使ってください。「web-browsing」と書くルールは、「TCP 80と443」と書くルールより明確で安全です。

ルールの順序とデフォルトルール

具体的なルールを先頭に、広いルールを末尾に置きます。PAN-OSには末尾にデフォルトルールがあります。ゾーン内のトラフィックを許可するintrazone default と、ゾーン間のトラフィックを拒否するinterzone default です。interzone default が拒否するため、ゾーン間で通したい通信はすべて明示的な許可ルールが必要です。

厳しく始め、根拠をもって緩める

まず拒否してログを取るルールから始め、ログで実際に使われている通信を確認してから、確認済みの通信に対して許可ルールを書きます。これにより、別の拠点からルールをコピーして許可しすぎるという、よくある間違いを防げます。

許可したトラフィックへのプロファイル

許可ルールには、ウイルス対策や脅威防御などのセキュリティプロファイルを添付できます。プロファイルなしで許可すると、ファイアウォールはアプリケーションを識別するだけで中身は検査しません。ファイルやWebコンテンツを運ぶトラフィックには、プロファイルを有効にしてください。

機器の設定: セキュリティルールとデフォルト拒否を書く

最初のルールは、オフィスからのWeb閲覧を許可し、各セッションをログに残します。2つ目のルールは、NAT後のプライベートアドレスでDMZのWebサーバーへのインターネットからの接続を許可します。interzone defaultルールは、ゾーン間のそれ以外をすべて拒否します。最も具体的なルールを先頭に移動し、ポリシーマッチテストで確認します。

# PAN-OS CLI: security rules (order matters; the first match wins)
configure
set rulebase security rules allow-web-out from trust to untrust source 10.10.10.0/24 destination any application [ web-browsing ssl ] service application-default action allow log-end yes
set rulebase security rules allow-web-to-dmz from untrust to dmz source any destination 172.16.10.10 application web-browsing service application-default action allow log-end yes
set rulebase default-security-rules rules interzone-default log-end yes
move rulebase security rules allow-web-out top
commit
exit
# Operational mode: check which rule a flow would match
test security-policy-match from trust to untrust source 10.10.10.20 destination 8.8.8.8 protocol 6 destination-port 443

トピック 6: NAT:アドレスの変換

NATは、ファイアウォールを通過するトラフィックの送信元または宛先アドレスを変更します。外向きのユーザーは通常、公開アドレスを共有するために送信元NATが必要です。DMZのサーバーは通常、外部ユーザーが公開アドレスで到達できるように宛先NATが必要です。

オフィスのための送信元NAT

ダイナミック送信元NAT(多くの場合 dynamic IP and port と呼ばれる)は、多数の社内ホストがuntrustインターフェースの公開アドレスを共有できるようにします。trustゾーンからuntrustゾーンへのNATルールを作成し、セキュリティポリシーがその通信を許可していることを確認してください。

公開サーバーのための宛先NAT

宛先NATは、公開IPアドレスとポートを、サーバーのプライベートアドレスに対応づけます。たとえば、公開アドレス 203.0.113.10 のポート443を、DMZのWebサーバーのプライベートアドレスに対応づけられます。セキュリティポリシーは、変換後のプライベートアドレスへの通信を許可する必要があります。ここは混乱が起きやすい点です。

順序を確認して試す

NATとセキュリティポリシーはどちらも通信に影響するため、使用するバージョンのドキュメントで処理順序を確認してください。NATを変更するたびに、両側の実際のクライアントから試し、トラフィックログで元のアドレスと変換後のアドレスを確認します。

機器の設定: 送信元NATと宛先NATを設定する

発信ルールは、オフィスのアドレスを外側インターフェースのアドレスに変換します。Webサーバーのルールは、公開アドレス203.0.113.10のポート443をDMZのサーバーに対応づけます。上のセキュリティルールは、変換後のプライベートアドレスへの通信を許可しなければなりません。ポリシーは変換の後に検査されるからです。

# PAN-OS CLI: source NAT for the office and destination NAT for the DMZ web server
configure
set rulebase nat rules outbound-to-internet from trust to untrust source any destination any service any nat-type ipv4 to-interface ethernet1/1 source-translation dynamic-ip-and-port interface-address interface ethernet1/1
set rulebase nat rules web-server-dnat from untrust to untrust source any destination 203.0.113.10 service service-https nat-type ipv4 to-interface ethernet1/1 destination-translation translated-address 172.16.10.10 translated-port 443
commit
exit
# Operational mode: check sessions and the translated addresses
show session all filter destination 203.0.113.10

トピック 7: 脅威防御、URLフィルタリング、復号

セキュリティプロファイルと復号は、NGFWがアドレスとポートを超えて機能する部分です。接続の中身を検査しますが、正当な通信を壊さないように慎重な計画も必要です。

主なセキュリティプロファイル

アンチウイルスは既知のマルウェアをファイルから検出します。アンチスパイウェアは、感染したホストからのコマンド&コントロール通信を遮断します。脆弱性防御は、既知の弱点を悪用する試みを遮断します。URLフィルタリングは、Webサイトのカテゴリを遮断または警告します。ファイルブロッキングは、特定のファイル種類のダウンロードやアップロードを止めます。デフォルトまたはベストプラクティスのプロファイルから始め、ログを見て調整してください。

復号:暗号化された通信の検査

Webの通信の多くはTLSで暗号化されており、読めないものは検査できません。復号では、ファイアウォールが自分の証明書をクライアントに提示することで、信頼される第三者として振る舞います。そのためには、クライアントがファイアウォールの認証局を信頼している必要があります。復号はプライバシーや法律の問題を伴うため、ネットワークの所有者と、どの通信を復号するかを決めて記録してください。銀行や医療などの通信は、除外されることが多いです。

証明書と信頼の設定

復号するには、ファイアウォールが社内クライアントに信頼される forward-trust 証明書を持つ必要があります。また、差し替えられた証明書を拒否するピン留めアプリにも対応しなければなりません。新しい復号ルールは、自分で管理するクライアントで必ずテストし、壊れるアプリのために除外リストを用意してください。

トピック 8: リモートアクセスVPNと高可用性

実際の構成ではこの二つの機能がよく登場します。リモートアクセスは、社員が自宅や出張先から接続できるようにします。高可用性は、一台のファイアウォールが故障してもネットワークを動かし続けます。

GlobalProtect VPNの概念

GlobalProtectは、Palo Altoファイアウォールのリモートアクセス用VPNです。ポータルがクライアントに使用するゲートウェイを伝え、ゲートウェイが暗号化トンネルを作ります。接続後のユーザーは、オフィスと同じポリシーを持つセキュリティゾーンに入り、User-IDでセッションをディレクトリのユーザーに紐づけられます。リモートクライアント用のIPプールは、社内ネットワークと重ならないように計画してください。

サイト間VPN

サイト間のIPsecトンネルは、二つの拠点を結びます。両側でフェーズ1とフェーズ2の設定が一致し、同じ事前共有鍵または証明書を使い、正しいネットワークを覆うルートまたはプロキシIDが必要です。トンネルは上がっているのに通信が流れない場合、ほとんどは一方の側のルーティングまたはポリシーの問題です。

高可用性

ファイアウォールのペアは、アクティブ・パッシブ方式(現用機が故障したら待機機が引き継ぐ)またはアクティブ・アクティブ方式(両方が通信を処理する)で動作します。二台は専用リンクを通じて設定とセッションテーブルを同期します。業務部門に事前に知らせた時間帯でフェイルオーバーを試してください。設定を誤ったペアは、単独のファイアウォールなら起きなかった停止を引き起こすことがあります。

トピック 9: コミット、ログ、トラブルシューティング

ファイアウォールには、編集する candidate 設定と、稼働中の running 設定があります。コミットするまで、どの変更もトラフィックに影響しません。その後、ログと組み込みツールで変更が機能しているかを確認します。

candidate、running、コミット

変更は candidate 設定に書き込まれます。コミットすると有効になり、コミットの前に変更内容をプレビューできます。大きな変更の前には名前付きの設定を保存しておき、問題があれば戻せるようにします。コミットには明確な説明を付け、監査ログで各変更を説明できるようにしてください。

トラフィックログと脅威ログ

トラフィックログには、送信元、宛先、アプリケーション、ユーザー、ルール名、アクションを含む各セッションが表示されます。脅威ログには、セキュリティプロファイルに一致した検出が表示されます。ユーザーがサイトをブロックされたと言ったら、そのユーザーのIPでトラフィックログを検索し、一致したルールを見つけ、ルール、プロファイル、URLカテゴリのどれが原因かを確認します。

トラブルシューティングの順序

トラフィックの流れと同じ順序で確認します。リンクは上がっているか、経路はあるか、NATは正しいか、セキュリティルールに一致しているか、プロファイルがブロックしていないか。CLIのtestコマンドは、ある通信がどのルールに一致するかを示せます。パケットキャプチャは、各インターフェースで何が出て何が入ったかを示します。

監視とレポート

重大な脅威、失敗したVPNトンネル、インターフェースのエラーには、ダッシュボード、定期レポート、アラートを使います。問題が起きたときだけでなく、定期的にログを確認してください。攻撃の多くは、被害を与える前にログに表れています。

機器の設定: 保存、コミット、安全なロールバック

コミットの前に保留中の差分を確認し、名前付きのバージョンを保存します。監査ログに表示される説明付きでコミットします。変更で通信が壊れたら、保存したバージョンを読み込んで再度コミットします。トラフィックログを読んで、ルールが何を許可し何を拒否したかを確認します。

# PAN-OS CLI: review changes, save a named configuration, commit with a description, roll back
configure
show config diff
save config to before-web-change
commit description "allow web from office, NAT for the DMZ web server"
exit
# Later, if the change causes a problem: load the saved version, check it, then commit
configure
load config from before-web-change
commit description "rollback: web change"
exit
# Operational mode: read the logs
show log traffic
コミットの仕組み:変更はcandidate設定に書き込まれて確認され、コミットして初めて有効になります
コミットの仕組み:変更はcandidate設定に書き込まれて確認され、コミットして初めて有効になります

ラボで練習する

ファイアウォールのスキルは実際に手を動かして身につきます。インターネット側、オフィスLAN、Webサーバーを置くDMZの三つのネットワークを持つ小さなラボを作ってください。製造元のラボイメージやシミュレーターがあればそれを使い、次の手順を順番に進めます。

1. 構成図を描き、三つのネットワークのIPとゾーンの計画を書きます。

2. 管理アクセスを設定し、初期パスワードを変更し、名前付きの管理者アカウントを作成します。

3. 三つのインターフェースを設定し、それぞれをゾーンに割り当て、デフォルトルートと社内ネットワークへのルートを追加します。

4. セキュリティポリシーを追加する前に、各ゾーンからpingで接続を確認します。

5. オフィスからインターネットへのWeb通信を許可するルールを追加し、それ以外はすべて拒否するデフォルト拒否を設定します。

6. untrust側からDMZのWebサーバーに届くように宛先NATを追加し、対応するセキュリティルールも追加します。

7. 許可ルールに脅威防御プロファイルを添付し、ログで一致を確認します。

8. コミットして各通信をテストし、保存した設定に戻して、ロールバックが機能することを確認します。

次のステップ

設定の後は、ポリシーに基づくトラブルシューティングを身につけ、数分で遮断された通信を見つけられるようにしましょう。その後、GlobalProtectとサイト間VPN、そして高可用性を学びます。コミットのたびに変更履歴を残してください。停止の多くは、一つの悪いルールではなく、記録されていない変更から起きます。

まとめ

Palo Alto NGFWは、ポートやアドレスだけでなく、アプリケーション、ユーザー、コンテンツを識別します。良い設定は、構成図、ゾーンとIPの計画、必要な通信の一覧から始まります。その後、管理の設定、インターフェースとゾーン、通信ごとに明示的な許可を含む順序付けられたポリシー、外向きと公開サーバーのためのNAT、検査のためのプロファイルと続きます。慎重にコミットし、ログを読み、ロールバックを手元に残してください。