斬新なファイアウォール - Palo Alto Networks

2009/7/8-3

Palo Alto Networks社の方々に色々話を聞きに行く機会があったので、ユーザやアプリケーションを細かく識別するファイアウォールについて聞いてきました。 "It's time to fix the firewalls"と言っているぐらいで、結構面白い機器でした。 国単位で同様の技術を利用するとネット検閲になりますが、企業単位だと社員管理というジャンルになるんだなぁと思いました。

Palo Alto Networks社とは

Palo Alto Networks社の標語は「It's time to fix the firewalls」です。 登場してから20年近く経過するファイアウォールが実は使いにくくて、全部を再設計して根本的に作り直そうという思想で作られています。

Palo Alto Networksは、イスラエルCheck Point Software Technologies(Firewall-1で有名な会社)で開発者をしていたNir Zuk氏によって設立されたそうです。 設立は2005年で、最初の製品が出たのが2007年とのことでした。 かなり独自性が強いファイアウォールで、一部方面では注目されているようです。 (逆に言うと、まだ全然メジャーではない)

個人的には確かに非常に面白いファイアウォールだと思いました。

ユーザ識別

まず、最初に凄く面白いと思ったのがユーザ識別機能です。 「ネットワーク上で誰が何をしているのか」を嫌になるほど可視化してしまってます。

今までのファイアウォールだと、IPアドレスと通信履歴が残るぐらいだったのですが、paloalto社のファイアウォールでは、Active Directoryと連携することでIPアドレスとユーザ名を自動マッピングしてしまいます。 Active Directoryには、ユーザだけではなくグループという概念もあるので、グループでのアクセス制御やログ表示も可能になっています。

Web UIでのユーザ表示は以下のような感じです。 誰が大量の通信をしているかや、各ユーザが何を使っているかが一目瞭然になってしまっています。 各ユーザ名の部分をクリックすると、そのユーザが行っている通信の詳細まで見えてしまいます。

このようにユーザ情報をIPアドレス情報とマッチングするだけではなく、利用セッション数や利用帯域でランキング的に表示されるようなUIを備えた製品は今までになかったそうです。 Active Directoryだけではなく、netbios name queryを利用して情報を得る機能もあるとのことでした。

Web認証

Active Directoryによる認証はWindowsをベースとしていますが、非Windows用にWeb認証によるユーザ管理も可能だそうです。 このWeb認証は、Web通信をTransparent Proxy的にファイアウォールの認証ページに誘導し、そこで認証が完了するまでは、そのホストの通信が全て遮断されるような設定も可能とのことでした。 アメリカのホテルで良くあるアレと同じ仕組みですね。

なお、Web認証用にRADIUSが利用できるそうです。

アプリケーション識別

アプリケーション識別も非常に大きな特徴の一つであるそうです。 良くあるファイアウォールでは、プロトコル番号やポート番号などからフックした通信フローに対して別途定義されているチェック用の機能を起動していくそうです。 例えば、TCP port 80番だったらウィルスチェック機能を経由するという感じです。

一方、Palo Alto Networksのファイアウォールは、可能性がある全てのアプリケーションの識別検査処理を全通信フローに対して適用するとの事でした。 これによって、例えばファイアウォール超えのために別ポートで通信を行ったり、プロクシ経由での通信であったとしても、通信アプリケーション識別が可能になるようです。 時代とともにファイアウォール超えの技術が色々と発展し、それによってファイアウォールを中から突破するような事例が増えたため、このような方法が必要になったのだろうと思います。

現在、様々なアプリケーションを識別できるようです。 例えばBittorentやSkypeなどのP2Pアプリケーションや、hotmailやgmailなどのWebアプリケーションも識別可能であるとのことでした。

世界60組織に置いているモニターから「最近のアプリケーション流行」を測定し、必要なものに関しては新たにパターンを定義するという方式で認識可能なアプリケーションが増えて行きます。 日本では、京都大学にアプリケーション発見用のモニター機器があるようです。

アプリケーション識別を行うために、アプリケーションのパターンを作るための専門部署というものがあるそうです。 必要と判断されたアプリケーションシグネチャを抽出し、作成されたパターンはアップデートとして既存機器に導入可能であるとのことでした。

日本に特化したアプリケーションとしては、例えばmixiや2chやニコニコ動画が挙げられます。 中でも、2chは閲覧と投稿の可否をユーザグループ毎に設定出来るそうです。 これは企業内で「○○という部署は閲覧まで可能。××という部署は投稿も可能。△△は閲覧も投稿も禁止」というニーズが多いからだそうです。 例えば企画部門やマーケティング部門などが2chから情報を得る事はありそうなので、確かに、そのようなニーズは多そうですね。

UTM的機能色々

そもそもファイアウォールとは、どのようなものでしょうか? wikipediaによると、ファイアウォールとは以下のような物であるようです。

ファイアーウォール(防火壁)とは、ある特定のコンピュータネットワークとその外部との通信を制御し、内部のコンピュータネットワークの安全を維持することを目的としたソフトウェア、あるいはそのソフトウェアを搭載したハードウェアである。外部から内部のコンピュータネットワークへ侵入しようとするクラッキング行為を火事にたとえ、それを食い止めるものとして防火壁という表現を用いている。

