特集 インターネット「常時」接続計画

第5回 DNSサーバのセキュリティ設定

3.RRASを使ったパケット・フィルタリング(2)

デジタルアドバンテージ
2002/02/20


新規ルールの追加

 パケット・フィルタのルールは、IPアドレスやプロトコル、ポート番号などに応じて、1つずつ定義する。デフォルトではすべてのパケットが受信可能になっているので、今回はDNS関連のパケットだけを通すように設定を行う。

入力フィルタの設定画面
デフォルトでは何もルールが定義されていないので、すべてのパケットが受信可能になっている。
  ルールの一覧。デフォルトでは何も定義されていない。
  新規のルールを追加するには、これをクリックする。

 フィルタ・ルールでは発信元や宛先のIPアドレスなどを指定する必要がある。しかしDNSサーバでは、DNSの問い合わせを行うクライアントは不定なので、宛先のアドレスしか限定することはできない。以下では例として、DNSクライアントからDNSサーバへの問い合わせパケットを許可するルールを示しておく。このようにして、先の表に挙げたルールをすべて追加していただきたい。

DNSクライアントからの問い合わせパケットの許可ルールの例
DNSクライアントからDNSサーバへの問い合わせには、UDPの(宛先)ポート番号53番のパケットが使われる。送信元IPアドレスは特定できないので、ここでは指定していない。
  パケットの送信元を指定する場合はこの「発信元ネットワーク」で指定する。しかし一般的なDNSの問い合わせではクライアントを特定することができないので、無指定のままにして、任意のクライアントからの要求を受け付けるようにする。
  クライアントを限定する場合はここにそのIPアドレスを指定する。DNSのゾーン転送要求ならば、クライアントを特定できるが(一般的には、ゾーン転送要求はセカンダリDNSサーバからしか実行されないはず)、上位のDNSサーバ側でも同様の設定ができるので、そちらを使う方が望ましい。2カ所で同じような設定を行うのは煩わしいし、トラブルの元になりかねない(それぞれの設定が異なっているとパケットがまったく届かなくなるから)。だが心配ならばきちんと相手のIPアドレスを限定しておこう。
  パケットの宛先IPアドレスで制限を加える場合はこれをチェックする。
  許可する宛先IPアドレスの指定。本来ならばここには自分自身のグローバルIPアドレス(1つのIPアドレス)を指すように設定すればよいが、ここでは8つのグローバルIPアドレスすべてを含むように設定している。さらに別のドメインのDNSサーバを受け持つなど、将来このマシンに別のIPアドレスを割り当てる場合に備えている。
  通常のDNSの問い合わせでは、UDPのポート53番が使われているので、それを許可する。
  問い合わせパケットでは、発信元のポート番号は不定なので、ここでは無指定のままにしておく。
  宛先ポート番号にはDNSの53番をセットする。

 デフォルトではすべてのパケットを受け取る設定になっているはずなので、以下のように「下の条件に一致するパケットを除いたすべてのパケット破棄する」を選択しておく。

入力フィルタの設定
デフォルトではすべてのパケットの受信を許可するという状態になっているが、1つでもルールを定義すると、デフォルト・ルールを変更できるようになる。「すべてのパケットを破棄する」を選択しておく。
  デフォルトでは、この2つのラジオ・ボタンはグレー表示となっていて、選択することができない。しかし1つでもフィルタ・ルールを定義すると、どちらかを選択できるようになるので、下側を選択しておく。これにより、「デフォルトではすべて破棄、ただし以下で指定したパケットだけは通過させる」というふうに動作する。
  定義されたフィルタのルールの一覧。以下同様にして、必要なルールを追加しておく。

 すべてのフィルタの定義が完了すると、以下のような画面になっているはずである。全部で6つのルールが定義されているが、最初の2つはpingコマンドの送受信用、次の2つはDNSの問い合わせパケットの送受信用、最後の2つはDNSのゾーン転送用(および外部へのTCP通信用)である。いずれも通信相手のIPアドレスは限定せず、必要ならば上位のDNSサーバ側で制限をかけることにしている。

