ステートフルプロトコルインスペクションにおけるステートフルファイアウォールとステートレスファイアウォールの理解
ファイアウォール 非常に長い間、企業のサイバーセキュリティ戦略の基本的な要素でした。長年にわたり、製品機能の大幅な追加と強化が行われてきました。1994 年にさかのぼる特長の 1 つは、ステートフルインスペクションです。
ステートフルインスペクションとは
ステートフルインスペクション、別名動的パケットフィルタリングとは、ファイアウォールがネットワーク接続の状態とコンテキストに基づいてデータパケットをフィルタリングすることです。ネットワーク接続にとって「状態」と「コンテキスト」が何を意味するのかを見てみましょう。
状態
接続の状態を理解する方法として、2 つのエンドポイント間のネットワークプロトコルの TCP ベースの通信を使用しましょう。TCP では、割り当て可能な 9 つの制御ビットのうち 4 ビット (SYN、ACK、RST、FIN) を使用して接続の状態を制御します。ファイアウォールは接続状態に基づいてポリシーを適用できますが、接続終了後に残ったパケット、再送信されたパケット、または遅延したパケットがそれを通過するかどうかも考慮する必要があります。
ファイアウォールの状態追跡の簡単な例を見てみましょう。
- クライアントアプリケーションが 3 ウェイハンドシェイクを使用して接続を開始すると、TCP スタックは接続の開始を示す SYN フラグを設定します。このフラグはファイアウォールが新しい接続を示すのに使用されます。
- サーバーは SYN+ ACK を送信して接続に応答します。この時点で、ファイアウォールは両側からのパケットを認識し、内部接続状態を ESTABLISHED に昇格させます。TCP の観点からは、クライアントが ACK を返信するまで接続はまだ完全には確立されていません。
- 同様に、ファイアウォールが RST または FIN+ACK パケットを検出すると、その接続状態を削除対象としてマークし、この接続の今後のパケットはすべてドロップされます。
擬似状態
すべてのネットワークプロトコルが TCP のような状態になるわけではありません。たとえば、UDP は、本質的にステートレスで非常に一般的に使用されているプロトコルです。このプロトコルを使用するアプリケーションは、アプリケーションロジックを使用して状態を維持することも、使用しなくても動作することもできます。UDP を使用する一般的なアプリケーションとしては、DNS、TFTP、SNMP、RIP、DHCP などがあります。
今日のステートフルファイアウォールは、これらのプロトコルに「疑似状態」を作り出します。たとえば、ファイアウォールは DNS リクエストなどの送信パケットを検出すると、送信元と送信先の IP アドレスとポートを使用してエントリを作成します。次に、この接続データを接続タイムアウトデータとともに使用して、DNS などの受信パケットからの応答を許可します。
コンテキスト
接続のコンテキストには、次のようなパケットに関連するメタデータが含まれます。
- 送信元エンドポイントと宛先エンドポイントの IP アドレスとポート
- アイドル接続を処理するための最終パケット受信時間
- パケット長
- レイヤ 4 TCP シーケンス番号とフラグ
- フラグメンテーションおよびフラグメント化されたパケットのセッションを識別するためのリアセンブルに関連するレイヤ3データなど
ステートフルインスペクションとステートレスインスペクション
ステートフルファイアウォールとステートレスファイアウォールの主な違いは、ステートフルファイアウォールはトラフィックとデータパケットのコンテキスト全体を分析し、ネットワーク接続の状態を常に追跡していることです(つまり「ステートフル」)。代わりに、ステートレスファイアウォールは接続の完全なコンテキストを必要とせずにトラフィックとデータパケットを分析します。
次に、ステートフルインスペクションファイアウォールとステートレスインスペクションファイアウォールを詳しく見てみましょう。
ステートレスファイアウォール
ステートレスファイアウォールの仕組み
図 1 を見ると、ステートレスファイアウォールの内部の仕組みを理解できます。ステートレスファイアウォールは、パケットのプロトコルヘッダーを検査することにより、インバウンドまたはアウトバウンドのトラフィックデータ (1) にセキュリティポリシーを適用します (1)。以下から検証します。 オシ レイヤー 2 から 4。検査後、ステートレスファイアウォールはこの情報をポリシーテーブル (2) と比較します。そこから、パケットを許可、拒否、またはリセットするポリシーアクション (4.a と 4.b) を決定します。
図 1: ステートレスファイアウォールのポリシー決定を示すフロー図
ステートレスファイアウォールの長所とは?
- リソースをあまり消費しない: ポリシー検索は静的パケットデータとポリシーテーブルで実行されるため、検索に必要な CPU およびメモリリソースの量は少なくなります。これは、アクセス制御リスト (ACL) などの機能を使用するルータやスイッチなどの静的ポリシー検索デバイスに効果的です。
- レイテンシーの増加なし: 処理を追加すると、オーバーヘッドレイテンシーが最小限に抑えられません。簡単に言うと、パケットのラインレート処理です。
ステートレスファイアウォールの短所は何ですか?
- 制限付きフィルタリング: ステートレスファイアウォールは、制限されたフィルタリング機能を提供するファイアウォールからの忠実度の低いデータのみを使用して決定を下します。
- ACL コンフィギュレーション:これらのデバイスの ACL の設定と管理は、小規模ではエラーが発生しやすく、大規模ではほとんど不可能です。
小規模および大規模での ACL の設定と管理の課題について説明します。まず、小規模な展開の場合を見てみましょう。
- ステートレスファイアウォールは、パケットが属するフローに関係なく、現在のパケットの内容を検査してポリシーを決定するため、本質的に単方向です。ポリシーを正確に記述するには、接続の両側を TCP のような双方向通信プロトコルのホワイトリストに登録する必要があります。1 つの接続をポリシングするルールを 2 つ記述すると問題が発生します。
- さて、FTPのように、トランザクションごとに2セットの接続があり、接続時間がネゴシエートされてもデータ接続に不明なポートがある場合を考えてみてください。ステートレスファイアウォールがそれをホワイトリストに登録する方法はありません。このようにすべてのアプリケーションのポリシーを記述できないと、セキュリティに大きな穴が生じます。
- 別の使用例としては、内部ホストが外部インターネットへの接続を開始する場合もあります。ACL を使用してすべての返信トラフィックを許可するポリシーを作成する方法を教えてください。このツールは、よりきめ細かなポリシー制御を目的として作られたものではないため、ユーザーにはあまり役に立ちません。 マイクロセグメンテーション 政策が非常にきめ細かく方向性のある枠組み。
それでは、大規模な問題に移りましょう。
- 少しの間、あなたが前の段落で説明したすべての問題を克服する魔法の杖を持っていると想像してみましょう。その場合でも、スイッチやルータハードウェア上の TCAM(3 次コンテンツ・アドレス可能なメモリ)などのリソースは非常に限られているため、TCAM スペースが枯渇するため、ある規模ではすべてのアプリケーションについてポリシーを記述することはできません。
- ハードウェアベースではない実装であっても、ACL の数は多くの問題を引き起こします。たとえば、私が以前使用していた製品では、広範囲に構成された ACL システム上で効率的なルックアップテーブル (上の図 1 のポリシーテーブル) を解析して構築するのに 30 分以上かかりました。そして、このプロセスは 1 つのルールが追加または削除されるたびにトリガーされていました。このような日常的なタスクでは、それだけ多くのダウンタイムが発生し、重要なビジネスに影響が出ることを検討してください。
リフレクシブファイアウォール、別名リフレクシブACL
リフレクシブ ACL(別名 IP セッションフィルタリング ACL)は、リターントラフィックを動的にホワイトリストに登録するメカニズムです。ポリシー決定のワークフローのほとんどはステートレスファイアウォールに似ていますが、新しいワークフローを識別して自動化された動的ステートレス ACL エントリを追加するメカニズムが異なります。以下のワークフロー図を使ってパケットの寿命を見てみましょう。
図 2: 再帰 ACL のポリシー決定を示すフロー図
リフレクシブ ACL が新しい IP アウトバウンド接続を検出すると(図 2 の 6)、送信元と宛先 IP アドレスとポートを逆にして動的 ACL エントリ(7)を追加します。新しいダイナミック ACL により、リターントラフィックを ACL と照合して検証できます。同様に、リフレクシブファイアウォールは、両側からの FIN パケット、RST パケット、または最終的なタイムアウトを検出すると、ダイナミック ACL を削除します。こうすることで、セッションが終了または終了したときに、今後発生するスプリアス・パケットはすべてドロップされます。
リフレクシブファイアウォールの利点とは?
ステートレスファイアウォールに対するリフレクシブファイアウォールの唯一の利点は、リターントラフィックを自動的にホワイトリストに登録できることです。これにより、リバース ACL ルールを手動で作成する必要がなくなります。
リフレクシブ・ファイアウォールの短所とは?
リフレクシブ ACL は依然として、パケット内の静的情報のみに基づいて動作します。これを使用する理由は、リバーストラフィックのルールを記述するという点では標準 ACL よりもステップアップできますが、再帰 ACL を簡単に回避できるからです。リフレクシブ・ファイアウォールには、ステートレス・ファイアウォールと同じ欠点があります。これをテストする方法の 1 つは、パケットをフラグメント化して、再帰 ACL が作用する情報が複数のパケットに分割されるようにすることです。この方法では、リフレクシブ ACL は個々のパケットを許可するかドロップするかを決定できなくなります。一方、ステートフルファイアウォールは、複数のパケットに分割されたフラグメント全体を再構成し、セッション全体の STATE + CONTEXT + パケットデータに基づいて決定することができます。
リフレクシブ ACL のその他の欠点は、特定の種類のアプリケーションしか使用できないことです。たとえば、ネットワーク経由でファイルを転送するために使用される非常に一般的なアプリケーションの FTP は、転送に使用するデータポートを別のコントロールプレーン接続で動的にネゴシエートすることで機能します。リフレクシブ ACL は静的であるため、ホワイトリストに登録できるのは、同じ 5 つのタプルを使用する 2 つのホスト間の双方向接続だけです。そのため、FTP のようなアプリケーションはサポートできません。
ステートフルファイアウォール
ステートフルファイアウォールは、接続の STATE と CONTEXT に基づいて動作し、ファイアウォールポリシーを適用します。ステートフルファイアウォールの内部の仕組みを理解するために、以下のフロー図を参考にしましょう。
図 3: ステートフルファイアウォールのポリシー決定を示すフロー図
ステートフルファイアウォールの仕組み
- 5タプルルックアップ: パケットがファイアウォール(図3の1)に到着すると、フローと呼ばれるテーブルまたは接続テーブルで5つのタプル(送信元IP、送信元ポート、宛先IP、宛先ポート、プロトコル)を使用してフローを検索し、一致するものを見つけようとします(2)。 これは、フローテーブルではなくポリシーテーブルで5タプルルックアップが実行されるステートレスファイアウォールとは異なります。 図に示されていないフローテーブルと関連テーブルには、これまでに見たすべてのフローの STATE+CONTEXT が格納されています。
- ファストパス/データプレーン処理: エントリが見つかると、パケットはファストパス(データプレーン処理)を通過します。単純なファストパス処理には、レートチェック、フラグメンテーションと再構成ベースの攻撃を回避するためのレイヤー3 IPサニテーションチェック、スプーフィングやDOSなどの攻撃を防ぐためのレイヤー4のサニテーションチェックが含まれます。ファイアウォールがレイヤー7のテストを実行できる場合は、アプリケーションレイヤーゲートウェイ(ALG)と呼ばれる追加のフィルターを通過します。すべてのチェックが問題なく完了すると、パケットは次のホップ (3.b) に転送されます。
- スローパス/コントロールパネル処理: フロー検索の結果がミス(3.a)になった場合、そのパケットは新しい接続用であると見なされ、追加のポリシーチェックを受ける必要があります。このパスはスローパス、別名コントロールプレーン処理と呼ばれます。制御処理パスでは、ファイアウォールはファストパスで行うすべての処理をチェックするだけでなく、この新しい接続がファイアウォールポリシーで許可されているかどうかも判断します。
- ポリシー検索: その後、ファイアウォールは接続の STATE + CONTEXT (5) を使用してポリシー検索を行います。
- ポリシーが一致し、そのポリシーに対してALLOW、DENY、RESETなどのアクションが指定されている場合、適切なアクションが実行されます(8.aまたは8.b)。Advanced Stateful Firewallには、実行するコンテンツ検査の種類を指定することもできます。これを考慮して、ファイアウォールはフローテーブルにエントリを作成します (9)。これにより、その接続で発生する後続のパケットは、コントロールプレーンの処理を回避してより速く処理できます。
ステートフルファイアウォールの長所とは?
- より高い保護: ステートフルファイアウォールは、フローの STATE+ CONTEXT を考慮して完全なプロトコル検査を行うため、表面に出現する新たな攻撃を排除し、強化します 脆弱性管理 システムで。
- より高度な:ステートフルファイアウォールは、より高度なアプリケーション層ファイアウォールまたはゲートウェイの構成要素として機能します。
- 設定機能: ステートフルファイアウォールはネットワークフローを理解し、フローのデータパケットを識別できるため、双方向接続または疑似状態ネットワークプロトコルの簡単なルール作成が可能になります。
- 複雑なプロトコル: ステートフルファイアウォールはパケットペイロードをより深く調べることができるため、実行時に通信ポートとプロトコルをネゴシエートする複雑なプロトコルを理解し、それに応じてファイアウォールポリシーを適用できます。FTP や P2P プロトコルなどのプロトコルを考えてみてください。
ステートフルファイアウォールの短所は何ですか?
- 処理能力: ステートフルファイアウォールはセキュリティを強化するために追加のチェックを行います。他のチェックには、CPUサイクルとメモリの観点からより多くの処理能力が必要です。ステートフルファイアウォールの設計者と開発者はこの問題について考えてきました。最新のファイアウォールのほとんどは、制御プレーンとデータプレーンの処理を分離する最先端のアルゴリズム設計によってこの問題を克服または軽減し、ほぼ同様のステートレスファイアウォールのパフォーマンスを実現しています。しかし、私はステートレスをあげることにします。 ファイアウォール ステートフル・ファイアウォールに比べれば有利です
- 攻撃対象領域の拡大: ステートフルファイアウォールは、より大きなファイアウォールを持つことができます アタックサーフェス コードベースのフットプリントが大きいため、ステートレスファイアウォールと比較できます。単純な Google 検索では多数の例が表示されます。ただし、LinuxやWindowsなどのオペレーティングシステムに組み込まれているものなど、特定の種類のファイアウォールは実績があり、今日ではエンタープライズグレードのステートフルファイアウォールとして機能しています。
結論
完璧なファイアウォールは存在しません。各タイプのファイアウォールには、綿密な防御戦略が必要です。ステートレスファイアウォールは、大まかなポリシングが適切な場所では役立ちます。ステートフルファイアウォールは、よりきめ細かで詳細なポリシー制御を行う場合に役立ちます。 ネットワークセグメンテーション または にやもやもやにや は、ぶた。
いま、いよいよ明かりとぎりぎりぎりぎりぎり、いっしょにぎりぎりぎりぎり。ちなみにAccRRRVNM、Videi Accende。
フルネサキシキシキシキシブブブズ、新人相続人で終了。 フルイイサバでとある程度まで年を短編でしたね そして、
さらに
海王ール、大金、大成成成成成は、 お問い合わせ。