アプリケーションゲートウェイは、アプリケーションレベルゲートウェイ(ALG)とも呼ばれ、ネットワークセキュリティにおいて重要なファイアウォールプロキシとして機能します。そのフィルタリング機能により、特定のネットワークアプリケーションデータだけが送信されるため、FTP、Telnet、RTSP、BitTorrentなどのプロトコルのセキュリティに影響を与えます。ALGを理解するには、その仕組みやメリットとデメリット、ほかの種類のファイアウォールとの統合方法や違いを知る必要があります。
アプリケーションレベルゲートウェイの仕組みを9つのステップで解説
ALGは、クライアントのリクエスト開始から補完的なファイアウォールとの統合まで、安全な通信を実現します。プロキシサーバー接続を使用してプライバシーを保護し、アプリケーション層の検査とパケット検査によってセキュリティを確保します。また、トラフィックを効果的に管理し、必要に応じてパケットメタデータを変更し、リソースを動的に割り当て、動的ポリシーを適用してネットワークのパフォーマンスとセキュリティを向上させます。
ALGのセットアップと最適化の手順、適切に設定した後のALGの機能について説明します。手順をより具体的にイメージできるよう、Microsoft Azureのアプリケーションゲートウェイに関するドキュメントからスクリーンショットも掲載しています。
1. ユーザーがアプリケーションゲートウェイをセットアップ
アプリケーションレベルゲートウェイを作成するには、ゲートウェイのインターフェースを使用して各種オプションを設定します。まず、ポートにリスナーを割り当て、ルールを定義し、バックエンドプールにリソースを割り当てます。設定後、ブラウザーからゲートウェイにアクセスして応答を検証し、動作をテストします。最後に、リソースが不要になったら、関連するリソースグループを削除してクリーンアップします。

2. ALGがクライアントとサーバー間の通信を仲介
クライアントがリクエストを開始すると、アプリケーションレベルゲートウェイはクライアントとサーバー間のデータ送信を仲介します。ファイルやWebページ、その他のインターネットサービスへのリクエストが一般的です。これにより、サーバーリソースにアクセスするための最初の接続が確立されます。
ALGは、DNSでドメイン名を解決し、フロントエンドIPアドレスをクライアントに提供することで、クライアントのリクエストをサポートします。フロントエンドIPアドレスとプロトコルを設定したリスナーを通じて、着信通信を受け付けます。Webアプリケーションファイアウォール(WAF)が有効になっている場合は、WAFルールに照らしてリクエストを検査し、バックエンドにルーティングするかブロックします。有効なリクエストについてはルーティングルールを確認し、適切なバックエンドプールに転送します。

3. ALGがプロキシサーバー接続を確立
プロキシサーバー接続はエージェントとして機能し、クライアントがメインサーバーと通信できるようにします。クライアントはプロキシサーバーに接続することで、ファイアウォールの背後にある接続を管理し、クライアントのIPアドレスを匿名化できます。これらのサーバーは安全なデータ送信を実現し、クライアントとサーバー間のネットワーク通信におけるプライバシーとセキュリティを向上させます。
ALGはクライアントのリクエストを傍受し、プロキシサーバーまたはゲートウェイにリダイレクトします。プロキシサーバーは、リクエストをバックエンドサーバーなどの正しい宛先にルーティングします。ALGは、セキュリティとコンプライアンスを確保するため、トラフィックを送信する前にパケット検査や変更などの処理を実行できます。

4. ALGがアプリケーション層とパケットを検査
でネットワークセキュリティを確保するため、アプリケーション層の検査とパケット検査を体系的に組み合わせます。まず、着信パケットをネットワークインターフェースで傍受します。アプリケーションレベルの通信を担う最上位層であるOSI第7層では、ファイアウォールが各パケットのヘッダーを確認し、プロトコルと宛先ポートを判定します。
次に、ペイロードを詳しく検査し、異常やセキュリティポリシー違反がないか確認します。危険が見つかった場合は、あらかじめ定めたセキュリティポリシーに従い、ブロックやログ記録など適切な措置を取ります。この処理は送信パケットにも繰り返し適用され、検査したすべてのパケットを監査とレポート作成のために記録し、継続的なネットワーク保護を実現します。

5. ALGが機能を実装し、ユーザーがバックエンドをテスト
ファイアウォール内のALGは、特定のアプリケーションのトラフィックを認識して処理します。TCPやUDPのポート番号などのレイヤー4情報を使ってサービスを識別し、トラフィックの種類ごとに使用するALGを決定します。ALGの機能とサービス識別を有効にするには、ファイアウォールを設定し、レイヤー4情報を使ってネットワークサービスを認識する基準を定義する必要があります。各ネットワークサービスには適切なALGを割り当てます。
ALGの有効性を検証するには、ユーザーが入念なテストを行う必要があります。テスト結果に応じてALGのパラメーターを微調整し、監視ツールでALGのパフォーマンスとバックエンドの健全性を追跡します。最後に、サービス識別の規則を作成して適用し、ALGの設定を定期的に評価・更新します。

