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のインストール

↑

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=";};
↑

サービス再起動

  • 設定変更を反映するため、サービスを再起動します。
    # /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での検証に成功しています。
↑

参考

このエントリーをはてなブックマークに追加
Last-modified: 2012-05-01 (火) 20:28:57   最終更新のRSS