コンピューティングにおいて、ファイアウォールは、設定可能なセキュリティルールに基づいて、受信および送信ネットワークトラフィックを監視および制御するネットワークセキュリティシステムです。 [ 1 ] [ 2 ]ファイアウォールは通常、インターネット[ 3 ]などの信頼できるネットワークと信頼できないネットワークの間、または複数のVLANの間に障壁を確立します。ファイアウォールは、ネットワークベースまたはホストベースに分類できます。
ファイアウォールという用語は元々、隣接する建物の列内に火災を閉じ込めるための壁を指していました。[ 4 ]後には、車両や航空機のエンジン室と客室を隔てる金属板など、同様の構造を指すようになりました。この用語は 、インターネットが世界的な利用と接続性の点で比較的新しかった1980年代に登場したネットワーク技術に適用されました。[ 5 ] [ 6 ]ネットワークセキュリティのためのファイアウォールの前身は、 1980年代に使用されていたルーターでした。ルーターはすでにネットワークを分離していたため、ルーターを通過するパケットをフィルタリングすることができました。[ 7 ]
実際のコンピューティングで使用される前に、この用語はジョン・バダム監督の1983年のコンピュータハッキング映画『ウォーゲーム』に登場し、ひげを生やし眼鏡をかけたプログラマー、ポール・リヒターが発言したことから、後に使われるようになった可能性がある。[ 8 ]
商業的に成功した初期のファイアウォールおよびネットワーク アドレス変換 (NAT) 製品の 1 つは、1994 年に John Mayes が設立し運営していたスタートアップ企業 Network Translation Inc. によって発明された PIX (Private Internet eXchange) ファイアウォールでした。PIX ファイアウォール技術は、コンサルタント ソフトウェア開発者として Brantley Coile によってコーディングされました。[ 9 ]彼らは、出現しつつあった IPv4 アドレス枯渇問題を認識し、限られた数の登録済み IP アドレスを使用して組織がプライベート ネットワークをパブリック インターネットに安全に接続できるように PIX を設計しました。革新的な PIX ソリューションはすぐに業界で高く評価され、1995 年 1 月に Data Communications Magazine から権威ある「Hot Product of the Year」賞を受賞しました。急速に成長しているネットワーク セキュリティ市場への拡大を目指していた Cisco Systems は、その後 1995 年 11 月に Network Translation Inc. を買収し、PIX 技術の権利を取得しました。PIX は、最終的に 2005 年に導入された Adaptive Security Appliance (ASA) プラットフォームに取って代わられるまで、Cisco の主力ファイアウォール製品ラインの 1 つとなりました。
ファイアウォールは、ネットワークベースまたはホストベースのシステムに分類されます。ネットワークベースのファイアウォールは、通常、ローカルエリアネットワーク(LAN) とワイドエリアネットワーク(WAN)の間など、2 つ以上のネットワーク間に配置されます[ 10 ]。その基本的な機能は、接続されたネットワーク間のデータの流れを制御することです。これらは、汎用ハードウェア上で動作するソフトウェアアプライアンス、専用ハードウェア上で動作するハードウェアアプライアンス、またはハイパーバイザによって制御される仮想ホスト上で動作する仮想アプライアンスのいずれかです。ファイアウォールアプライアンスは、 DHCP [ 11 ] [ 12 ]やVPN [ 13 ]サービスなどのファイアウォール以外の機能も提供できます。ホストベースのファイアウォールは、ネットワークトラフィックやその他のコンピューティングリソースを制御するために、ホスト自体に直接展開されます[ 14 ] [ 15 ] 。これは、オペレーティングシステムの一部としてのデーモンまたはサービス、あるいは保護のためのエージェントアプリケーションである可能性があります。

