アーキテクチャ

Xstream アーキテクチャは、パケット処理のオフロードおよびストリーミングを通じて、高度な保護とパフォーマンスを実現する仕組みです。

このアーキテクチャは、DPI (ディープパケットインスペクション) エンジン、SSL/TLS インスペクション、および FastPath ネットワークフローから構成されています。

DPI エンジンは、SSL/TLS の復号化およびインスペクション、IPS ポリシー、アプリケーションの特定と制御、Web ポリシー (プロキシレスの Web フィルタリングを含む)、およびシングルエンジンのウイルス対策スキャンを適用します。ウイルス対策スキャンには、Sandstorm およびファイルレピュテーションの分析が含まれます。

SSL/TLS インスペクションでは、最新の暗号化スイートを採用している SSL/TLS 接続をあらゆるポートとプロトコルについて復号化、検査します。詳細は、ルールとポリシー > SSL/TLS インスペクションルールでご確認ください。

FastPath ネットワークフローは、信頼できるトラフィックの処理をオフロード (バイパス) します。このオフロードによって、接続に含まれるすべてのパケットに対してファイアウォールの全処理を行う必要がなくなり、処理サイクルの使用を抑えられます。
現時点では、VPN、QoS、DoS、RED、および HA のトラフィックは FastPath へのオフロードに対応していません。

ルールとポリシーを使って FastPath のオフロードを調整し、トラフィックの特徴に基づいてクラウドアプリケーションの処理を高速化したり、DPI エンジンを経由させたりすることが可能です。

FastPath のネットワークフロー

データプレーンは、ハードウェアおよびソフトウェアのコアコンポーネントであり、FastPath、カーネル (ファイアウォールスタック)、およびユーザー空間領域の中で動作して、信頼できるパケットを接続のライフタイム全体を通じてオフロードする役割を果たします。DPI エンジンは、ユーザー空間の中にあります。

FastPath は、DPI エンジンへの効率良いゼロコピー (zero-copy) パスを提供し、カーネルメモリにおけるコピー保持を不要にします。データプレーンは、カーネルおよびユーザー空間の分類判定をキャッシュして、同じ接続内の全トラフィックにその判定を適用することによって、ハードウェアの負荷を軽減します。これが、パケットの処理の一部またはすべてを CPU からオフロードする FastPath の仕組みです。

なお、ファイアウォールスタックは、接続レートを管理するために引き続き CPU を使用します。

XG Firewall は、FastPath で処理できない機能や、FastPath が正常に動作しないときのために、ファイアウォールスタック (slowpath) の処理をフォールバックパスとして維持します。また、ファイアウォールスタックは、IP in IP などの一部のプロトコルの処理を引き続き担当します。

FastPath はソフトウェアベースであり、Virtual FastPath (VFP) も提供されています。これにより、XG Firewall デバイスおよび XG Firewall のソフトウェアおよび仮想アプライアンスのプラットフォームの間で、共通したアーキテクチャを維持することが可能となります。ファイアウォールスタックから FastPath へのオフロードは、VFP または FastPath API によって行います。VFP のアップデートおよび機能は、SFOS リリースに含まれます。

Virtual FastPath は、NIC ドライバの i40e、e1000、e1000e、igb、ixgbe、vmxnet3 をサポートしています。その他のドライバでは VFP は使用できませんが、XG Firewall (DPI エンジンを含む) は問題なく動作します (FastPath によるパフォーマンス向上の効果は得られません)。

現在、Virtual FastPath は、e1000 または e1000e の NIC で、3500 MTU までサポートします。

仮想環境の場合、VMware ESXi ハイパーバイザーで Virtual FastPath を使用可能です。KVM などの他のハイパーバイザーの場合は、ファイアウォールアクセラレーションに関する CLI コマンドを使って FastPath をオフにしてください。

ファイアウォールアクセラレーション

CLI コンソールでファイアウォールアクセラレーションをオフにした場合や、FastPath がロードされない場合でも、XG Firewall は問題なく動作します (FastPath によるパフォーマンス向上の効果は得られません)。

FastPath によるファイアウォールアクセラレーションをオンまたはオフにしたり、ステータスを表示するには、次の CLI コマンドを使用します。

オプション

CLI コマンド

ファイアウォールアクセラレーションを表示する

console> system firewall-acceleration show

ファイアウォールアクセラレーションをオンにする

console> system firewall-acceleration enable

ファイアウォールアクセラレーションをオフにする

console> system firewall-acceleration disable

FastPath は tcpdump に対応していません。tcpdump コマンドを実行すると、FastPath はオフになります。

FastPath

接続トラフィックは、最初はステートフルファイアウォールモードで流れます。ファイアウォールスタックによって 1つ目のパケットが処理され、以下が実行されます。
  • ファイアウォールルールのアクションを適用します。
  • レイヤー 2 およびレイヤー 3 の判定を行います (ルーティング、スイッチング、転送、および RED トラフィック関連の判定)。
  • 入口でのカプセル化解除および出口でのカプセル化についての判定を行います (IPSec VPN の判定を含む)。
  • DoS (サービス拒否) ポリシーを適用します。
  • QoS (トラフィックシェーピング) ポリシーを適用します。