設定が完了したフィルタ設定
先の表に挙げたすべてのルールを定義すると、このようになっているはずである。
  定義したルールの一覧。ここでは入力フィルタしか定義していないが、可能ならば出力側にも(無用なパケットを外部へ出さないようにする)フィルタを定義しておこう。詳細については「常時接続時代のパーソナル・セキュリティ対策」や「TIPS―インターネット常時接続時の基本セキュリティ設定」などを参考にされたい。

netshコマンドを使ったルールの設定

 RRASを管理するには、以上のようなGUIツールだけではなく、netshというコマンドラインで使用するツールも用意されている。フィルタの設定ぐらいならば、こちらの方が簡単かもしれない。

 netshは、基本的にはユーザーがインタラクティブに使用するツールであるが、あらかじめコマンド群を記述したファイルを用意しておいて、それを読み込ませるという使い方もできる。今回のフィルタの設定ならば、次のようなファイルを用意しておけばよい。


#file: filter.cnf
routing ip set filter "ローカル エリア接続" input drop

# pingの送受信 (ICMP echo/reply)
routing ip add filter name="ローカル エリア接続" filtertype=input srcaddr=0.0.0.0 srcmask=0.0.0.0 dstaddr=61.206.134.192 dstmask=255.255.255.248 proto=icmp type=8 code=0
routing ip add filter name="ローカル エリア接続" filtertype=input srcaddr=0.0.0.0 srcmask=0.0.0.0 dstaddr=61.206.134.192 dstmask=255.255.255.248 proto=icmp type=0 code=0

# DNSクライアント(外部DNSサーバに対する問い合わせ/応答)
routing ip add filter name="ローカル エリア接続" filtertype=input srcaddr=0.0.0.0 srcmask=0.0.0.0 dstaddr=61.206.134.192 dstmask=255.255.255.248 proto=udp srcport=53 dstport=0
# DNSサーバ(外部からのDNSサーバに対する問い合わせ/応答)
routing ip add filter name="ローカル エリア接続" filtertype=input srcaddr=0.0.0.0 srcmask=0.0.0.0 dstaddr=61.206.134.192 dstmask=255.255.255.248 proto=udp srcport=0 dstport=53

# セッション確立済みのTCP通信の許可
routing ip add filter name="ローカル エリア接続" filtertype=input srcaddr=0.0.0.0 srcmask=0.0.0.0 dstaddr=61.206.134.192 dstmask=255.255.255.248 proto=tcp-est srcport=0 dstport=0

# DNSのゾーン転送(TCPによるDNSサーバからのゾーン転送要求)
routing ip add filter name="ローカル エリア接続" filtertype=input srcaddr=0.0.0.0 srcmask=0.0.0.0 dstaddr=61.206.134.192 dstmask=255.255.255.248 proto=tcp srcport=0 dstport=53

netshに与えるコマンド・ファイルの例
このようなコマンドを記述したテキスト・ファイルを用意しておき、netshコマンドにリダイレクトして与えると、設定を一気に済ませることができる。先頭が「#」となっている行はコメント行なので、説明などを書いておくとよい。このファイルを例えば「filter.cnf」などという名前で保存しておき(このファイルをダウンロードするには 【ここ】 をクリックして、filter.cnf という名前で新規保存してください)、「netsh < filter.cnf」として実行すればよい。ただしインターフェイスの名前や、IPアドレス、ネットマスクの設定などはそれぞれの環境に合わせて変更しておくこと。

 行が長いので折り返しが多く、見づらいかもしれないが、内容的にはそれぞれのフィルタの定義を行っているだけである。このコマンド・ファイルを例えば filter.cnf という名前で保存しておき、次のようにして実行すればよい。

netsh < filter.cnf

 操作が完了したら、GUIの「ルーティングとリモート アクセス」管理ツールを使ってその設定を確認していただきたい。

 次回はいよいよDNSサーバの管理ツールを使って、実際にゾーンの定義を行うことにする。End of Article

 

 INDEX
  [特集]インターネット「常時」接続計画
  第5回 DNSサーバのセキュリティ設定
     1.基本ネットワーク・サービスのセキュリティ対策
     2.RRASを使ったパケット・フィルタリング(1)
   3.RRASを使ったパケット・フィルタリング(2)
 
 インターネット「常時」接続計画


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間