Palo Alto VM-Series Next-Generation FirewallをELBにぶら下げる

記事タイトルとURLをコピーする

こんにちは、技術2課の紅林です。大阪オフィスに在勤しています。

大阪オフィスは東京オフィスに比べると規模が小さく、こちらの記事でも「東京オフィスとくらべると、ずっといるにはイマイチな居心地」と言及されてしまったりする(涙目)のですが、そんな大阪オフィスも、もうすぐ引っ越しの予定です。詳細はまだお伝えできませんが、近々このブログでも語られることがあると思います。

さて、今回は、Palo Alto Networks社のVM-Series Next-Generation FirewallをELBにぶら下げてみたいと思います。

Palo Alto VM-Series Next-Generation Firewall とは

Palo Alto VM-Series Next-Generation Firewall(以下、本ファイアウォール)は、こちらの記事でもガンダム部部長のゲートウェイ型セキュリティおじさん(実は多才)が言及していますが、パロアルトネットワーク社のファイアウォールで、IPアドレスやプロトコルやポート番号だけでなく、アプリケーションによってセキュリティポリシーを記述できることが大きな特徴です。AWSでもMarketplaceにてAMIが提供されています

PAN-OS7.1以前以後

今年の4月に本ファイアウォール向けのOSであるPAN-OSの7.1がリリースされました。

このリリース以前は本ファイアウォールをELBにぶら下げることは出来ませんでした。なぜなら、ELBはインスタンスのプライマリインタフェース(eth0)に振り分けを行いますが、本ファイアウォールではプライマリインタフェースはマネジメントインタフェース(WebポータルやSSHログイン等の管理用に用いる)として利用されるため、ELBから振り分けられるデータを、本ファイアウォールのデータプレーン(プライマリインタフェースではないENI)に流す術が無かったのです。

これまでは本ファイアウォールをAWS上で冗長化するには、本ファイアウォール付属のHA機能を用いる方法がありましたが、これはENIを切り替えることによってHAを実現しているため、インスタンスがAZをまたぐことが出来ないという制限がありました。

PAN-OS 7.1のアップデートで、本ファイアウォールのマネジメントインタフェース(eth0)とデータプレーンのインタフェース(eth1)をスイッチ出来るようになりました。これによりELBにぶら下げることが出来るようになりました。

今回アップデートされたこの機能を用いて、ELB配下に複数本ファイアウォールをぶら下げることにより、マルチAZによる構成を組むことが出来るようになります。

以下では、この手順をご紹介したいと思います。

設定手順

構成図

今回の手順の念頭に置く簡単な構成図を以下に示します。AZをまたいで本ファイアウォールを配置し、ELBからトラフィックを振り分けます。

Palo構成図

前提

  • 本ファイアウォールのインスタンスを構築済であること。Webポータル/SSHにてアクセスできること
  • 構成図中のWebサーバおよびELBが構築済であること(ELBへのインスタンス登録は未でよい)
  • 本ファイアウォールのeth1への通信がNATされて、WebサーバにアクセスされるようNATポリシーを記載済であること

手順

  1. 本ファイアウォールにSSHでログインします。

  2. 以下のコマンドを実行します。これにより、マネジメントインタフェース(eth0)とデータプレーンのインタフェース(eth1)の交換が設定されます

system setting mgmt-interface-swap enable yes
  1. 以下のコマンドを実行し、システムを再起動します。起動後はeth1のアドレスがマネジメントインタフェースのアドレスとなるのでご注意ください。
request restart system
  1. ELBに本ファイアウォールのインスタンスを登録します。プライマリインタフェース(eth0)がデータプレーンのインタフェースになっているため、ELBからのトラフィックが本ファイアウォールでNATされてWebサーバに届くはずです。

  2. 1~4の手順をほかのファイアウォールのインスタンスにも行います。

以上です。手順としては簡単ですね。

おわりに

今回の構成によりマルチAZによる構成が可能となりました。ただし、本ファイアウォールから見て、送信元IPアドレスがELBのアドレスになってしまうため、送信元IPアドレスを元にした通信制御がやりにくくなる等の制限事項が発生します。したがって、現状は導入時には要件を検討した上で、こちらの記事のようなHA構成等も含めて構成を検討する必要があると思います。

今後のアップデートで、HTTPヘッダフィールドのX-Forwarded-Forを用いたIPアドレスベースの通信制御等が出来るようになればと期待しています。

それでは、ごきげんよう。