DMZ


目次

はじめに
本来の「非武装地帯」
インターネットの「非武装地帯」
具体的な「緩衝地帯」
もう少しDMZを考える

一つ前へ


はじめに


 ファイアウォールを構築するとき、DMZということばをよく聞きますが、DMZ(De-Militarized Zone)とは「非武装地帯」と訳されていますが直訳すると「軍隊がいない地域」なので、非武装地帯ということになります。
 軍隊がいないのにどうしてインターネットからの侵入を防げるかと不思議に思うでしょうが、非武装地帯という訳し方に問題があり、この場合は「緩衝地帯」と考えるのが正しいと思います。

本来の「非武装地帯」


 緊張状態にある2国が国境を接していて、その国境沿いに両国の軍隊が駐留していると、ちょっとしたミスから発砲事故などが発生するだけで一気に本格的な戦闘に発展し、取り返しのつかない事態に陥る可能性がありります。
 そのため、両国間に「緩衝地帯」を設けることで双方の軍隊を遠ざけ、無用な戦闘を避ける方法が取られることがあります。つまり、その地域は非武装となるために「非武装地帯」とも呼ぶのです(図1参照)。北朝鮮と韓国の国境(38°線と言われる)付近の非武装地帯はあまりにも有名です。



インターネットの「非武装地帯」


 インターネットに置き換えてみると、インターネットと社内ネットワークの接続部分に緩衝地帯を設けることになります(図2参照)。


 ところで、なぜこのような緩衝地帯が必要なのでしょうか? それぞれのネットワークは軍隊を持っているわけではなく、軍事衝突が起こる心配はありません。ここでは緩衝地帯を設置することで、インターネットからの通信が直接社内ネットワークに届くことがないようにして、安全性を高めるということになのです。
 インターネットに接続されたコンピュータは攻撃を受ける可能性が高く、その攻撃によって侵入されてしまったときに、そのコンピュータが社内ネットワークに接続されていると、社内ネットワークに接続されているほかのコンピュータも脅威にさらされるため(図3参照)このようなリスクを避けようというのです。


 つまり、インターネット上のコンピュータと通信が可能なのは緩衝地帯に設置したコンピュータだけで、社内ネットワークに接続されたコンピュータが通信できるのは、同様に緩衝地帯に設置されたコンピュータだけということにしておくと、インターネット上のコンピュータと社内ネットワークに接続したコンピュータが直接通信することはなくなります(図4参照)。


 さらに、緩衝地帯上のコンピュータと通信できる社内のコンピュータを制限しておけば、緩衝地帯のコンピュータが侵入をうけたとしても社内への侵入を難しくできるので、安全性を高めることが可能です(図5参照)。




具体的な「緩衝地帯」

 具体的には、2つのファイアウォールを利用することで緩衝地帯を構築します。インターネットと緩衝地帯の間,緩衝地帯と社内ネットワークの間にそれぞれファイアウォールを設置して、それぞれの間の通信を制限することで安全性を確保します。
 しかし、これでもこのメールサーバには全員のアカウントが存在するわけですから、何らかのセキュリティ・ホールにより、パスワード・ファイルやメールそのものが盗み出されていまう危険があることは否めません。
 そこで、ファイアウォールで作った緩衝地帯にインターネットと通信するためのサーバを設置し、社内ネットワークには緩衝地帯に設置したサーバと通信し、社内ネットワークに接続されている一般ユーザのコンピュータと通信するためにサーバを設置します(図5参照)。


 緩衝地帯に設置したメール・サーバYは、インターネット側とのメールのやりとりを受け持ちます。インターネットからメールが届くと、社内ネットワークに設置したメール・サーバXにメールを配送します。社内の利用者は社内ネットワークに設置したメール・サーバXをアクセスしてメールを読み書きします。
 利用者がメールを送信すると、受け取ったメール・サーバXは、宛先がインターネットならならメール・サーバYに転送し、メール・サーバYがインターネットへ配送します。社内宛のメールならメール・サーバXがそのまま保存しておき、受信者がメール・サーバXから読みだします。
 メール・サーバYは単にメールを中継するだけなので、ユーザのアカウントを持つ必要はなく、管理者だけがアクセスできればいいということになります。つまり、メール・サーバY上のアカウント数が減るために、それだけ危険性が減少するのです。
 また、受け取ったメールは、基本的には保存することなくすぐに転送してしまうので、万一侵入をうけたり、ファイルを盗まれるようなことがあっても、メールそのものを盗まれる危険性は大幅に減少します。このように、中継だけを受け持つメール・サーバをメール・ゲートウェイと呼びます。
 そして、内側のファイアウォールに開ける穴も、メール・サーバXとYがメールをやりとりするための穴を開けるだけでよく、それだけ侵入のための経路を減らすことができるわけです。このように、登録ユーザ数を減らすことなどにより守りを固めて、外部との接続を取りしきるサーバのことを「要塞ホスト」(Bastion Host)と呼ぶことがあります。
 緩衝地帯に設置するサーバは、なにもメールサーバだけではなく