最初に報告されたネットワークファイアウォールのタイプは、コンピュータ間で転送されるパケットを検査するパケットフィルタと呼ばれるものです。ファイアウォールは、どのパケットを検査するか、また、もしあればどのようなアクションを適用するかを決定するアクセス制御リストを保持しており、デフォルトのアクションはサイレント破棄に設定されています。パケットに関する基本的なアクションは、サイレント破棄、送信者へのインターネット制御メッセージプロトコルまたはTCPリセット応答による破棄、および次のホップへの転送の3つです。 [ 16 ]パケットは、送信元および宛先IPアドレス、プロトコル、または送信元および宛先ポートによってフィルタリングできます。20世紀および21世紀初頭のインターネット通信の大部分は、よく知られたポートと組み合わせて伝送制御プロトコル(TCP)またはユーザーデータグラムプロトコル(UDP)を使用しており、当時のファイアウォールは、Webブラウジング、リモート印刷、電子メール送信、ファイル転送などの特定の種類のトラフィックを区別することができました。[ 17 ] [ 18 ]
ファイアウォール技術に関する最初の論文は、1987 年にDigital Equipment Corporation (DEC) のエンジニアがパケットフィルタファイアウォールとして知られるフィルタシステムを開発した際に発表されました。AT &T ベル研究所では、ビル・チェスウィックとスティーブ・ベロビンがパケットフィルタリングの研究を続け、彼らの最初の世代のアーキテクチャに基づいて自社向けの動作モデルを開発しました。[ 19 ] 1992 年、スティーブン・マッカンとヴァン・ジェイコブソンは、ローレンス・バークレー研究所でBSD パケットフィルタ(BPF)に関する論文を発表しました。[ 20 ] [ 21 ]

