Web教材一覧ネットワーク

ファイアウォール


ファイアウオールとは

ファイアウォールとは防火壁のとこですが,組織内のコンピュータネットワークへ外部のインターネットから侵入されるのを防ぐシステムです。多くの場合はソフトウェアをコンピュータに組みこんで使用しますが,専用のハードウェアが用いられる場合もあります。

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

ファイアウォールの機能は多様です。外部から内部へのアクセスを遮断するだけでなく、内部から外部へ不正な通信を遮断するためにも適用できます。

●バックドアとセキュリティホール
 社内ネットワークから正規のファイアウオールを通さずにインターネットに接続する口をもうけると、それを通して不正アクセスをされることがあります。このような不正規の接続口をバックドア(裏口)といいます。バックドアは、利用者が安易な気持で作成してしまうこともありますし、ウイルスなどによりひそかに作成されてしまうことがあります。
 また、新規の攻撃手段は日常的に開発されています。それへの対処が不十分だと、ファイアウオールを設置しても抜け穴ができ、それを通して不正アクセスが行われます。その抜け穴をセキュリティホールといいます。

●ポートスキャン攻撃
 WebサーバはHTTPやFTPなど多様なサービスをしていますが、そのサービスをポート番号で区別しています。(参照:「ウエルノーン・ポート番号」)。アクセス可能な通信ポートを外部から調査するツールをポートスキャナといい、それによる調査をポートスキャンといいます。
 ポートスキャンは、サーバ管理者がセキュリティ対策として用いるのが本来の用途ですが、悪意の第三者に使われると、標的サーバが利用できるポート番号をスキャンして攻撃されます。それをポートスキャン攻撃といいます。
 それを防ぐために、使わせないポートを閉鎖すること、使わせるポート番号も標準的なポート番号と異なるようにしておくことなどが行われます。

ファイアウォールの種類

ファイアウォールは,大きくパケットフィルタリング型とアプリケーションゲートウェイ型に区分されます。実際のファイアウォールでは,パケットフィルタリング型をベースにして,パケットフィルタリングでは実現が難しい機能を,アプリケーションゲートウェイ型の機能を使用して補うようにしています。

パケットフィルタリング型
パケットフィルタリング型は,主にパケットのヘッダ部分(送信元および送信先のIPアドレスとポート)を調べて,アクセスの許可/不許可を決定します。データそのものを調べるのではないので,高速に処理できます。
内部ネットワークのホストをプライベートIPアドレスにしておき,NATあるいはNAPTを用いることにより,外部のグローバルIPアドレスに変換することにより,内部のホストの存在を通信相手から完全に隠すことができます。それにより,外部から直接に内部にアクセスできなくして,セキュリティを高めることができます。
アプリケーションゲートウェイ型
プロキシ型ともコネクションフィルタリング型ともいいます。プロキシ(proxy)とは代理という意味で,クライアントからの要求を代理してサーバに転送したり,サーバからの応答をクライアントに返すアプリケーションのことをいいます。
アプリケーションゲートウェイ型のファイアウォールは,ヘッダ部分だけでなく,パケットのデータの中身まで調べて(コンテンツフィルタリングという),代理で配送を行ないます。それで,パケットフィルタリング型より細かい設定が可能になります。しかし,それだけ負荷が増大するので,効率が悪くなります。

ファイアウォールの発展

WAF(Web Application Firewall)
これは、上記のファイアウォールとやや異なるものです。Webアプリケーション(Javaなどの言語を用いて、動的なページを作成する処理)への攻撃を防ぐものです。アプリケーション層(レイヤー7)でのファイアウォールです。
 論理的には、ブラウザとWebサーバの間に置かれ(実装的では、その機能をWebサーバ管理ソフトに組み込むのが一般的)、ブラウザからWebサーバへアプリケーション要求のメッセージが出されたとき、いったんWAFが受取り、無害であることを確認したらWebサーバへ渡す仕組みです。クロスサイトスクリプティングSQLインジェクションなどの攻撃に対処するのが目的です。
 このように、WAFはメッセージ解読による防御を行うだけであり、WebサーバやWebアプリケーションの脆弱性の修正や実装時の対策を行うものではありません。これは上述のファイアウォールと同じです。
UTM(Unified Threat Management)
ファイアウォール機能、ウイルス対策機能、IPS(侵入防御システム)機能など、複数のセキュリティ機能を統合的に管理することです。WAFは、UTM支援を行うためのツールだといえます。

ファイアウォールの設置場所

Webサーバはインターネットで公開するが,社外秘サーバはインターネットからはアクセスできないようにしたいのです。そのとき,ファイアウォールは,どのように設置すればよいでしょうか?

設置場所AとB

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

設置場所CとD

このような問題を解決するには,図Cのようにファイアウォールを二つ置いて,外側のファイアウォールでWebサーバを守り,内側のファイアウォールで社外秘サーバを守ればよいことになります。この2つのファイアウォールで囲まれた場所をDMZ(De-Minitarized Zone:非武装地帯)といいます。
 しかし,図Cはあまりにも冗長です。それでファイアウォールにインターネット・内部ネットワーク・DMZの三つのポートを持って,個々のネットワークの通過条件を設定することにより,図Dのような構成にしています。


理解度チェック

過去問題: 「ファイアウォール」