アプリケーションレベルゲートウェイ、またはアプリケーションゲートウェイは、ネットワークセキュリティに使用されるファイアウォールプロキシの一種です。アプリケーションゲートウェイは、あらかじめ定められた仕様に従って受信ノードトラフィックをフィルタリングします。つまり、ファイル転送プロトコル(FTP)、Telnet、リアルタイムストリーミングプロトコル、BitTorrentなど、送信されるネットワークアプリケーションデータのみをフィルタリングします。
アプリケーションレベルゲートウェイの仕組み
アプリケーションサーバーやFTPなどのプロトコルのプロキシとして機能するアプリケーションレイヤーゲートウェイは、ディープパケットインスペクションを使用して、アプリケーションセッションを開始したり、アプリケーションへのトラフィックの通過を許可したりする前に、悪意のあるトラフィックを検出してブロックします。
クライアントがネットワーク上のサーバーリソース(Webページ、データベース、ファイルなど)へのアクセスを要求すると、まずプロキシサーバーに接続します。プロキシサーバーはメインサーバーとの接続を確立します。アプリケーションゲートウェイは、クライアント側とサーバー側のファイアウォールに配置されます。
大まかに言えば、プロキシサーバーはクライアントに代わってIPアドレス(その他の安全な情報も含む)を隠します。アプリケーションゲートウェイと外部コンピューターは、クライアントの情報や、プロキシサーバーのIPアドレスをクライアントが知ることなく通信します。
アプリケーションレベルゲートウェイは、ディープパケットインスペクションを用いて機能します。これらのツールは、サポートする特定のアプリケーションが使用するプロトコルを理解できます。例を挙げましょう。
アプリケーションレベルゲートウェイは、セッション開始プロトコル(SIP)によるファイアウォール越えを可能にします。ネットワークのファイアウォールでSIPトラフィックがアプリケーションレベルゲートウェイに終端されている場合、SIPセッションを検討して許可する責任は、ファイアウォールではなくアプリケーションレベルゲートウェイに移されます。
アプリケーションレベルゲートウェイは、クライアントとサーバーの間に位置して通信のやり取りを仲介するため、多くの点でプロキシサーバーとよく似ています。基本的に、アプリケーションレベルゲートウェイはメッセージを傍受することで、アプリケーション側で利用するよう設定されていなくても機能します。一方、プロキシは通常、クライアントアプリケーションで設定されます。この場合、クライアントはプロキシの存在を明示的に認識し、実際のサーバーではなくプロキシに接続します。
アプリケーションレベルゲートウェイの機能
アプリケーションゲートウェイには通常、次の機能が含まれます。
- ファイアウォールの設定で既知のポートを限られた数しか許可できない場合でも、クライアントアプリケーションが、サーバーアプリケーションで使用される既知のポートと通信するために動的なTCP/UDPポートを使用できるようにする。
- ファイアウォールの両側にある許容可能なホストアドレス間で、アプリケーションペイロード内に含まれるネットワーク層のアドレス情報を変換する。つまり、アドレス間のゲートウェイとして機能する。
- アプリケーション固有のコマンドを識別し、それらのコマンドに対してきめ細かなセキュリティ制御を提供する。
- 2つの交換ホスト間で複数のデータストリームまたはセッションを同期する。
- ファイル転送が完了する前にネットワークデバイスがタイムアウトするのを防ぐ。
- ディープパケットインスペクション。
アプリケーションレベルゲートウェイのメリットとデメリット
アプリケーションレベルゲートウェイを使用するかどうかを決める際には、主なメリットや利点とデメリットをいくつか検討する必要があります。
アプリケーションレベルゲートウェイのメリット
- SQLインジェクション、クロスサイトスクリプティング、分散型サービス拒否(DDoS)などの攻撃を防ぐのに役立つ。
- GDPRやCCPAを含む、データ保護の強化と規制に準拠したデータ処理。
- HIPAAやPCIなどの規制への準拠を強化する。
- チームのリソースを解放できる自動化を追加する。
アプリケーションレベルゲートウェイのデメリット
アプリケーションレベルゲートウェイ技術への投資を決める際には、次のような潜在的な課題やデメリットをいくつか検討する必要があります。
- コストの問題(これらのソリューションは高額になる可能性がある)。
- パフォーマンスの問題:アプリケーションレベルゲートウェイは、アプリケーションレベルですべての受信・送信トラフィックを検査するため(ディープパケットインスペクション)、コンピューティングやネットワークのリソースにかかる負荷に対応できるほど堅牢でなければ、システムの処理が滞る可能性があります。
- すべてのプロトコル(FTP、Telnet、HTTP、SMTPなど)に独自のプロキシアプリケーションが必要となるため、新しいネットワークアプリケーションやプロトコルへの対応は、往々にして遅れて登場します。
- エージェントによってトラフィックがファイアウォールをトンネル経由で通過し、アプリケーションレベルゲートウェイを導入するメリットの大部分が失われるリスクがあります。
- 経験の浅いセキュリティアナリストにとって、アプリケーションレベルゲートウェイのインストール、設定、管理は難しい場合があります。
詳しく見る:7種類のファイアウォールとその導入オプション。
アプリケーションレベルゲートウェイのファイアウォールコスト
アプリケーションレベルゲートウェイのコストは、組織ごとのニーズによって大きく異なります。一般的に、アプリケーションゲートウェイのファイアウォールは、月額10ドルから、大規模な企業ネットワークのニーズでは月額数千ドルに及ぶことがあります。
人気のアプリケーションレベルゲートウェイ製品であるMicrosoft Azure Application Gatewayは、現在請求しています固定の「ゲートウェイ時間」あたり0.0246ドル、「容量ユニット時間」あたり0.0008ドルを
アプリケーションレベルゲートウェイの主要プロバイダー10社
次のアプリケーションレベルゲートウェイプロバイダーは、特に人気が高く、評価も高い企業です。
- Microsoft:Azure Application Gateway
- AWS:Elastic Load Balancing
- Google:Google Cloud Load Balancing
- Traefik
- F5:BIG-IP Local Traffic Manager
- Citrix:ADC
- HAProxy Enterprise:HAProxy
- Kemp:LoadMaster
- HashiCorp:Consul
- F5:NGINX
アプリケーションレベルゲートウェイはいつ使用すべきか?
次のユースケースのいずれかに該当する場合は、アプリケーションレベルゲートウェイのメリットを得られる可能性があります。
- ホストヘッダーの情報に基づいてトラフィックをルーティングする。
- FTP、Telnet、HTTP、HTTPS、WebSocketsなどのプロトコルをサポートする(一部のアプリケーションゲートウェイプロバイダーは追加のプロトコルにも対応していますが、ほとんどはこれらをカバーしています)。
- Webアプリケーションファイアウォールのセキュリティ制御をカスタマイズする。
- 分散型サービス拒否(DDoS)対策。
- SQLインジェクション対策。
- データプライバシーに関する規制への準拠。
まとめ:アプリケーションレベルゲートウェイ
アプリケーションレベルゲートウェイは、プロキシ方式のゲートキーピングからメリットを得られる企業ネットワークに、さらなるセキュリティを提供します。また、さまざまなデータプライバシー関連の業界規制や政府規制への準拠を確実にする必要がある企業にとって、データセキュリティプロトコルの強化にも役立ちます。ただし、アプリケーションレベルゲートウェイはディープパケットインスペクションを実行して動作するため、これらのセキュリティソリューションはネットワークパフォーマンスを低下させる可能性があり、コストも高くなる場合があります。
詳しくはファイアウォールの仕組み。