「文脈」から「通信内容」まで!深い分析でセキュリティを向上:ALG型ファイアウォール
はい、こんにちは!ファイアウォールの仕組みについてシリーズで紹介しております。クリスマスイブですが、いつもどおり学習ですよ!
前回は、ファイアウォールによる境界防御の限界と、ゼロトラストのお話しをしました。守るべき情報資産や正当なユーザが内部セグメントの外側に存在するようになった現在、「ゼロトラスト」モデルによる防御が大事という話でしたね。
今回は、多くの人がイメージする「パケットフィルタリング型」ファイアウォールとは別の形のファイアウォールについてお話しします。レイヤ3とレイヤ4でフィルタリングでなく、レイヤ7即ちアプリケーション層での防御のお話です。
これまでは、どちらかというとインバウンドの通信を制御する技術が話の中心でしたが、今度は、アウトバウンドの通信を制御する技術に着目します。アプリケーションゲートウェイ型ファイアウォール(ALG)です。
なんのこっちゃい?と思った方、早速続きを読んでモヤモヤを解決しましょう!
アプリケーションゲートウェイ(ALG)の基本
アプリケーションゲートウェイ(ALG)は、ネットワークの中継装置として機能し、アプリケーション層のデータを制御します。
ALGが何の略かというと、Application-Level Gateway、または、Application-Layer Gatewayです。LevelでもLayerでも、指し示している内容は変わりませんね。
アプリケーション層は、OSI参照モデルの最上位層に位置します。おのずと、ネットワーク層やトランスポート層の情報をベースにしたフィルタリングとは、異なるアプローチになります。
ALGの2つの「インスペクション」
アプリケーション層でのフィルタリングであるとことは、分かりました。
もう少し具体的に言うと、「アウトバウンドのHTTP要求やSMTP要求の内容を分析して条件を満たせば、その要求パケットを通す。さらに、それに対応すインバウンドのパケットも前後関係に矛盾がないかを評価して通す」仕組みです。
このように、インバウンドの不正なトラフィックをいかに排除するか?という、パケットフィルタリング型とは、セキュリティの観点が異なっていることに注目しましょう。
さて、ALGではその重要な機能として、2つの「インスペクション」があります。これをそれぞれ紹介するので、ALGの理解を深めましょう!
ステートフル・パケット・インスペクション(SPI)
SPIは、通信の内容とその前後関係を把握し、これに基づいて通過可否を動的に判断する機能を持ちます。
通信の内容とその前後関係を把握することが、つまり、State(状態、状況)をよく調べる(Inspection)が、Stateful Inspectionという、この用語の趣旨といえましょう。
これにより、ALGは、パケットが妥当なコンテキスト(文脈)内で送受信されているかを評価し、不審な挙動や不正な通信を識別して、それを排除することが可能です。
例えば、届いたパケットのTCPヘッダにACKフラグが立っているけれども、それに先立つ要求パケットが内側から通過した記録がないなら、その通信をはじく、などです。
うん、頼もしいですね。
ディープ・パケット・インスペクション(DPI)
SPIに続き、DPIも、パケットを検査することですが、観点が異なります。
SPIは、「パケット通信の前後関係(コンテキスト)に矛盾はないか」に着目した用語ですが、DPIは「パケットのどこを検査するのか」に着目した用語です。
DPIでは、パケットのボディ部分、すなわちデータ本体の内容を対象にします。
通信プロトコルのヘッダ情報だけでなく、伝送されるデータ本体の内容も詳細に解析する点が、「Deep」な検査の趣旨です。
例えば、メールの内容に不正な内容が含まれていたら送信させないなど、ヘッダ情報だけでは見抜けない不正行為を特定することができます。
ダイナミック・パケット・フィルタリング
最後にもう一つ追加で重要な概念(機能)についてお話して終わりにしましょう。ダイナミック・パケット・フィルタリングです。
これは、ゲートウェイがが中継するパケットをフィルタリングする方法の一つです。ポイントは、一時的なルールを動的に適用することです。
この手法では、内部から発信されたパケットに対する応答パケットを識別し、通過させるために用いられます。
通常のパケットフィルタリングは、ACLなど固定した(静的な)ルールに基づいています。「このIPアドレスは許可、このポート番号は拒否」などですね。
他方、ダイナミック・パケット・フィルタリングでは、内部から発信された要求パケットに対する応答が予想されるとき、その応答を通過させるためのルールが一時的に(動的に)追加されます。
そう、静的な固定化されたルールの上に、動的なルールが一時的にオッかぶさるのがミソです!
通信が終了すると、これらの動的なルールは自動的に削除されるため、セキュリティを維持しつつ、柔軟な通信制御が可能になるわけです。
SPIは、動的フィルタリング
もうお分かりですね。SPIは、ダイナミック・パケット・フィルタリングの一つと言えます。前後の通信という一時的な状況を踏まえて判定するのですから。
他方、DPIは、どうでしょうか?事前に決めておいたNGワードなどを基準にフィルタリングするのですから、静的なフィルタリングと言えそうです。
ただ、実装レベルでは、厳密な区別はあまりないのかもしれません。が、概念的にはこのような説明が可能です。
はい、本日は以上です。今回は、アプリケーションゲートウェイ型ファイアウォールについてお話ししました。かなり重めのテーマだったので、気合を入れすぎて、文章が長くなりました。が、何とかまとまりました!?
さて、次回は、ALGに深く関連する技術・装置としての「プロキシサーバ」についてお話しします。
では!