ファイアウォール

ファイアウォールとは防火壁のことだが、コンピュータネットワーク関連では、ネットワークの結節点となる場所に設けて、コンピュータセキュリティ上の理由、あるいはその他の理由により「通過させてはいけない通信」を阻止するシステムを指す。通過させてはいけない通信を火にたとえている。ルーターにその機能を実装したものは、そのルーターを指して言うこともあるし、そういったアプライアンス商品などもある。近年ではネットワークの終端にあたる個々のコンピュータでも自分自身の防御のために、外部と接続するネットワークプロトコルスタック中に、望まない通信を防ぐ（たとえばTCPの接続要求など）フィルタなどを持っているものも多く、それらを指して言うこともある（たとえばWindowsには「Windows ファイアウォール」、macOSには「アプリケーションファイアウォール」がある）。 外部からの攻撃に対する防御だけではなく、内側から外部への望まない通信を制御する目的も含め運用されていることもある。利便性の制限となってしまっている場合もあるが、標的型攻撃などで既に内部にトロイの木馬などが入り込んでしまっている場合などに、その活動を防ぐ効果を期待しての運用である場合もある。 以下では、OSI参照モデルに従ったレイヤによって分類しつつ説明する。 OSI参照モデルにおけるネットワーク層(レイヤ3)やトランスポート層(レイヤ4)に相当するIPからTCP、UDP層の条件（ポリシー）で、通信の許可/不許可を判断するもの。狭義でのファイアウォールとは、このタイプのものを指す。このタイプはさらに、スタティックなものとダイナミックなものとに分類できる。 基本的にはレイヤ3で通信制御を判断するが、フィルタの種類によってはレイヤ4のヘッダも参照する。すなわち、TCP/UDPのセッション単位で管理する訳ではない。ただし、ステートフルパケットインスペクション型ではTCP/UDPセッションの一部も記憶して判断動作する。 スタティックなパケットフィルタ IP通信において、宛先や送信元のIPアドレス、ポート番号などを監視し、あらかじめ設定した条件によって、その通信を受け入れる(ACCEPT)、廃棄する(DROP)、拒否する(REJECT)などの動作で通信を制御する。具体的には、外部から内部へ向かうパケットを選別して特定のサービスのみを通す、また内部から外部へ向かうパケットも、セキュリティホールになりかねないため、代表的なサービス以外は極力遮断する、といった設定が行われることが多い。仕組みが単純なため高速に動作するが、設定に手間がかかる、防ぎきれない攻撃があるなどの問題点がある。 ダイナミックなパケットフィルタ 宛先および送信元のIPアドレスやポート番号などの接続・遮断条件を、IPパケットの内容に応じて動的に変化させて通信制御を行う方式。 スタティックなパケットフィルタで内部と外部で双方向の通信を行う場合は、内部から外部へ向かうパケットと、外部から内部へ向かうパケットの双方を明示的に許可しなければならない。一方、ダイナミックなパケットフィルタでは、内部から外部の通信を許可するだけで、その通信への応答に関してのみ、外部からの通信を受け入れる、といった動作を自動的に行う。 ステートフルパケットインスペクション ステートフルインスペクション(Stateful Packet Inspection、SPI)ともよばれる、ダイナミックなパケットフィルタリングの一種。 レイヤ3のIPパケットが、どのレイヤ4（TCP/UDP）セッションに属するものであるか判断して、正当な手順のTCP/UDPセッションによるものとは判断できないような不正なパケットを拒否する。そのため、TCP/UDPセッションの一部情報を記憶して判断動作する。具体例として、ヘッダのSYNやACKフラグのハンドシェイクの状態などを記憶し、不正に送られてきたSYN/ACKパケットを廃棄する。 レイヤ3・IPパケットではなく、TCP/IPなどのレイヤ4・トランスポート層のレベルで通信を代替し、制御する。内部のネットワークから外部のネットワークへ接続する場合は、サーキットレベルゲートウェイに対してTCPのコネクションを張ったり、UDPのデータグラムを投げることになる。サーキットレベルゲートウェイは、自らに向けられていたIPアドレスとポート番号を本来のものへと振り替え、自らが外部と通信した結果を返すという動作をする。代表的なソフトウェア実装としてはSOCKSがある。また、ハードウェア実装としてレイヤ4スイッチにもこの機能を持たせる事ができる。 サーキットレベルゲートウェイは、あらかじめ多数のポートを開けたりNATを用意しなくても、プライベートIPアドレスしか持たない内部のネットワークからでも、外部のネットワークへ接続できるという点がメリットである。 パケットではなく、レイヤ7のHTTP や FTP といった、アプリケーションプロトコルのレベルで外部との通信を代替し、制御するもの。一般的にはプロキシサーバと呼ばれている。アプリケーションゲートウェイ型ファイアウォールの内部のネットワークでは、アプリケーションはアプリケーションゲートウェイ（プロキシサーバ）と通信を行うだけであり、外部との通信はすべてプロキシサーバが仲介する。アプリケーションプロキシが用意されていないサービスについては、サーキットプロキシで対応する事が可能である。 このため、アプリケーションゲートウェイで許されているプロトコルでトンネリングを行うソフトウェア、例えばSoftEtherやhttptunnelといった、運用方法によってはセキュリティホールになりうる実装の利用を、かえって促進してしまうという事例も近年目立っている。強すぎるセキュリティポリシーが迂回路を招いてしまっているとも言える。 プロキシは単に中継するだけの物が多いが、レイヤ7ファイアウォールはアプリケーションの通信の中身も検査する事ができる（例：アクセスURLチェック、ウイルスチェック、情報漏洩検出）。そのため、検査の仕方によってはレイヤ7ファイアウォールは相当な負荷が掛かり、ファイアウォールの処理上も、通信上もボトルネックとなることもある。また、未成年に好ましくないコンテンツのみを、末端のユーザにはプロキシサーバの存在を意識させない状態で、自動的にフィルタリングしてしまうといった実装も可能である。 なお、アプリケーションの通信の中身も検査するため、電気通信事業者が自らが仲介する通信の内容に立ち入ってはならない（通信の秘密）と言う原理原則に反する検閲だと批判する向きもある。通信事業に携わる技術者や学者の間ではこういった種類のファイアウォールを設置するという発想を強く批判する向きもある[誰?]。 なお実際に、ISPのぷららがファイル共有ソフトウェアWinnyの通信を全て遮断する事を計画・発表し、それに対して通信の秘密を侵害する可能性があるとして総務省から行政指導を受け、Winny遮断は同ISPユーザの利用者の選択に任せるとした事例もあった。 上述のパケットフィルタリング型や、サーキットレベルゲートウェイ型ではそれぞれ、レイヤ3スイッチ（ルーター）やレイヤ4スイッチ等のハードウェア機器の一部機能として組み込まれている事も多い。この場合、ある程度簡易な条件でしかパケット検査をできないため、簡易ファイアウォール、広義のファイアウォールと呼ぶこともある。レイヤー7ファイアウォール(L7FW)は通信の内容まで検査するため、L7FWが本来の（狭義の）ファイアウォールであるとすることもある。 ソフトウェアによる実装としては、UNIXでは伝統的にipfwが使われてきた。カーネルレベルで動作するため、オーバーヘッドが小さく高速に動作する。macOSでもipfwが実装されている。Linuxカーネルには iptables、ipchains等が実装されている。 WindowsではZoneAlarm、ノートン インターネットセキュリティ、ウイルスバスター、NetOp Desktop Firewall等のフリーウェアないし商用アプリケーションが普及しているが、これらはファイアウォールというよりは、IDSに近い動作をしている。しかし、一般的にファイアウォールという語が防護のイメージを喚起しやすいためか、用語は混乱して使われている。一般的には、パーソナルファイアウォールと呼ばれる。 また、Windows XPでは、OSの機能として簡易的なファイアウォールが標準で搭載されている（Windows XP SP2ではユーザーが初期設定を行わずに利用できるように改良された）。純粋にスタティックなパケットフィルタ型ファイアウォールの実装としては、NEGiESなどがある。 Astaro Security Linux BinarySEC web firewall Check Point VPN-1、FireWall-1 Clavister eConceal Firewall (eConceal) Firestarter ipfw ipfwadm ipchains iptables IPFilter (ipf) MCS Firewall Microsoft Internet Security and Acceleration Server NPF PF phion netfence Connectivity Gateways PORTUS Application Protection System Symantec Client Security Trustix Enterprise Firewall USP Secure Entry Server visonys AirLock WinGate NAT Firewall ActionTEC (a DSL Modem packaged by Qwest with new DSL customer orders) FAST360 beat Blue Reef Sonar Celestix MSA SeriesCelestix Inc. Cisco PIX and Cisco ASA Clavister CyberGuard DataPower D-Link Erip switch FortiGate by Fortinet Global Technology Associates, Inc. IPCOM EX Series by Fujitsu Juniper NetScreen Lightning MultiCom VPN Firewall Lucent VPN Firewall NetASQ NetStealth Nortel Stand-alone and Switched Firewall PORTUS-APS Appliance PresiNET VPN/Network Visibility RouteFinder - MultiTech Systems Sarvega Sidewinder and Sidewinder G2 Securepoint SofaWare Technologies SonicWALL Symantec Gateway Security vantronix Trusted Proactive Security Appliances based on OpenBSD VSR - バリオセキュア WatchGuard Firebox ステルスワン Fシリーズ BrazilFW Firewall and Router (GPL) - Formerly Coyote Linux - This runs from a floppy disk or hard disk, and is configured through a Windows or Linux program. Devil-Linux (GPL) eBox Platform (GPL) Endian Firewall(GPL) IPCop (GPL) m0n0wall (BSD-style license) pfSense (BSD-style license) (m0n0wall fork) SmoothWall Express (GPL) ^ たとえば政治上の理由としては、小はペアレンタルコントロールから、大は金盾のそれまで、様々である。 DMZ TCP/IP ハッカー クラッカー (コンピュータセキュリティ) エンドツーエンド接続性 日本における検閲 コモンクライテリア 統合脅威管理（UTM: Unified threat management）