1989年から1990年にかけて、AT&Tベル研究所の同僚であるデイブ・プレソット、ジャナルダン・シャルマ、クシティジ・ニガムの3人が、第2世代のファイアウォールを開発し、それを回路レベルゲートウェイと呼んだ。[ 22 ]
第2世代ファイアウォールは、第1世代ファイアウォールの機能を果たすだけでなく、OSIモデルのレイヤー4(トランスポート層)で2つのIPアドレスが通信に使用しているポート番号を記憶することで、エンドポイント間の特定の通信に関する情報も保持し、ノード間の全体的なやり取りを調査できるようにします。[ 23 ]
マーカス・ラナム、ウェイ・シュー、ピーター・チャーチヤードは、1993年10月にFirewall Toolkit(FWTK)として知られるアプリケーションファイアウォールをリリースしました。 [ 24 ]これは、Trusted Information SystemsのGauntletファイアウォールの基礎となりました。[ 25 ] [ 26 ]
アプリケーション層フィルタリングの主な利点は、ファイル転送プロトコル(FTP)、ドメインネームシステム(DNS)、ハイパーテキスト転送プロトコル(HTTP)などの特定のアプリケーションやプロトコルを理解できることです。これにより、標準以外のポートを使用している不要なアプリケーションやサービスを識別したり、許可されたプロトコルが悪用されているかどうかを検出したりできます。[ 27 ]また、暗号化されたDNSや仮想プライベートネットワークの強制など、統合されたセキュリティ管理も提供できます。[ 28 ] [ 29 ] [ 30 ]
2012年現在、次世代ファイアウォールはアプリケーション層での検査範囲を拡大し、ディープパケットインスペクション機能を拡張して、以下を含む(ただしこれらに限定されない)機能を提供します。
エンドポイントベースのアプリケーションファイアウォールは、プロセスが特定の接続を受け入れるべきかどうかを判断することで機能します。アプリケーションファイアウォールは、データパケットのプロセスIDを、データ送信に関与するローカルプロセスのルールセットと照合することで接続をフィルタリングします。アプリケーションファイアウォールは、ソケット呼び出しにフックして、アプリケーション層と下位層間の接続をフィルタリングすることでその機能を実現します。ソケット呼び出しにフックするアプリケーションファイアウォールは、ソケットフィルタとも呼ばれます。
ファイアウォールの動作の中核となるのは、その意思決定プロセスを規定するポリシーです。これらのポリシーは、総称してファイアウォールルールと呼ばれ、ネットワークの境界を越えて許可またはブロックされるトラフィックを決定する具体的なガイドラインです。[ 32 ] [ 33 ]
ファイアウォールルールは、ネットワークパケットを事前に定められたセキュリティ基準に照らして評価することに基づいています。ネットワークを介してデータを伝送するネットワークパケットは、ファイアウォールを通過するために、ルールで定義された特定の属性に一致する必要があります。これらの属性には、一般的に以下が含まれます。
ゾーンとは、ネットワーク内の論理的なセグメントであり、セキュリティ要件が類似するデバイスをグループ化します。ネットワークを「テクニカル」、「WAN」、「LAN」、「パブリック」、「プライベート」、「DMZ 」 、「ワイヤレス」などのゾーンに分割することで、管理者はゾーン間のトラフィックの流れを制御するポリシーを適用できます。各ゾーンには独自の信頼レベルがあり、データの送受信を規制する特定のファイアウォールルールによって管理されます。
一般的なデフォルト設定では、LANからWANへのすべてのトラフィックを許可し、WANからLANへのすべてのトラフィックを破棄します。
ネットワーク用語では、サービスとは、通常、ネットワークポートとプロトコルによって識別される特定の機能を指します。一般的な例としては、ポート80と443のHTTP/HTTPS(Webトラフィック)、ポート21のFTP(ファイル転送)、ポート25のSMTP(電子メール)などがあります。サービスは、ユーザーが利用するアプリケーションの基盤となるエンジンです。セキュリティの観点から、サービスへのアクセスを制御することは非常に重要です。なぜなら、サービスは攻撃の標的になりやすいからです。ファイアウォールは、どのサービスに、誰が、どのような状況でアクセスできるかを規定するルールを採用しています。例えば、ファイアウォールは、不正なファイルアップロードを防ぐために受信FTPリクエストをブロックし、Webブラウジングのための送信HTTPSリクエストを許可するように設定できます。
アプリケーションとは、ユーザーがネットワーク上で操作するソフトウェアシステムのことです。ウェブブラウザやメールクライアントから、複雑なデータベースシステムやクラウドベースのサービスまで、多岐にわたります。ネットワークセキュリティにおいて、アプリケーションは重要です。なぜなら、トラフィックの種類によってセキュリティリスクが異なる場合があるからです。そのため、ファイアウォールルールは、トラフィックを生成または受信するアプリケーションに基づいてトラフィックを識別し、制御するように作成できます。アプリケーション認識機能を使用することで、ファイアウォールは組織のポリシーやコンプライアンス要件に応じて、特定のアプリケーションのトラフィックを許可、拒否、または制限することができ、脆弱なアプリケーションや望ましくないアプリケーションからの潜在的な脅威を軽減できます。
アプリケーションは、サービスのグループ化、またはL7検査のいずれの場合もあります。
ユーザーの場所やデバイスの使用状況が動的であるため、IP アドレスのみに基づいてファイアウォール ルールを実装することは不十分な場合が多い。[ 33 ] [ 34 ]ユーザー ID は IP アドレスに変換されます。
ここで「ユーザーID」という概念が大きな効果を発揮します。ユーザーIDを用いることで、ファイアウォールルールを固定の送信元IPアドレスや宛先IPアドレスだけでなく、個々のユーザーIDに基づいて作成することが可能になります。これにより、接続元や使用デバイスに関係なく、特定のネットワークリソースへのアクセス権限をより細かく制御できるため、セキュリティが強化されます。
ユーザーID技術は通常、 Active Directory、LDAP、RADIUS、TACACS+などのディレクトリサービスを利用してファイアウォールシステムに統合されます。これらのサービスは、ユーザーのログイン情報をネットワークアクティビティにリンクします。これにより、ファイアウォールはネットワークトポロジーのみに依存するのではなく、ユーザーグループ、役割、または個々のユーザーアカウントに対応するルールとポリシーを適用できます。
学校が学生によるソーシャルメディアサーバーへのアクセスを制限したい場合を考えてみましょう。ファイアウォールにユーザーID情報を利用したルールを作成することで、このポリシーを適用できます。
この設定では、認証を受けて「学生」グループのメンバーとして識別されたユーザーのみがソーシャルメディアサーバーへのアクセスを拒否されます。LANインターフェースから始まるその他のすべてのトラフィックは許可されます。
ファイアウォールの設定は複雑でエラーが発生しやすい作業です。設定エラーにより、ネットワークにセキュリティ上の問題が発生する可能性があります。[ 35 ]
ファイアウォールポリシーは通常、パブリック環境やプライベート環境など、使用されているネットワークの種類に応じて構成されます。管理者は、不正アクセス、マルウェア、その他のサイバー攻撃などの脅威への露出を減らすために、トラフィックを許可または制限するルールを定義します。[ 36 ]