6. ALGがトラフィックを管理
ALGは、ファイアウォールを通過する着信と送信の両方のトラフィックを傍受します。傍受したパケットを評価し、どのアプリケーションまたはサービスに属するかを判定します。検出後、ALGはクライアントとサーバー間の通信セッションを監視します。新しいセッションごとにセッションエントリーを作成し、適切なアプリケーションまたはサービスにマッピングして管理します。

7. ALGがパケット情報を変更
トラフィックを管理した後、ALGはファイアウォールを通過するパケットを傍受・分析し、IPアドレスやポート番号など変更可能な情報を特定します。あらかじめ設定したルールや規則に従って、必要に応じてこれらの情報を調整し、ネットワークアドレス変換(NAT)処理やヘッダー操作を行う場合もあります。
外部ネットワークに接続する際、NATは通常、ローカルネットワーク上のデバイスのプライベートIPアドレスを、ルーターまたはファイアウォールに割り当てられた単一のパブリックIPアドレスに変換し、その逆も行います。これによりパブリックIPアドレスを節約し、内部ネットワークの構造を外部から隠すことでセキュリティを高めます。
場合によっては、ALGがパケットのペイロードを検査・変更してから再構成し、プロトコル要件に適合させることがあります。品質チェックによって変更内容がセキュリティとネットワークの要件を満たしていることを確認した後、ALGは変更済みパケットを意図した宛先に転送し、ネットワーク通信を継続できるようにします。

8. ALGがリソースを割り当て、動的ポリシーを適用
ALGは、帯域幅やコンピューティング能力などのリソース割り当てを継続的に監視・変更し、変化するネットワークトラフィックの需要に応じてリソースを動的に割り当てます。セッション中はトラフィックを監視して異常を検出し、トラフィックの特性に応じて動的ポリシーを適用し、ネットワークセキュリティを確保します。ポリシーの適用とトラフィックの監視に基づいてリソース割り当てを変更し、最適なネットワークパフォーマンスを実現します。
ALGはセッション終了後にリソースを解放し、将来の需要に応じて再割り当てできるようにします。リソース割り当てやポリシーの適用など、セッション情報を監査とレポート作成のために保存します。これにより、ユーザーはネットワークのパフォーマンスとセキュリティインシデントを可視化できます。

9. ユーザーがALGを補完的なファイアウォールと統合
ALGを補完的なファイアウォールとうまく統合するには、ネットワーク要件を確認して適切なソリューションを選択します。ほかのファイアウォールにおけるALGの配置を示す統合計画を作成します。ALGの基準を満たすように補完的なファイアウォールを導入・設定します。適切なアプリケーションをサポートするよう、ファイアウォール上でALGの設定を行います。ALGとファイアウォール間の通信経路を確立します。円滑に動作することを確認するため、統合を十分にテストします。
パフォーマンスを追跡し、ポリシーへの準拠を確認する監視ツールを導入します。設定を分析し、それに応じて微調整します。常にネットワークの脅威や変化に対応できるよう、設定を定期的に評価・更新します。これらの方法により、ALGはほかの種類のファイアウォールとシームレスに連携し、ネットワークセキュリティとアプリケーションレベルのトラフィック制御を向上させます。

ALGを利用する5つのメリット
アプリケーションレベルゲートウェイは、セキュリティを高め、アプリケーションプロトコルを管理し、詳細なログを提供します。さらに、ネットワークパフォーマンスを向上させ、プライバシーを保護します。
セキュリティの強化
ALGは、強固なユーザー認証・認可プロセスを実装することで、ネットワークセキュリティを高めます。ユーザーの身元を確認し、アクセスルールを適用することで、不正アクセスを防ぎ、機密リソースを保護します。これにより、認証済みユーザーだけがネットワークリソースにアクセスでき、データ侵害や違法行為のリスクを低減できます。
アプリケーションプロトコルをきめ細かく制御
管理者はALGを使用してアプリケーションごとに具体的なルールや規則を指定し、アプリケーションプロトコルをきめ細かく制御できます。これにより、組織のポリシーや規制要件への準拠を維持しながら、ネットワークトラフィックを正確に管理できます。ALGはアプリケーションへのアクセスを制御すると同時に、リソースをより効率的に利用できるようにし、ネットワークのパフォーマンスとセキュリティを最適化します。
包括的なログ記録
ALGは、ネットワーク接続とアクティビティに関する詳細情報を記録し、包括的なログを提供します。これには、ユーザーの操作、アプリケーションの利用状況、ネットワークトラフィックのパターンに関する統計が含まれます。包括的なログにより、管理者は詳細な監査を実施し、問題を効果的にトラブルシューティングし、課金やコンプライアンス対応のためにネットワーク利用状況を分析できます。
パフォーマンスの向上
ALGは、頻繁にアクセスされるファイルをキャッシュし、外部サーバーから何度も取得する必要性を減らすことで、ネットワークパフォーマンスを向上させます。このキャッシュにより、特によく利用されるリソースで遅延を減らし、帯域幅を節約できます。データ送信を最適化することで、ALGはネットワークの応答性とユーザー体験を高め、結果としてネットワーク全体のパフォーマンスと効率を向上させます。
プライバシーの確保
ALGは仲介役として機能し、内部リソースへの外部からの直接アクセスを防ぐことで、プライバシーを強化します。この方法により、機密情報を保護しながら、セキュリティ侵害や不正アクセスのリスクを低減できます。ALGは外部ネットワークと内部ネットワークを分離することで、保護をさらに一段階高めます。
ALGの5つのデメリット
セキュリティとパフォーマンスにメリットがある一方、ALGには、プロトコル固有の設定、UDPでの非効率性、導入に専門知識を要する点、ユーザートレーニングの課題、複雑な設定といった制約があります。
プロトコル固有のセットアップ
ALGの短所の1つは、アプリケーションプロトコルごとに個別設定が必要となる、プロトコル固有のセットアップです。管理者は多数のプロトコルの複雑さに対処しなければなりません。その結果、複雑性と保守上の問題が増加します。このカスタマイズされた方式は導入を複雑にし、拡張性を制限する可能性があるため、効率的なネットワーク管理と最適化の妨げになります。
UDPベースのプロトコルでは非効率
ALGはUDPベースのプロトコルへの対応に苦戦し、非効率なトラフィック管理につながります。そのアーキテクチャーはUDPのステートレスな性質に対応できず、パフォーマンス低下とアプリケーションの制限を招きます。この弱点により、幅広いネットワークアプリケーションを処理する能力が制限され、ネットワークの運用と応答性が損なわれる可能性があります。
知識に依存する導入
ALGのもう1つの欠点は、セットアップに各アプリケーションプロトコルへの深い理解を求める、知識依存型の導入です。この依存性が導入を複雑にし、専門的なスキルを必要とするため、展開の妨げになります。管理者はALGを正しく設定するための深い知識を持つ必要があり、必要な能力を備えていない企業では利用のしやすさが損なわれ、導入が遅れる可能性があります。
ユーザートレーニングの課題
大規模企業ではALGの導入にあたりユーザートレーニングが必要になる場合があります。ALGの使い方をユーザーに教育するのは難しく、導入のメリットを上回る負担になる可能性もあります。その結果、効果的な利用と受け入れが妨げられるおそれがあります。これらのツールが十分に活用されなかったり、設定を誤ったりすると、ALGがもたらすはずのセキュリティとパフォーマンス上のメリットが低下します。
複雑な設定と互換性の問題
ALGの設定には、ネットワーク要件と互換性に関する懸念への細心の注意が必要です。この複雑さが設定上の問題や互換性の懸念につながる可能性があります。その結果、既存のネットワークインフラへのシームレスな組み込みが妨げられることがあります。さらに、広範なセットアッププロセスによって遅延や運用の中断が生じる可能性があります。
ALGが異なるファイアウォールアーキテクチャに統合される仕組み
NGFW、VPN、統合型ファイアウォールアプライアンス、クラウドベースのファイアウォール、UTM、WAFなど、さまざまなファイアウォールアーキテクチャは、ネットワークのセキュリティとパフォーマンスを最適化するための多様な方法をALGに提供します。ALGは既存のインフラとシームレスに連携することで、トラフィック管理とセキュリティ手順を改善し、幅広いネットワーク環境に包括的な保護を提供できます。
NGFW
ALGは、アプリケーションレベルのインテリジェンスと制御を提供することで、次世代ファイアウォール(NGFW)の設計に統合されます。NGFWは従来のファイアウォール機能に、侵入防止、SSL検査、アプリケーション管理などの追加機能を組み合わせたものです。ALGはアプリケーション層でディープパケットインスペクションを実行し、アプリケーションプロトコルを正確に制御することでNGFWを強化し、全体的なセキュリティ態勢を向上させます。
VPN
ユーザーは、VPNトンネルを通過するトラフィックをアプリケーション層で検査・管理するようALGを設定することで、ALGとVPNを統合できます。VPNゲートウェイまたはコンセントレーターと併せてALGを導入すれば、VPNトラフィックにポリシーを適用し、セキュリティ対策を実施できます。
統合型ファイアウォールアプライアンス
統合型ファイアウォールアプライアンスは、侵入防止、VPN、ウイルス対策、コンテンツフィルタリングなどの追加のセキュリティ技術とファイアウォール機能を組み合わせ、包括的なネットワークソリューションを提供します。ALGはこれらのアプライアンスと連携し、アプリケーション層のインテリジェンスと制御を提供するとともに、ディープパケットインスペクションによってファイアウォールを強化します。アプリケーションのトラフィックを効率的に管理・優先順位付けし、ネットワークパフォーマンスを最適化します。
クラウドベースのファイアウォール
クラウドベースのファイアウォールは、サイバー攻撃からクラウドリソースを保護します。ALGを適切に統合するには、クラウドにALG機能を導入するか、ファイアウォールプロバイダーのクラウドネイティブALGサービスを利用します。これには、クラウドトラフィックを検査・制御するALGの設定、リソース全体で統一されたセキュリティルールの確保、ファイアウォール管理インターフェースとのシームレスな統合による一元的なポリシー管理と監視の実現が含まれます。
UTMアプライアンス
ALGは統合脅威管理(UTM)アプライアンスと連携し、高度なアプリケーションレベルのインテリジェンスと制御を提供します。アプリケーションレベルのトラフィックを分析・管理するため、UTMアプライアンス内でALGを設定します。これには、セキュリティとネットワークパフォーマンスを最大化するため、個々のアプリケーションプロトコルに関するポリシーと規則を策定する作業が含まれます。
WAF
Webアプリケーションファイアウォール(WAF)とALGは、どちらもネットワークスタックのアプリケーション層で動作します。ALGは、ディープパケットインスペクションとアプリケーションプロトコルの制御によってWAFの機能を補完します。アプリケーションプロトコルの理解と管理を向上させ、Webベースの攻撃をより正確に検出・防止します。ALGは、アプリケーションのトラフィックを効果的に制御・優先順位付けすることで、WAFのパフォーマンスを高めることもできます。
ALG、パケットフィルタリング、ステートフルインスペクションの比較
ここでは、複雑さ、検査方法、ネットワークパフォーマンスへの影響に基づいて、アプリケーションレベルゲートウェイ、パケットフィルタリング、ステートフルインスペクションを比較します。ネットワークトポロジーの可視性、ユーザーに対する透過性、パケット検査機能も比較対象に含めています。次の表でALGとパケットフィルタリング、ステートフルインスペクションを比較し、詳しい説明は以下で確認してください。
| 機能 | ALG | パケットフィルタリング | ステートフルインスペクション |
|---|---|---|---|
| 複雑さ | 複雑 | シンプル | 中程度 |
| 検査方法 | 動作またはプロキシに基づく | 接続ルールに基づく | 通信状態またはコンテキストに基づく |
| ネットワークパフォーマンス | 影響大 | 影響小 | 影響中程度 |
| ネットワークトポロジーの可視性 | 攻撃者から隠せる | 攻撃者から隠せない | 攻撃者から隠せる |
| ユーザーに対する透過性 | 透過的ではない | 透過的 | 透過的 |
| パケット検査の可視性 | データ部分全体 | アドレスとサービスプロトコルの種類 | データ部分全体 |
ALGとパケットフィルタリングの比較
ALGはアプリケーション層でディープパケットインスペクションを実施し、アプリケーションプロトコルを正確に制御するとともに、セキュリティ対策を強化します。これに対して、パケットフィルタリングは、シンプルなルールを使用して高速なフィルタリングを実現し、効率的なネットワークトラフィック処理につなげます。ALGはトラフィックをきめ細かく分析してセキュリティを高める一方、パケットフィルタリングはシンプルなルールの実装によってデータフローの維持を優先します。
ALGとステートフルインスペクションの比較
ALGはアプリケーション層でトラフィックを検査・管理し、望ましくないアクセスや偵察の試みを防止します。一方、ステートフルインスペクションは、有害または不要なトラフィックを迅速に検出して破棄します。ALGが特定のアプリケーションプロトコルに合わせたセキュリティ対策を提供するのに対し、ステートフルインスペクションは通信の状態とコンテキストに基づいて完全な検査を実施し、きめ細かなセキュリティポリシーに動的にルールを適用します。
結論:ネットワークパフォーマンス向上のためにアプリケーションレベルゲートウェイを導入する
ALGはパケット検査を実施し、アプリケーションプロトコルをきめ細かく制御できますが、ネットワーク防御全体の一側面にすぎません。ALGだけではすべてのセキュリティ問題に対処できないため、包括的な保護を実現するには、ほかのネットワークセキュリティソリューションと組み合わせる必要があります。強固なネットワーク防御計画を構築するには、ALGをほかのファイアウォール、侵入検知システム、その他のセキュリティ対策と統合します。
詳しく見てみましょう:侵入検知・防御システム(IDPS)とほかの種類のファイアウォールがアプリケーションレベルゲートウェイを補完し、ネットワークセキュリティを強化する仕組みをご紹介します。