@ネーム・サーバ
Aプロキシ・サーバ
BWWWサーバ

など外部と通信するサーバはすべて緩衝地帯に設置し、社内用とは分けたほうがより安全になります。

 ネーム・サーバは、外部に公開してもいいホストだけを登録した外向けのネーム・サーバを緩衝地帯に設置します。社内のホストを登録したネーム・サーバを社内ネットワークに設置し、社内からインターネット側のネームサーバを引きたいときは、社内のネームサーバが社外向けのサーバから情報をもらうことでインターネットをアクセスできるようになります。

 Webアクセス用のプロキシ・サーバは、やはりメインとなるプロキシ・サーバを緩衝地帯に設置し、社内の人が利用するプロキシ・サーバを社内の各ネットワークに設定します。そして、社内のプロキシ・サーバが緩衝地帯に設置したメインのプロキシ・サーバを経由すれば、社内のホストが直接インターネットをアクセスすることはなくなりますし、集中管理のためのアクセス・ログも残せるようになります。
 このような記録を残すためには、社内の利用者が使用するホストからは、インターネットにも緩衝地帯のサーバにも直接アクセスできないように、ファイアウォールで設定しておく必要があります。
 なお、Webサーバは、社外向けと社内向けでは目的が違うので、別々のものだと考えればいいでしょう。


もう少しDMZを考える

 このようにネットワークを構成するとなると、ファイアウォールが2台必要になります。これはコストが膨らみますし、どちらかが故障すれば社内ネットワークからインターネットへのアクセスができなくなります。機器が2倍になるということは故障率も2倍になるわけですからあまりうれしくありません。
 そこで、2台分のファイアウォール機能を1台で代用できないかを考えてみます。これまで考えていたファイアウォールは、イーサネットの足を2本持って、内側、外側という形で接続していました(図6参照)。


 このイーサネットの足をもう1本増やしたのが図7です。図6と比べると形はだいぶ違っていますが、社内ネットワーク、緩衝地帯、インターネットという3つのネットワークを接続し、2つのフィルタリングを設定することで、図6と同じ機能を実現できます。このとき、社内ネットワークとインターネットを直接通信させないことが重要です。


 1台のファイアウォールで2カ所のフィルタリングを実現しようというわけですが、社内ネットワークとインターネットとの間の通信を止めてしまうために、実際は3カ所のフィルタリングを行うことになります。これによって、2台のファイアウォールの間にあった緩衝地帯が、横に追いやられた構成になります。
 このように3本足を持った「箱」をファイアウォール、横に延びた足をDMZだと信じている人がいますが、これまで説明してきたように、このような「箱」だけがファイアウォールだということではありませんし、このようなネットワークだけがDMZではないということなのです。
 このような3本足のファイアウォールでは、社内ネットワークとインターネットの間に、物理的にはひとつのファイアウォールしか設置されていないことになります。
 図6のようにファイアウォールが2段になっていてそれぞれが正しく設定されていれば、1台のファイアウォールにトラブルが発生していても、もう1台が最低限の安全性は確保してくれます。しかし、図7のような構成で、ファイアウォールにトラブルが発生すれば、社内ネットワークとインターネットがそのままつながってしまう危険があります。フェイル・セーフ(安全装置)という観点からすると、いささか気になるところではあります。
 もうひとつ気をつけないといけないのは、設定時に自分がどのネットワーク間のファイアウォールに対して作業を行っているかをきっちり把握している必要があるということです。ネットワークを誤って設定してしまうと、せっかくのファイアウォールが機能を果たさなかったということになります。
 設定ミスで通信できなくなった場合は、より安全な方にミスをしているわけですから利用者からクレームが入ったとしても安全上の問題は起こりませんが、本来は通信ができてはいけないのに通信ができてしまうと、侵入などの足がかりとなるために大きな問題です。このようなミスを起こさないように注意して作業してください。



一つ前へ