アプリケーションファイアウォールは、アプリケーションやサービスの入出力またはシステムコールを制御するファイアウォールの一種です。設定されたポリシーに基づいて通信を監視およびブロックすることで動作し、通常は事前に定義されたルールセットから選択できます。アプリケーションファイアウォールは、ネットワークベースとホストベースの2つの主要なカテゴリに分類されます。
パデュー大学のジーン・スパフォード、AT&T研究所のビル・チェスウィック、そしてマーカス・ラナムは、アプリケーション層ファイアウォールとして知られる第3世代ファイアウォールについて説明した。ポール・ヴィクシー、ブライアン・リード、ジェフ・モーグルによって作成されたファイアウォールを基にしたマーカス・ラナムの研究は、最初の商用製品の開発を先導した。この製品はDECによってリリースされ、ジェフ・マリガンによって「DEC SEAL」 (Secure External Access Link:セキュア外部アクセスリンク)と名付けられた。DECの最初の主要な販売は、1991年6月13日にデュポンに対して行われた。
TIS の DARPA 契約のより広範な下で、Marcus Ranum、Wei Xu、および Peter Churchyard は Firewall Toolkit (FWTK) を開発し、1993 年 10 月にライセンスの下で無償で公開しました。 [ 1 ]商用利用を目的としない無償の FWTK を公開した目的は、ソフトウェア、ドキュメント、および使用された方法を通じて、当時 11 年間の正式なセキュリティ方法の経験を持つ企業とファイアウォールの経験を持つ個人がファイアウォール ソフトウェアを開発する方法を示すこと、他の人が構築するための非常に優れたファイアウォール ソフトウェアの共通基盤を作成すること (人々がゼロから「独自の」ものを作り続ける必要がないようにするため)、使用されているファイアウォール ソフトウェアの「水準を引き上げる」ことでした。しかし、FWTK はユーザーとのやり取りを必要とする基本的なアプリケーション プロキシでした。
1994 年、Wei Xu は IP ステートフルフィルタとソケット透過のカーネル拡張により FWTK を拡張しました。これは、従来のアプリケーション プロキシ (第 2 世代ファイアウォール) を超える第 3 世代ファイアウォールの始まりとして知られる最初の透過型ファイアウォールであり、Gauntlet ファイアウォールとして知られる商用製品としてリリースされました。Gauntlet ファイアウォールは、Network Associates Inc. (NAI) に買収された 1998 年まで、1995 年までトップ アプリケーション ファイアウォールの 1 つですと評価されていました。Network Associates は Gauntlet が「世界で最も安全なファイアウォール」であると主張し続けましたが、2000 年 5 月にセキュリティ研究者のJim Stickley がファイアウォールに大きな脆弱性を発見し、オペレーティングシステムへのリモート アクセスとセキュリティ制御のバイパスが可能になりました。[ 2 ] Stickley は1 年後に 2 番目の脆弱性を発見し、Gauntlet ファイアウォールのセキュリティ上の優位性を事実上終わらせました。[ 3 ]
アプリケーション層フィルタリングは、従来のセキュリティ機器よりも高いレベルで動作します。これにより、送信元/宛先IPアドレスやポート番号だけでなく、より多くの情報に基づいてパケットの判定を行うことが可能になり、特定のホストに対して複数の接続にわたる情報も利用できます。
ネットワークベースのアプリケーションファイアウォールは、TCP/IPスタックのアプリケーション層で動作し[ 4 ] 、ファイル転送プロトコル(FTP)、ドメインネームシステム(DNS)、ハイパーテキスト転送プロトコル(HTTP)などの特定のアプリケーションやプロトコルを理解できます。これにより、標準以外のポートを使用している不要なアプリケーションやサービスを識別したり、許可されたプロトコルが悪用されているかどうかを検出したりできます[ 5 ] 。
最新のネットワークベースのアプリケーションファイアウォールには、以下の技術が含まれる場合があります。
Webアプリケーションファイアウォール(WAF)は、ネットワークベースのアプライアンスの特殊なバージョンであり、リバースプロキシとして機能し、トラフィックを関連サーバーに転送する前に検査します。
ホストベースのアプリケーションファイアウォールは、アプリケーションのシステムコールやその他の一般的なシステム通信を監視します。これにより、よりきめ細かな制御が可能になりますが、実行中のホストのみを保護できます。制御は、プロセスごとにフィルタリングすることで適用されます。一般的に、プロンプトを使用して、まだ接続を受信していないプロセスに対するルールを定義します。さらにフィルタリングするには、データパケットの所有者のプロセスIDを調べます。多くのホストベースのアプリケーションファイアウォールは、パケットフィルタと組み合わされたり、併用されたりします。[ 6 ]
技術的な制約のため、システムプロセスを保護するために、ホストベースのアプリケーションファイアウォールの代替としてサンドボックスなどの最新のソリューションが使用されています。 [ 7 ]
アプリケーションファイアウォールは、無料ソフトウェアやオープンソースソフトウェア、商用製品など、さまざまな形態で提供されています。
Mac OS X Leopard 以降、TrustedBSD MAC フレームワーク (FreeBSD から採用) の実装が組み込まれました。[ 8 ] TrustedBSD MAC フレームワークは、 Mac OS X Leopard および Snow Leopardの共有サービスの構成に基づいて、サービスをサンドボックス化し、ファイアウォール レイヤーを提供します。サードパーティ アプリケーションは、アプリケーションごとに発信接続をフィルタリングするなど、拡張機能を提供できます。
これは、Linux 用のセキュリティ ソフトウェア パッケージの一覧です。これらのパッケージを使用すると、アプリケーションと OS 間の通信をフィルタリングできます。フィルタリングはユーザー単位で設定できる場合もあります。
これらのデバイスは、ハードウェア、ソフトウェア、または仮想化ネットワークアプライアンスとして販売される場合があります。
次世代ファイアウォール:
ウェブアプリケーションファイアウォール/ロードバランサー:
その他: