BIND 9.7におけるDNSSEC設定
| Table of Contents |
はじめに
DNSキャッシュサーバをDNSSECに対応させる手順です。
DNSSECは権威サーバの署名を検証する事で、応答の偽装や改ざんを検知する事が可能になる技術です。
DNSキャッシュポイズニング対策として有効です。
尚、CentOS 6.2同梱のBINDにはルートゾーンのトラストアンカーが含まれているため簡単な設定変更でDNSSECによる検証が可能です。
環境
インストール環境
-
OS
- CentOS 6.2 (kernel 2.6.32-220.4.1.el6)
-
パッケージ
-
bind-9.7.3-8.P3.el6_2.2
-
bind-9.7.3-8.P3.el6_2.2
BINDのインストール
-
BINDは下記手順でインストール済とします。
DNSSECの設定
named.confの編集
-
設定ファイル「/var/named/chroot/etc/named.conf」に下記の設定を追加します。
# vi /var/named/chroot/etc/named.conf
# 動作全般に関する設定 options { # DNSSECを有効にします dnssec - enable yes ; dnssec - validation yes ; dnssec - lookaside auto ; #autoを指定するとトラストアンカの設定が自動作成されます。 } ;
トランスアンカーの設定
-
本来であれば、下記の流れでトランスアンカーを設定する事になりますが、
CentOS6に同梱されるRPM版のBINDであれば設定不要です。1.トランスアンカーの入手および検証 → CentOS 6には同梱済のため不要2.トランスアンカーの設定 → 「dnssec-lookaside auto」で自動設定されるため不要
RPM版を利用しない人向けの参考情報です。-
手順1 は下記サイトに詳しい手順があります。
第3回 キャッシュDNSサーバのDNSSEC対応
http://www.atmarkit.co.jp/fnetwork/rensai/dnssec03/01.html
-
手順2 はnamed.confに下記のような設定を追加する事になります。
managed-keys { . initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia(省略)QxA+Uk1ihz0=";};
-
手順1 は下記サイトに詳しい手順があります。
サービス再起動
-
設定変更を反映するため、サービスを再起動します。
# /etc/init.d/named restart
動作確認
-
DNSSEC対応済のDNS「example.com」に対してdigコマンドで動作確認を行います。
# dig +dnssec @localhost example.com; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> +dnssec @localhost example.com; (2 servers found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25046;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags: do; udp: 4096;; QUESTION SECTION:;example.com. IN A;; ANSWER SECTION:example.com. 172609 IN A 192.0.43.10example.com. 172609 IN RRSIG A 8 2 172800 20120508003134 (省略)
- flagsに「ad」があればDNSSECでの検証に成功しています。
参考
-
第3回 キャッシュDNSサーバのDNSSEC対応
http://www.atmarkit.co.jp/fnetwork/rensai/dnssec03/01.html