Windows TIPS
[Network] |
DHCPによる未許可クライアントへのIP割り当てを禁止する
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ 打越 浩幸
2005/10/01 |
|
対象OS |
Windows 2000 Server |
Windows Server 2003 |
|
|
 |
■ |
DHCPサービスを利用すると、TCP/IPの設定を自動的に行うことができる。 |
■ |
デフォルトでは、どのようなクライアントでもIPアドレスを取得してネットワークに接続することができるが、可能ならば、あらかじめ許可されたコンピュータだけにIPアドレスを割り当てるようにしたい。 |
■ |
これを行うためには、IPアドレス・プール中のすべてのIPアドレスを除外範囲に含めておくとよい。そして許可したいコンピュータのIPアドレスとMACアドレスの対をすべて予約として定義する。 |
|
|
DHCPサービスを利用すると、ネットワーク上のコンピュータに対するTCP/IP設定などの作業をほぼ自動化することができる。DHCPサービスの管理作業では、最初にクライアントに割り当てるIPアドレスの集合(IPアドレス・プール)さえ決めておけば、後はその中から自動的にIPアドレスが選ばれ、クライアントに割り当てられる。使わなくなった(もしくはクライアントから返却された)IPアドレスは、またプールに戻され可能ならば別のクライアントに割り当てられることになる。
このような仕組みにより、管理者はほとんど手間をかけなくても済むようになるが、一方でこのような柔軟性はやっかいな問題を引き起こす可能性もある。許可されていないコンピュータを誰かがネットワークに持ち込んだとしても、自動的にIPアドレスが割り当てられ、そのままネットワークを利用することができるようになるからである。もしそのコンピュータがウイルスに感染していれば、ネットワーク上のコンピュータ(もしくはインターネット上のコンピュータ)に対して、さまざまな攻撃を仕掛けるかもしれないし、重要な情報を外部へ送信してしまうかもしれない。
このような事態を防ぐには、無許可のクライアントにはIPアドレスを割り当てず、事前に許可されたクライアントにのみIPアドレスを割り当てるようにするとよいだろう。つまり、接続を許可するコンピュータのMACアドレスとIPアドレスの対をすべてDHCPサーバに登録しておき、それ以外のコンピュータについてはデフォルトですべて拒否するようにDHCPサーバを設定しておくのである。こうすれば、登録されていないクライアント・コンピュータからDHCP要求が送信されても、それらはすべて無視され、ネットワークに接続することはできない。
なお、DHCPによるIPアドレス取得が失敗した場合、Windows OSではAPIPAという独自のIPアドレス(LINKLOCALアドレス。169.254.*.*)を使ってTCP/IPプロトコル・スタックを起動する。APIPAアドレスを使うクライアント同士は通信が可能なため、完全に隔離することはできないが、正規のネットワークとは接続・通信できないので、安全性は高い。
IPアドレス・プールと除外範囲を一致させ、空きIPアドレスをゼロにする
Windows Server OSのDHCPサーバにおいて、未許可(MACアドレスとIPアドレスの対が未登録)のコンピュータからのDHCP要求だけを拒否するための、明示的なオプションや設定方法は用意されていない。だがIPアドレス・プールの「除外」設定を使うことにより、実質的に未登録コンピュータからのDHCP要求を無視する方法がある。
具体的には、あるIPアドレスの範囲をIPアドレス・プールとして定義すると同時に、その範囲すべてを「除外」範囲として定義しておくのである。こうすればクライアントに割り当て可能な空きIPアドレスは1つもなくなり、DHCPサーバはサービスを提供できなくなる(利用可能なIPアドレスがない場合、DHCPサーバはDHCP要求に対する応答を返さなくなる)。
 |
DHCPの除外範囲を定義する |
IPアドレス・プールと同じ範囲を持つ除外範囲を定義する。これにより、これにより、未許可のクライアントに割り当て可能なIPアドレスの数は0になる。 |
|
 |
定義したスコープ。 |
|
 |
アドレス・プールには、クライアントに割り当て可能なIPアドレスの範囲(および除外範囲)を定義する。 |
|
 |
許可されたクライアントごとに、それぞれのIPアドレスとMACアドレスの対をすべて定義すること。IPアドレスは除外範囲の中に入っていてもよい。 |
|
 |
定義されたIPアドレス・プール。ここでは10.20.1.100~10.20.1.199の100個のIPアドレスを割り当てている。 |
|
 |
IPアドレス・プールの範囲すべてを、除外範囲として同様に定義する。これにより、自由に割り当てられるIPアドレスが1つもない状態になる。 |
|
こうしておいてから、今度は必要なクライアントに対するMACアドレスとIPアドレスの対を1つずつ定義していけばよい(登録方法については関連記事のTIPS参照)。あるIPアドレスが除外範囲に入っていたとしても、それを特定のMACアドレスに対して予約しても構わない。ただし、1台でも登録漏れがあると、そのコンピュータに対するIPアドレス割り当てが行われなくなるので注意する必要がある。
RRASの動的DHCP要求に注意
DHCPサーバを以上のように設定した場合、デフォルトでは未登録のクライアントに対するDHCP割り当てはすべて無効になるが、それによってネットワークなどに影響が出る可能性があるので注意する必要がある。
例えばRRAS(ルーティングとリモート・アクセス)でダイヤルアップやVPNサーバ機能を有効にしていた場合、クライアントに割り当てるIPアドレスとしてDHCPサービスを利用している場合がある。このようなケースでは、DHCPサービスが利用できないので、ダイヤルアップ/VPN呼び出しが失敗することになる。対策としては、DHCPによる(クライアント・コンピュータへの)IPアドレス割り当てを無効にし、代わりに、静的なプールから割り当てるように設定を変更しておかなければならない。
Windows Server Insider フォーラム 新着記事