2000年11月19日 更新

ファイヤーウォール基礎技術

 メールMail


ファイヤーウォールのパケット制御ルールの基本は、「外部からのパケットをすべて抑制し、明示的に許可したパケット以外は受け付けない、内部からのパケットはすべて許可するようにし不許可にしたいパケットがある場合はこれを指示する」とうことです。パケットアクセス抑制手法には次のような方法が一般的には利用されます。
これらの手法は相対するものではないので、商用のファイヤーウォールはこれらを複数組み合わせた形で構築されています。 しかし、パケットフィルタ機能などはファイヤーウォール製品以外にルータなどにも用意された機能ですが、これらのパケットフィルタ機能をファイヤーウォールとして見るのは危険です。
ファイヤーウォールの場合には、アクセス制御以外に、攻撃を受けた事を知らせたり攻撃のログを残したり、場合によってはシステムを停止する機能などが盛り込まれています。
しかし、ルータのパケットフィルタでパケットフィルタをかけてさらにファイヤーウォールを構築しておけばファイヤーウォールの負荷が少なくなり効果的な防御が可能になるので、ルータのフィルタ機能も有効に活用するようにしましょう。
パケットアクセス制御ではありませんが、現在のファイヤーウォールにおける重要な機構としてDMZ(DeMilitarized Zone:非武装地帯)というものがあります。DMZは内部と外部の中間に位置するセグメントで、インターネット上に公開するサーバを置くエリアながらファイヤーウォールによるアクセス制御の影響を受けるという特性をもっています。これにより、仮にDMZにあるサーバに攻撃があった場合でも警報を受け取ったり、最悪、乗っ取りが行われた場合においても内部のセグメントに直接被害が及ばないようにできます。

パケットフィルタ

パケットフィルタはTCP/IPのプロトコルとプロトコルポートによって内部ネットワークと接続を許可するか判断します。 しかし、機構上UDPパケットを安全に通過させる方法がなかったり、FTPのような接続ポートが変動するようなパケットでは安全にフィルタリングすることが困難です。
ただし、実装方法が簡単ななことや、コストに対する効果が比較的高くまた処理速度も速いので、多くのファイヤーウォールでは基本的なコンポーネントとして組み込まれています。
パケットフィルタだけでは内部LANのネットワークを隠蔽することができないので、実際の構築にあたってはIPアドレス変換機構(NATやIPマスカレード等)によって更にネットワークを隠蔽する工夫が必要です。また、許可ルールの設定をミスすると拒否するつもりのパケットも受け付けてしまうことになるので、実際の運用にあたっては十分な検証を行う必要があります。

サーキットリレーゲートウェイ

サーキットリレーは、パケットの種類に関係なく内部LANからのリクエストをすべてゲートウェイに集めて、ゲートウェイにおいてそれを目的のパケットとして相手に接続する方法を採ります。
もう少し一般的な説明では、俗に言うところのProxyサーバなどがこれに当たります。
ProxyではHTTPやFTP、TELNETなどのパケットを例えば8080のポートを使って受信し、それを分解して今度は正式な形のHTTPやFTPパケットして相手に接続します。
名前の通り機構的に、ネットワーク的な意味で内部LANと外部LANが接続されている必要が無いため、仮に外部LANから内部LANに接続を試みても、ダイレクトに接続されることはありません。
また、内部LANと外部LANの接続には必ずゲートウェイを経由する必要があるので、内部LANの構成を隠蔽する事が可能です。
ただし、この方式のゲートウェイでは、利用するアプリケーション側でゲートウェイの方式に合った形になっている必要があるので、例えば標準コマンドとしての「TELNET」では、ダイレクトにこのゲートウェイを通過する事はできない。
Proxy以外にもこのようなゲートウェイとしては、SOCKSなどもこの方式のゲートウェイです。
ソフトウェアでこのゲートウェイを実現する場合、ゲートウェイ自身のセキュリティを十分確保しないと、ゲートウェイ自身を乗っ取られることがあるので注意して下さい。通常、このような場合にはゲートウェイが攻撃を受けていることを知らせる為のアシストソフトも同時に載せておくべきでしょう。

また、この方式ではサービス以外の機能、例えばメールを社内のサーバと社外のサーバでやり取りするために、このゲートウェイ自身にメールサーバを組み込みたくなると思います。
しかし、余分なサーバをゲートウェイで動かす場合には、セキュリティへの危険が増加するので、そのサーバの安全性について十分に検討してからゲートウェイに載せるようにしてください。特にメールサーバのsendmailには常にセキュリティの危険がつきまとう事には気を付けてください。

アプリケーションゲートウェイ

サーキットリレーゲートウェイはこれ(ProxyやSOCKS)に対応したアプリケーションでないとファイヤーウォールを透過する事ができません。これに対してアプリケーションゲートウェイは、それぞれのサービス毎にゲートウェイソフトを用意するすることで、普段利用しているアプリケーションからでもファイヤーウォールを透過することが可能です。
例えばHTTP(WWW)ではProxyの設定を行う必要もなくインターネットに接続できます。
アプリケーションレベルで検査を行うため、スピードは犠牲になりますが既知の攻撃に対するセキュリティが高いという特徴を持っています。
しかし、逆にゲートウェイとして対応していないサービスには対応できないないという欠点を持っています。
(これらは汎用ゲートウェイ機能で透過する事が可能な場合がありますがセキュリティ的には弱くなる)
機能的な特性から、これはすべてのパケットが収束するゲートウェイに配置する必要があります。(一般的にはトップ(ルータ直前)のデフォルトゲートウェイ)