ファイアウォールの本来の意味は外からの攻撃を守る防火壁です。 そのため、外からの攻撃を守るようなイメージがありますが、Palo Alto Networks社の製品は外からの攻撃よりも中の状況に関して着目している部分が強い感じがします。 色々と説明を伺って、ファイアウォールというよりもUTM(Unified Threat Management/統合脅威管理)という側面が強い気がしました。

まず、データパターンから通信をブロックすることが可能とのことでした。 例えば、外部に未発表で社外秘なプロジェクト名が通信に含まれていると、その通信を遮断し、アラートを上げるという機能があります(日本語対応は、まだしていないそうです)。 さらに、クレジットカード番号を構成するアルゴリズムを確認することによって、数字列がクレジットカード番号かどうかを確認し、クレジットカード番号であればブロックできるようです。

さらに、通信の中身を見つつ、Webフィルタリングを行う機能や、ウィルス/スパイウェアなどに対する脅威防御機能もあるようです。

これらの機能は、ストリームベースの処理によってシングルエンジンで行われているとのことでした。 シングルエンジンであるために「何かがヒットしたら別のエンジンに渡す」というような処理が発生せずに高速化が可能であり、さらにストリームベースで必要最低限のパケット情報だけをバッファするだけなので、ファイル全体をダウンロードするまで待つ事による遅延は発生しないようです。 また、例えば、ダウンロードされるファイル全体をバッファするわけではないので、同時に処理出来るセッション数も多くなるとのことでした。

コントロールプレーン、データプレーン

Palo Alto Networksのファイアウォールは、コントロールプレーンとデータプレーンが分離されており、設定や情報取得のための処理によってパケット転送等が影響されないようなハードウェア構造になっているそうです。

このような構造になっているので、Web UI上でリッチな表現が出来るのだろうと予想しています。

通信性能

「こんなに色々やってスループット出るの?」というのがネットワークエンジニアとしての普通の反応だと思いますが、スループットに関してはPalo Alto Networks社の資料で以下のように記述されていました。

  PA-4020 F社 J社 N社
FWカタログスペック 2Gbps with App-ID >6Gbps >650Mbps 1.5Gbps
IPSカタログスペック 2Gbps with AV,AS,WF 3Gbps NA NA
IPSテストデータ 1.6Gbps 624Mbps 426Mbps 156Mbps
AVテストデータ 1.6Gbps(-0%) 524Mbps(-16%) 157Mbps(-63%) 54Mbps(-65%)
IPS+AVテストデータ 1.6Gbps(-0%) 520Mbps(-17%) 138Mbps(-68%) 33Mbps(-79%)

Palo Alto Networks社のプレゼン資料に登場する、この表ですが、実は一部注意が必要な部分があります。 この表にあるデータは、2007年時点でのNetwork Worldでの測定結果を参考にしているのですが、Network Worldの測定にはPalo Alto Networks社は入っていません。

参考:Network World : UTM Firewalls: Your mileage will vary with your choice of protection

では、Palo Alto Networks社の発表資料に含まれるPA-4020に関する数値データはどこから来ているかというと、Network Worldの2008年のNClearChoiceレポートから来ています。

参考:Network World : Palo Alto's performance holds steady as security measures increase

この記事の中に、以下のような文があります。 数値はここから来ているようですね。

Tracking performance of the Palo Alto PA-4020
Security features enabled for each test run Maximum Throughput (in Gigabit/sec)
IPS only 1.627
AV only 1.628
IPS and AV 1.627
IPS, AV, Content Filtering 1.628

さらに、Network Worldの記事には以下のような文もありました。

We also found that no matter which security features we enabled or disabled, the PA-4020 turned in the same performance: approximately 1.627Gbps of throughput. This included intrusion-prevention systems (IPS) (both enabled and disabled), antivirus (both enabled and disabled), and content filtering (both enabled and disabled), all on top of basic firewall and network address translation. This behavior is quite different from what we saw in all other UTM tests we've conducted recently, where performance varied based on which services were enabled.

要は「従来のUTM製品と違って、どんな機能をONにしてもスループットは変わらない」ということのようです。 これが何でだか非常に不思議に思うというのは、誰でも一緒であるようで、Network Worldの記事には以下のような文もありました。

We contacted Palo Alto to ask why performance was the same whether security features are enabled or not and were told that this was a side effect of how their application identification code works. According to Palo Alto representative, because an HTTP applications can "change types" in the middle of a single TCP connection, all security features on the PA04020 are running at all times on HTTP applications.

Network WorldがPalo Alto Networks社に問い合わせてみたら、「TCPコネクションの途中でアプリケーションが挙動を変える事もあるため(HTTPだと思っていた通信が別の物に変身することがあるため)、PA04020はどっちみち毎回全てのセキュリティ機能を動作させている」という回答であったようです。

