オフロードのアーキテクチャ
Sophos Firewall は、ファイアウォール、PKI、および IPsec のアクセラレーションを提供します (オフロードをサポートする SFOS バージョンおよびアプライアンスが対象となります)。
オフロードは、マルウェア検出やウイルス対策スキャンなど、リソースを大量に消費するタスクのためにホストの CPU のリソースを解放する仕組みです。
モジュールとオフロード判定
このアーキテクチャには、SlowPath と FastPath が含まれます。SlowPath は、ファイアウォールスタック (カーネル)、ユーザー空間モジュール (ディープ パケット インスペクション (DPI) エンジンを含む)、および、信頼できるフローをオフロードするかどうかを決定するオフロードモジュールから構成されています。FastPath には、信頼できるフローおよび特定のタスクがオフロードされます。
ファイアウォールアクセラレーションでは、接続内の最初のパケットを検査した後、信頼できるトラフィックを FastPath にオフロードします。これにより、接続内のすべてのパケットについてファイアウォールの全処理を適用する必要がなくなります。FastPath では、個々の接続のステートフルトラッキングに基づきパケットを処理することで、CPU サイクルとメモリ帯域幅を節約します。FastPath は、カーネルの指示のみに従って動作します。
SSL/TLS インスペクションエンジンが PKI 処理のオフロード判定を、XFRM スタックが IPsec 暗号化および復号化のオフロード判定を行います。
詳細は、パケットの寿命を参照してください。
注
FastPath で処理できない機能や障害があった場合に備え、SlowPath もフォールバックパスとして保持されます。
SlowPathは、IP-in-IP など、オフロードされないプロトコルの処理を続けます。
アプライアンスにおけるオフロード
FastPath は、ソフトウェアベースで提供されます。そのため、ハードウェア、ソフトウェア、仮想の Sophos Firewall 間で共通のアーキテクチャを維持できるのが特徴です。オフロード機能の更新やその他の機能拡張は、SFOS リリースの一部として提供されます。
ハードウェアアプライアンス
XGS シリーズ
XGS シリーズアプライアンスにはデュアル プロセッサ アーキテクチャ (マルチコア x86 CPU と、専用の Xstream フロープロセッサの組み合わせ) が導入されています。Xstream フロープロセッサは、オフロードされたタスクの処理用に特別に設計された Network Processing Unit (NPU) です。
XGS シリーズアプライアンスは、一定の条件を満たす処理を Xstream フロープロセッサにオフロードして、ファイアウォール、PKI、IPsec のアクセラレーションを行います。
x86 CPU は、接続内の最初のパケットを検査した後、信頼できるトラフィックを FastPath (Xstream フロープロセッサ) にオフロードします。検査済みの TLS フローの X.509 サーバー証明書の再署名、および、IPsec の暗号化および復号化処理は、NPU の暗号化ハードウェアにオフロードされます (一定の条件を満たしているフローが対象となります)。
概要
オフロードの種類 | 対応 |
---|---|
PKI アクセラレーション (DPIエンジンによって検査された TLS トラフィック) | 1UL (XGS 4300、4500) 2U (XGS 5500、6500、7500、8500) |
IPsec アクセラレーション | すべての XGS シリーズ |
ファイアウォールアクセラレーション | すべての XGS シリーズ |
仮想およびソフトウェア版
Sophos Firewall の仮想およびソフトウェア版は、ファイアウォールのアクセラレーションのみを提供し、オフロードされたトラフィックにも、同じ x86 CPU を使用します。PKI および IPsec のアクセラレーションには対応していません。
ハイパーバイザーのサポート: FastPath は、VMware ESXi のハイパーバイザーに対応しています。KVM などの他のハイパーバイザーでは、ファイアウォールアクセラレーションのための CLI コマンドを使って FastPath をオフにしてください。
NIC ドライバ: FastPath は、i40e、e1000、e1000e、igb、ixgbe、vmxnet3 に対応しています。これ以外のドライバにはロードされません。なお、Sophos Firewall (DPI エンジンを含む) は、サポート対象外のドライバでも正常に動作します (FastPath によるパフォーマンス向上がないという点だけが異なります)。
MTU: 現在、FastPath は e1000 および e1000e NIC で最大 3500 MTUを、その他の NIC で最大 9000 MTU をサポートしています。
オフロードされたネットワークフロー
ファイアウォール、PKI、IPsec のアクセラレーションは、デフォルトでオンになっています。使用できるアクセラレーションの種類は、アプライアンスシリーズおよび SFOS バージョンによって異なります。
注
ファイアウォールおよび PKI のアクセラレーションのオン/オフを切り替えると、IPS サービス (DPIエンジン) が再起動します。
TCP ハンドシェイクが完了するか、または、各方向からのパケットが 1つずつ Sophos Firewall を通過すると、SlowPath によってフローが完全に分類され、FastPath 内に接続キャッシュが登録されます。これにより、FastPath への同じ接続で、後続のパケットのカーネル処理がオフロードされます。
DPI エンジン: DPI エンジンは、ストリーミング処理を通じてレイヤ 4 以上からのトラフィックを検査します。この単体のエンジン内で、SSL/TLS の復号化およびインスペクション、IPS ポリシー、アプリケーションの特定と制御、Web ポリシー (プロキシレス型 Web フィルタリングを含む)、およびマルウェア対策スキャンが適用されます。マルウェア対策スキャンには、ゼロデイ対策およびファイルレピュテーション分析が含まれます。
オフロードの決定は、セキュリティ処理の各段階で行われます。
FastPath へのオフロード: SlowPath では、パケットがカーネル経由で DPI エンジンに配信されます。セキュリティポリシーが適用される場合、パケットは DAQ (Data Acquisition) レイヤに送信され、セキュリティの判定が行われます。FastPath では、オフロードされたパケットが DAQ レイヤから DPI エンジンに直接配信されるため、カーネルメモリへのコピーの保持が不要になります。
DPI エンジンは、トラフィックをオフロード可能と判定した場合、FastPath に 対して SlowPath および DPI エンジンからのフローを遮断するように指示します。このようにして、一部またはすべての処理をオフロードできるため、CPU への負荷が最小限に抑えられます。
ファイアウォールアクセラレーションのオン/オフ: CLI コンソールでファイアウォールアクセラレーションをオフにした場合や、FastPath がロードされない場合でも、Sophos Firewall は正常に動作します (FastPath によるパフォーマンス向上がないという点だけが異なります)。
ファイアウォールアクセラレーションをオンまたはオフにしてステータスを確認するには、ファイアウォールアクセラレーションの CLI コマンドを参照してください。
制限
ファイアウォールアクセラレーションには、以下の制限が適用されます。
- SSL VPN、QoS、DoS、RED、LAG、PPPoE トラフィックはオフロードの対象外です。
- 特定のブリッジ構成のみが、オフロードの対象となります。
- アクティブ/アクティブ HA では、ファイアウォールアクセラレーションはサポートされません。アクティブ-パッシブ HA では、プライマリノードでファイアウォールアクセラレーションを使用できます。
- オフロードをオンにしたまま、tcpdump を実行することが可能です。FastPath トラフィックを tcpdump に送信するように設定できます。
ファイアウォールは、検査済みの TLS フローを TLS クライアントに送信する前に、X.509 サーバー証明書に再署名します。
TLS フローが次のすべての条件を満たす場合、DPI エンジンは X.509 証明書の再署名のための PKI 処理を Xstream フロープロセッサの暗号化ハードウェアにオフロードします。
- TLS 1.2 および 1.3 のフロー。
- DPI エンジンによって検査された TLS フロー。
- RSA 認証を使用するフロー (鍵サイズが 4096ビット以下)
制限
SFOS は以下に対応していません。
- 検査済みの SSL/TLS フローの対称暗号化のオフロード。
- Web プロキシモードでの SSL/TLS フローの PKI アクセラレーション。
- アプライアンスで終端する SSL VPN 接続の PKI アクセラレーション。
PKI アクセラレーションは、利用可能なファイアウォールアプライアンスではデフォルトでオンになっています。以下のリンクをご覧ください。
ポリシーベースおよびルートベースの IPsec VPN では、XFRM スタックによって、ESP のカプセル化、暗号化、カプセル化解除、復号化などの処理がオフロードされます。IPsec アクセラレーションによって、IPsec VPN トンネルのスループットも向上します。
XFRM スタックは、フェーズ 2 の SA (セキュリティアソシエーション) に基づいて、これらの処理を NPU の暗号化ハードウェアにオフロードします。SFOS で使用可能な暗号化と認証の全組み合わせの SA がオフロードされますが、以下はサポート対象外となります。
- 3DES
- BlowFish
- MD5
ヒント
パフォーマンスを最大化するには、暗号化方式 AES-GCM 128 を使用することを推奨します。
IPsec VPN トラフィックは、以下のようにオフロードされます。
完全オフロード: オフロードされた SA のパケットは、NPU の暗号化ハードウェアでカプセル化、暗号化、カプセル化解除、復号化が行われます。内部トラフィックが一定の条件を満たす場合は、SlowPath の処理も FastPath にオフロードされ、完全なオフロードが実現します。
FastPath と SlowPath: オフロードされた SA のパケットは、暗号化ハードウェアで暗号化、復号化されます。内部トラフィックが FastPath へのオフロードの対象外である場合は、SlowPath でトラフィック処理 (カプセル化およびカプセル化解除を含む) が行われます。なお、カプセル化の最終処理は、FastPath でパケットを暗号化した後に行われます。
SlowPath のみ: オフロードされない SA については、SlowPath で全処理が実行されます。
制限
SFOSは アクティブ-アクティブおよびアクティブ-パッシブ HA のプライマリノードで IPsec アクセラレーションをサポートします。
次の場合、SA はオフロードされません。
- SA の暗号スイートが、サポート対象外である。
- SA が VLAN などの仮想インターフェース上にある。
- 送信元および宛先の IP アドレスが、SA が想定するアドレスと一致しない。
-
VLAN およびワイヤレスインターフェース上の IPSec トラフィック。
注
VLAN 上の SA および IPsec トラフィックのオフロードは、XGS 88(w)、108(w)、118(w)、128(w) でサポートされています。
IPsec アクセラレーションのオン/オフを切り替えると、IPsec の全トンネルが再起動し、ダウンタイムが発生します。IPsec アクセラレーションのオン/オフを切り替えてステータスを確認する方法については、IPsec アクセラレーションの CLI コマンドを参照してください。
ルールおよびポリシーに基づくオフロード
ルールとポリシーを適宜設定することで、ファイアウォールスタックおよび DPI エンジンをバイパスし、NPU でトラフィックを完全に処理することが可能です。これにより、トラフィックの特性に応じてオフロードを微調整し、クラウドアプリケーションのトラフィックや DPI エンジンを高速化することが可能です。
例として、以下のようなケースがあります。
- IPS、Web フィルタリング、マルウェア対策、またはアプリケーション制御を使用しないファイアウォールルール。ハンドシェイクが完了した後、または、最初のパケットが接続の両側にある Sophos Firewall を通過した後に、トラフィックは FastPath にオフロードされます。
- アプリケーション制御ポリシーを含むファイアウォールルール。トラフィックは約 8パケット後に FastPath にオフロードされます。
- ルールアクションに IPS ポリシーが設定されたファイアウォールルールセッションのバイパス。IPS ポリシールールとこのアクションが一致するトラフィックは、FastPath にオフロードされます。
-
以下のポリシーが設定されているファイアウォールルール:
- SophosLabs からのインテリジェントなオフロードシグニチャを含む IPS ポリシー。
- マルウェアやコンテンツスキャン、DPI エンジン設定を使用しない Web フィルタリング。マルウェアおよびコンテンツスキャンおよび DPI エンジン設定を含むファイアウォールルールの場合、FastPath は、ファイアウォールスタックをバイパスして、直接 DPI エンジンにトラフィックを配信します。
-
SSL/TLS インスペクションルールがない場合。アクションが「復号化」に設定されているルールでは、FastPath はファイアウォールスタックをバイパスして、直接 DPI エンジンにトラフィックを配信します。
- アクションが「復号化しない」に設定された SSL/TLS インスペクションルール。STARTTLS 接続の場合、トラフィックは 15 パケット後に FastPath にオフロードされます。
以下の点に注意してください。
- CLI で、ファイアウォールアクセラレーションをオンにする必要があります。サポート対象のファイアウォールアプライアンスでは、デフォルトでオンになっています。
- 「ルールとポリシー > ファイアウォールルール」に移動します。「Web フィルタリング」で、DPI エンジンの代わりに Web プロキシを使用するオプションが選択されていないことを確認します。
- 「ルールとポリシー > SSL/TLS インスペクションルール > SSL/TLS の設定」に移動します。「RSA の再署名」および「EC の再署名」で、鍵のサイズが 4096ビット以下の RSA 証明書を選択していることを確認します。
-
特定のトラフィックに対して、SSL/TLS インスペクションの設定と異なる CA を使用する場合は、「プロファイル > 復号化のプロファイル」に移動します。「RSA の再署名」および「EC の再署名」で、鍵のサイズが 4096ビット以下の RSA 証明書を選択していることを確認します。SSL/TLS インスペクションルールで、この復号化プロファイルを選択します。
ファイアウォールのデフォルトの再署名 CA は、RSA を使用します。
「プロファイル > IPsec プロファイル」に移動します。「暗号化」および「認証」で、フェーズ 2 トンネルに対して次の項目が選択されていないことを確認します。
- 3DES
- BlowFish
- MD5