各方向からパケットが 1つ XG Firewall を通過すると、ファイアウォールスタックはそのフローを完全に分類し、FastPath に接続キャッシュを登録します。これにより、同じ接続に含まれる後続パケットのカーネル処理が FastPath にオフロードされます。これらのパケットについては、ID と宛先を確認する処理が不要となります。FastPath では、個々の接続のステートフルトラッキングを使用して、これらのパケットを完全に処理することができるので、CPU サイクル、メモリ、帯域幅の使用が抑えられます。FastPath は、カーネルの指示にのみ従って動作します。

DPI エンジン

ファイアウォールスタックは、セキュリティに関する判定を行うために、最初のパケットを DAQ (Data Acquisition) レイヤー経由で DPI エンジンに配信します。後続のパケットは、FastPath によって DAQ レイヤー経由で DPI エンジンに直接配信されます (DAQ レイヤーは、DPI エンジンの内外にパケットを高速移動するメカニズムです)。このように直接配信することによって、カーネルメモリにコピーを保持する必要がなくなります。

DPI エンジンは、レイヤー 4 以上のトラフィックをストリーミングで処理、検査します。オフロードの判定は、セキュリティ処理の各段階で行われます。

SSL/TLS エンジン: 暗号化されていないトラフィックの場合、SSL/TLS インスペクションルールがオンになっていると、SSL/TLS モジュールが DAQ レイヤーに対してそのフローの SSL/TLS 処理をスキップするように指示します。暗号化されたトラフィックの場合、SSL/TLS インスペクションルールが設定されていると、接続のライフタイム全体を通じて DPI エンジンがトラフィックに変更を加え続けます。SSL/TLS 接続が検査目的で変更されるため、接続が破棄されるのを防げます。

侵入防御アプリケーションコントロール: アプリケーションコントロールを有効にすると、最初のいくつかのパケットが IPS に配信され、アプリケーションが識別されます。IPS は数パケットを受けた後、アプリケーションを分類し、アプリケーションコントロールのポリシー判定を行います。これにより、新たな転送処理と QoS パラメータが指定される場合があります。DAQ レイヤーは、この判定をカーネルおよびハードウェアに伝えます。この時点から、接続が FastPath に完全にオフロードされる可能性があります。

IPS は、さまざまな要因 (安全なシグネチャ、SophosLabs の判定、IPS ポリシーに指定されたバイパスアクション、これまでのガイドラインなど) に基づいてセキュリティ処理を停止するかどうかを判断し、この決定を伝えます。

ウイルス対策Web フィルタリング: IPS によってトラフィックが安全であるとみなされた場合、ウイルス対策スキャンは実行されません。Web フィルタリングが適用されている場合、Web トラフィックスキャンは HTTP の応答に応じてフローの最後まで続行されます。

この時点から、FastPath はトラフィックをカーネルからオフロードし、レイヤー 2 およびレイヤー 3 の処理を担当します。このように処理の一部またはすべてをオフロードすることによって、CPU への負荷が最小限に抑えられます。

ルールとポリシーを使って FastPath を有効にする方法

ルールおよびポリシーで FastPath を有効にする例を次に示します。FastPath を使えば、ファイアウォールスタックや DPI エンジンをバイパスしながら、トラフィックを完全に処理することができます。

  • ファイアウォールルールに、IPS、Web フィルタリング、ウイルス対策、アプリケーションコントロールを含めない。接続のいずれかのサイドの最初のパケットが XG Firewall を通過した後に、トラフィックが FastPath にオフロードされます。
  • アプリケーションコントロールポリシーを含むファイアウォールルール。約 8パケット後に、トラフィックは FastPath にオフロードされます。
  • ファイアウォールルールで、IPS ポリシールールのアクションをセッションのバイパスに設定する。このアクションが設定された IPS ポリシールールに一致するトラフィックは、FastPath にオフロードされます。
  • 次のポリシーを含むファイアウォールルール:
    • SophosLabs からの高度なオフロードシグネチャを含む IPS ポリシー。
    • Web フィルタリング (マルウェアスキャン、コンテンツスキャン、DPI エンジンの設定なし)。ファイアウォールルールにマルウェアスキャン、コンテンツスキャン、DPI エンジンが設定されている場合、FastPath はファイアウォールスタックをバイパスして、DPI エンジンに直接トラフィックを配信します。
  • SSL/TLS インスペクションルールなし。ルールのアクションが復号化に設定されている場合、FastPath はファイアウォールスタックをバイパスして、DPI エンジンに直接トラフィックを配信します。
  • SSL/TLS インスペクションルールのアクションが復号化しないに設定されている。STARTTLS 接続の場合、15パケットの後にトラフィックが FastPath にオフロードされます。