「え???それだけ???というか、毎回可能性のあるあらゆる検査をして何故性能が出るの???」というのが個人的には非常に疑問でした。 取材時にも結構質問したのですが「そのような前提でハードウェアを設計し直してゼロから作ったから」という回答でした。 何か最後まで半分納得出来なかったのですが、そういうものなのでしょうか???

ということで、2007年と2008年に別々に測定した結果であるため注意が必要ではありますが、従来製品よりも動作が速そうだと思えるデータでした。

管理画面

写真では表現できないのですが、管理画面にとにかく凝っているというイメージがあります。 管理画面のWeb UIが表示とともに「うにょーん」と動いてからグラフを表示したりします。 その動くのも不快でゆっくりな動き方ではなく、短いちょっとした演出程度であるのもいい感じです。

様々な切り口でデータを表現できますが、一般的な所では、例えば通信種別での表示が挙げられます。 以下の例では、例えば「Web browsing」とか「dns」とか「gnutella」とか「smtp(メール)」という項目が表示されていますが、それらのリンクをクリックするとさらに詳細な情報が表示されていきます。

地域別表示も可能です。 どの地域から、どの地域への通信が多いのかもわかります。

PDFでのレポートを定期的に出せるという機能もあるようです。

SSL対応

SSL復号機能もあるようです。 SSL通信開始時に交換される証明書をファイアウォールが自前の物に置き換えて、一度手元で暗号データを復号することによって実現されています。

このとき、クライアント側に本来のサイトの証明書情報などがあると「不正なホストへの接続」とみなされてしまいます。 警告メッセージが毎回出るのを防ぐためには、各クライアントPCにファイアウォールが発行する証明書をインストールするか、自前の認証機関を組織内で運用する必要があります。 まあ、ここら辺は企業や組織内のネットワークでの運用が前提なので、「そういうものだ」といわれれば、まあ、そういうものかな、という感じですね。

冗長化

Active/Standbyによる冗長化機能もあるようです。 2台のファイアウォール同士をイーサケーブルで接続し、両方ファイアウォールのステート(状態)を同期させて、プライマリ側が落ちたらバックアップ側が起動するという構成です。

TAP/L1/L2/L3 mode

Palo Alto Networksのファイアウォールは4つのモードで動作可能です。 個人的に面白いと思ったのがTAPモードです。 以下の図のように、ルータかスイッチでポートミラーリングを行ってタッピングだけを行えます。

このようにタッピングだけを行い、組織内に流れるトラフィックを監視するためだけに利用できます。 この利用方法は購入前の「お試し期間」中に利用される事が多いようです。 組織内を流れるトラフィックの内容を可視化して見てもらって、社長が衝撃を受けてファイアウォールを購入という流れが多いとの事でした。(笑)

まあ、ありがちなパターンですよね。

L1/L2/L3モード

完全なL1として機能するVWireモードがあります。 このVWireモードでは、ファイアウォールが単なる「物理回線」の一部のように振る舞うため、L2的にSTPやVLAN IDなどを考える必要が無いという特徴があります。 変な通信を行うと突然切断される物理回線という感じでしょうかね。

次に、L2モードがあります。 これはL2スイッチ的に使いながらファイアウォールとしても動作するというものですね。

L3モードは一番素直で、いわゆるルータとして機能するファイアウォールです。

IPv6

IPv6も使えるようです。 IPv4と同等の性能が出るかどうかなどの質問をしようと思っていましたが、質問するのを忘れてしまいました。 IPv6関連は、次のお楽しみにしたいと思います。

まとめ

各機能を単体として見て行くと、目立って技術的に革新的な事をしているというわけでも無さそうだとも思えます。 とはいえ、ネットワーク機器として無限にあり得る機能リストを必要最低限に抑えつつ、かつ高機能と感じさせる匙加減で実現しているようなイメージがあります。 さらに、今まで「ファイアウォール」という分野では、あまり行われていなかったような事を色々と導入していったというところに、Palo Alto Networks社のファイアウォールの凄みがあるような気がします。

いや、でも、今はまだそんなに名前を聞かないベンダーですが、メチャメチャ凄いと思いました。 これはきっとファイアウォール業界の製品トレンドや流れを変えちゃうんじゃないでしょうか?

今後、各社から、同様のファイアウォールが増えて行くのかも知れないと思いました。

取材が実現した経緯

今回の取材は「えxぺ」という試みを一緒にやっているyasuyukiさん経由で実現しました。 yasuyukiさんに「Palo Alto Networksさんは凄いよ」と教えて頂き、"えxぺ"としてコンタクトして、まずは内容を伺うために取材をしました。

最初に説明した時には「何でそんな事をしたいのですか?」的な反応を頂きましたが、「面白いと思う話を発見して、それを共有したいんです!」という感じで説明しました。

次は、えxぺでの無料講演をお願いしようとしています。 恐らく7月後半になると思います。 デモ等を見ると結構面白いので、お楽しみに!

なお、念のため明記しておきますが、お金や物品を受け取っているわけではありません。 純粋に興味があって、飛び込みでPalo Alto Networksさんにお願いしてみています。

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!