トップページ > Fedora Core 4 > イントラネット セキュリティ対策 > DNSサーバ

Fedora Core 4
イントラネット セキュリティ対策

DNSサーバ

対象バージョン

bind-9.2.1-16 (Red Hat Linux 9)
bind-9.3.1-4 (Fedora Core 4)

インストール

 追加インストールは不要です。

設定

1.バージョン情報の秘匿

 DNSサーバに対してコマンドでバージョン情報を問い合わせることができます。 アプリケーションはバージョン情報ごとにどのようなセキュリティホールが 存在しているか一般公開されていますので、バージョン情報が知られてしまうと、 そのセキュリティホールを突いた攻撃を受けてしまう可能性があります。 そこで、問い合わせを受けてもバージョン情報以外の情報を返すことで バージョン情報を非公開とします。

 viエディタでBINDの設定ファイルを開きます。

# cd /var/named/chroot/etc[Enter]
# vi named.conf[Enter]

ファイル( /var/named/chroot/etc/named.conf )
※ファイルの該当箇所に追加※
options {
        directory "/var/named";
        version "Unknown";   ←この行を追加
(中略)
        // query-source address * port 53;
};

 設定が終わったら、rcスクリプトを使用してDNSサービスを再起動します。

# /etc/rc.d/init.d/named start[Enter]

2.問い合わせ元ホストの限定

 BINDは初期設定では全てのホストから名前解決の問い合わせを 受け付ける設定となっています。 インターネットに一般公開するDNSサーバでは不特定多数の ホストから問い合わせを受けます。しかし、イントラネットなど限られた 範囲で利用するDNSサーバでは、不要なホストから問い合わせを受けないように 問い合わせ元ホストを限定することでセキュリティレベルを上げます。 問い合わせ元ホストはIPアドレス、もしくは192.168.0.0/24のような ネットワークアドレスで指定することができます。

 viエディタでBINDの設定ファイルを開きます。

# cd /var/named/chroot/etc[Enter]
# vi named.conf[Enter]

ファイル( /var/named/chroot/etc/named.conf )
※ファイルの該当箇所に追加※
options {
        directory "/var/named";
        version "Unknown";
        allow-query { 127.0.0.1; 192.168.0.0/24; };   ←この行を追加
(中略)
        // query-source address * port 53;
};

 設定が終わったら、rcスクリプトを使用してDNSサービスを再起動します。

# /etc/rc.d/init.d/named start[Enter]

3.再帰問い合わせ元ホストの限定

 DNSサーバには自身が管理している情報を元に名前解決の結果を回答する機能と 管理していない情報を別のDNSサーバへ問い合わせる機能を持っています。 後者の機能を再帰問い合わせと言い、この機能を利用できるホストを 限定することができます。 インターネットに一般公開し、自身が管理しているドメイン内の Webサーバやメールサーバの情報を回答するだけの場合は再帰問い合わせは 行われませんが、イントラネットのDNSサーバとして、クライアントホストに 名前解決機能を提供する場合はむしろ再帰問い合わせの方が頻繁に行われます。 そこで、DNSサーバが不正利用されないように、再帰問い合わせを 許可するホストを限定します。 問い合わせ元ホストはIPアドレス、もしくは192.168.0.0/24のような ネットワークアドレスで指定することができます。

 viエディタでBINDの設定ファイルを開きます。

# cd /var/named/chroot/etc[Enter]
# vi named.conf[Enter]

ファイル( /var/named/chroot/etc/named.conf )
※ファイルの該当箇所に追加※
options {
        directory "/var/named";
        version "Unknown";
        allow-query { 127.0.0.1; 192.168.0.0/24; };
        allow-recursion { 192.168.0.0/24; };   ←この行を追加
(中略)
        // query-source address * port 53;
};

 設定が終わったら、rcスクリプトを使用してDNSサービスを再起動します。

# /etc/rc.d/init.d/named start[Enter]

4.ゾーン転送先の限定

 複数のDNSサーバを運用する場合、1台でゾーン情報(ドメイン情報)を管理し、 その他のサーバはゾーン情報を転送してもらうことで最新情報に更新するような 運用が可能です。こうすることでゾーン情報に変更があった場合は、 1台のサーバでのみ更新作業を行い、その他のサーバは自動で更新を 行うことができるため管理の手間を軽減することができます。 この場合、前者をプライマリDNSゾーンサーバ、後者をセカンダリDNSサーバと呼びます。 BINDでは初期状態では無制限にゾーン転送を許可してしまうため、 セカンダリDNSサーバになりすましてゾーン情報を盗まれてしまう危険性があります。 そこでゾーン転送先を限定する設定を追加します。 また、1台だけでDNSサーバを運用する場合はゾーン転送を行わないよう設定することもできます。 ゾーン転送先DNSサーバはIPアドレスを指定し、ゾーン転送を許可しない場合はnoneを指定します。

 viエディタでBINDの設定ファイルを開きます。

# cd /var/named/chroot/etc[Enter]
# vi named.conf[Enter]

ファイル( /var/named/chroot/etc/named.conf )
※ファイルの該当箇所に追加※
zone "ranonet.ne.jp" IN {
        type master;
        file "ranonet.ne.jp.zone";
        allow-update { none; };
        allow-transfer { 192.168.0.12; };   ←この行を追加
};

zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "0.168.192.in-addr.arpa.zone";
        allow-update { none; };
        allow-transfer { 192.168.0.12; };   ←この行を追加
};

 設定が終わったら、rcスクリプトを使用してDNSサービスを再起動します。

# /etc/rc.d/init.d/named start[Enter]
イントラネット
セキュリティ対策