ファイアウォールとは防火壁のとこですが,組織内のコンピュータネットワークへ外部のインターネットから侵入されるのを防ぐシステムです。多くの場合はソフトウェアをコンピュータに組みこんで使用しますが,専用のハードウェアが用いられる場合もあります。
社員が自宅や外出先から社内システムにアクセスするテレワークやモバイル・コンピューティングが普及してきました。その効果を高めるには,社外にいてもインターネットを通して社内のネットワークにアクセスして、オフィスにいるのと同じような環境にする必要があります。
企業では社外に向けてWebサイトを構築していますし、それを用いて顧客との商取引をしていることもあります。このWebサイトは社内からも閲覧・更新できるようになっていなければなりません。すなわち、Webサーバはインターネットと社内ネットワークの両方に接続している必要があります。
このように、インターネットと社内ネットワークを接続すると、ハッカーが侵入してくる危険があります。この解決をするための基本的な対策がファイアウォールの設置です。インターネットと社内ネットワークの間に設置して、インターネットからのアクセスが、権限を与えられた人が許可された利用をするときには社内ネットワークへ通すが、そうでないアクセスは通さないための仕組みです。

ファイアウォールの機能は多様です。外部から内部へのアクセスを遮断するだけでなく、内部から外部へ不正な通信を遮断するためにも適用できます。
●バックドアとセキュリティホール
社内ネットワークから正規のファイアウオールを通さずにインターネットに接続する口をもうけると、それを通して不正アクセスをされることがあります。このような不正規の接続口をバックドア(裏口)といいます。バックドアは、利用者が安易な気持で作成してしまうこともありますし、ウイルスなどによりひそかに作成されてしまうことがあります。
また、新規の攻撃手段は日常的に開発されています。それへの対処が不十分だと、ファイアウオールを設置しても抜け穴ができ、それを通して不正アクセスが行われます。その抜け穴をセキュリティホールといいます。
ファイアウォールは,大きくパケットフィルタリング型とアプリケーションゲートウェイ型に区分されます。実際のファイアウォールでは,パケットフィルタリング型をベースにして,パケットフィルタリングでは実現が難しい機能を,アプリケーションゲートウェイ型の機能を使用して補うようにしています。
Webサーバはインターネットで公開するが,社外秘サーバはインターネットからはアクセスできないようにしたいのです。そのとき,ファイアウォールは,どのように設置すればよいでしょうか?

図Aのように設置すると,インターネットからWebサーバにアクセスできるが,社外秘サーバにはアクセスできません。ところがこれではWebサーバが全然保護されていないので,Webページが改ざんされる危険があります。
それで,図BのようにWebサーバをファイアウォールの内側に置くと,Webサーバ閲覧のためにHTTPは許可する設定になります。すると,HTTPでアクセスする社外秘サーバをどうするかなど,設定管理が複雑になります。しかも,ファイアウォールでのNAT機能が有効にならない危険もあります。

このような問題を解決するには,図Cのようにファイアウォールを二つ置いて,外側のファイアウォールでWebサーバを守り,内側のファイアウォールで社外秘サーバを守ればよいことになります。この2つのファイアウォールで囲まれた場所をDMZ(De-Minitarized Zone:非武装地帯)といいます。
しかし,図Cはあまりにも冗長です。それでファイアウォールにインターネット・内部ネットワーク・DMZの三つのポートを持って,個々のネットワークの通過条件を設定することにより,図Dのような構成にしています。
これは、上記のファイアウォールとやや異なるものです。Webアプリケーション(Javaなどの言語を用いて、動的なページを作成する処理)への攻撃を防ぐものです。アプリケーション層(レイヤー7)でのファイアウォールです。
論理的には、ブラウザとWebサーバの間に置かれ(実装的では、その機能をWebサーバ管理ソフトに組み込むのが一般的)、ブラウザからWebサーバへアプリケーション要求のメッセージが出されたとき、いったんWAFが受取り、無害であることを確認したらWebサーバへ渡す仕組みです。クロスサイトスクリプティングやSQLインジェクションなどの攻撃に対処するのが目的です。
このように、WAFはメッセージ解読による防御を行うだけであり、WebサーバやWebアプリケーションの脆弱性の修正や実装時の対策を行うものではありません。これは上述のファイアウォールと同じです。
過去問題: 「ファイアウォール」