BIND におけるDNSSEC設定
はじめに
DNSキャッシュサーバをDNSSECに対応させる手順です。
DNSSECは権威サーバの署名を検証する事で、応答の偽装や改ざんを検知する事が可能になる技術です。
DNSキャッシュポイズニング対策として有効です。
尚、CentOS 6.2同梱のBINDにはルートゾーンのトラストアンカーが含まれているため 簡単な設定変更でDNSSECによる検証が可能です。
DNSSECの設定
named.confの編集
設定ファイル「/etc/named.conf」に下記の設定を追加します。
1 2 3 4 5 6 7 8 9 |
# vi /var/named/chroot/etc/named.conf # 動作全般に関する設定 options { # DNSSECを有効にします dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; #autoを指定するとトラストアンカの設定が自動作成されます。 }; |
トランスアンカーの設定
本来であれば、下記の流れでトランスアンカーを設定する事になりますが、
CentOS6に同梱されるRPM版のBINDであれば設定不要です。
CentOS6に同梱されるRPM版のBINDであれば設定不要です。
- トランスアンカーの入手および検証 → CentOS 6には同梱済のため不要
- トランスアンカーの設定 → 「dnssec-lookaside auto」で自動設定されるため不要
RPM版を利用しない人向けの参考情報です。
- 手順1 は下記サイトに詳しい手順があります。
第3回 キャッシュDNSサーバのDNSSEC対応
http://www.atmarkit.co.jp/fnetwork/rensai/dnssec03/01.html - 手順2 はnamed.confに下記のような設定を追加する事になります。
123managed-keys {. initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia(省略)QxA+Uk1ihz0=";};
サービス再起動
設定変更を反映するため、サービスを再起動します。
1 |
# /etc/init.d/named restart |
動作確認
DNSSEC対応済のDNS「example.com」に対してdigコマンドで動作確認を行います。
1 2 3 4 5 6 7 |
# 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< |
flagsに「ad」があればDNSSECでの検証に成功しています。