_ [debian] bind9 1:9.7.2.dfsg.P3-1.1 vs DNSSEC

bind9 1:9.7.2.dfsg.P3-1.1 のキャッシュサーバを DNSSEC 対応してみた。 「トラストアンカーを検証するためのハッシュ」の取得。

% wget https://data.iana.org/root-anchors/root-anchors.xml
--2011-01-24 13:04:13--  https://data.iana.org/root-anchors/root-anchors.xml
data.iana.org をDNSに問いあわせています... 2620:0:2d0:200::25, 192.0.32.25
data.iana.org|2620:0:2d0:200::25|:443 に接続しています... 失敗しました: 接続を拒否されました.
data.iana.org|192.0.32.25|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 418 [text/xml]
`root-anchors.xml' に保存中

100%[========================================>] 418         --.-K/s 時間 0s

2011-01-24 13:04:20 (265 MB/s) - `root-anchors.xml' へ保存完了 [418/418]

「トラストアンカーを検証するためのハッシュ」の署名を取得。

% wget https://data.iana.org/root-anchors/root-anchors.asc
--2011-01-24 13:04:46--  https://data.iana.org/root-anchors/root-anchors.asc
data.iana.org をDNSに問いあわせています... 2620:0:2d0:200::25, 192.0.32.25
data.iana.org|2620:0:2d0:200::25|:443 に接続しています... 失敗しました: 接続を拒否されました.
data.iana.org|192.0.32.25|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 189 [text/plain]
`root-anchors.asc' に保存中

100%[========================================>] 189         --.-K/s 時間 0s

2011-01-24 13:04:47 (132 MB/s) - `root-anchors.asc' へ保存完了 [189/189]

「トラストアンカーを検証するためのハッシュ」を署名した秘密鍵のペアとなる公開鍵を取得。

% gpg --search-keys --keyserver pgp.nic.ad.jp dnssec@iana.org
gpg: “dnssec@iana.org”をhkpサーバーpgp.nic.ad.jpから検索
(1)     DNSSEC Manager <dnssec@iana.org>
          1024 bit DSA key 0F6C91D2, 作成: 2007-12-01
番号(s)、N)次、またはQ)中止を入力してください >1
gpg: 鍵0F6C91D2をhkpからサーバーpgp.nic.ad.jpに要求
gpg: 鍵0F6C91D2: 公開鍵“DNSSEC Manager <dnssec@iana.org>”を読み込みました
gpg: 絶対的に信用する鍵5BF4CBCAの公開鍵が見つかりません
gpg: 絶対的に信用する鍵BDE10DAAの公開鍵が見つかりません
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0  有効性:   4  署名:  15  信用: 0-, 0q, 0n, 0m, 0f, 4u
gpg: 深さ: 1  有効性:  15  署名:   9  信用: 15-, 0q, 0n, 0m, 0f, 0u
gpg: 次回の信用データベース検査は、2011-09-18です
gpg:     処理数の合計: 1
gpg:           読込み: 1

「トラストアンカーを検証するためのハッシュ」の署名を検証。

% gpg --verify root-anchors.asc root-anchors.xml
gpg: 2010年07月07日 07時49分10秒 JSTにDSA鍵ID 0F6C91D2で施された署名
gpg: “DNSSEC Manager <dnssec@iana.org>”からの正しい署名
gpg: 注意: この鍵は満了です!
主鍵の指紋: 2FBB 91BC AAEE 0ABE 1F80  31C7 D1AF BCE0 0F6C 91D2

満了なのが気になるけど。 「トラストアンカー」の取得。

% dig . dnskey | grep 257 > root-dnskey

「トラストアンカー」のハッシュ(DS RR)を取得。

% dnssec-dsfromkey -2 -f root-dnskey .
.. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32 F24E8FB5

「トラストアンカー」のハッシュと「トラストアンカーを検証するためのハッシュ」の比較。

% cat root-anchors.xml | grep '<Digest>'
<Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest>
% cmp <(dnssec-dsfromkey -2 -f root-dnskey . | awk '{print $7$8}') <(cat root-anchors.xml | grep '<Digest>' | cut -b9-72); echo $?
0

bind9 の設定で DNSSEC を有効にする。

# cp -a /etc/bind/named.conf.options /etc/bindnamed.conf.options.2011-0124
# vi /etc/bind/named.conf.options
# diff -u /etc/bind/named.conf.options.2011-0124 /etc/bind/named.conf.options
--- /etc/bind/named.conf.options.2011-0124      2011-01-15 16:43:36.000000000 +0900
+++ /etc/bind/named.conf.options        2011-01-24 13:16:59.000000000 +0900
@@ -16,5 +16,10 @@

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
+
+       // 2011/01/24 add DNSSEC
+       dnssec-enable yes;
+       dnssec-validation yes;
+       //
 };



# cp -a /etc/bind/named.conf.local /etc/bindnamed.conf.local.2011-0124
# vi /etc/bind/named.conf.local
# diff -u /etc/bind/named.conf.local.2011-0124 /etc/bind/named.conf.local
--- /etc/bind/named.conf.local.2011-0124        2011-01-15 16:43:36.000000000 +0900
+++ /etc/bind/named.conf.local  2011-01-24 13:19:00.000000000 +0900
@@ -6,3 +6,15 @@
 // organization
 //include "/etc/bind/zones.rfc1918";

+// 2011/01/24 add DNSSEC
+managed-keys {
+       "." initial-key 257 3 8
+       "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
+        FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
+        bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
+        X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
+        W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
+        Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
+        QxA+Uk1ihz0=";
+};
+//

再起動。

# /etc/init.d/bind9 restart
Stopping domain name service...: bind9 waiting for pid 18585 to die.
Starting domain name service...: bind9.

更新された鍵情報が保存されている。

% ls -la /var/cache/bind
合計 16
drwxrwxr-x  2 root bind 4096 2011-01-24 13:20 .
drwxr-xr-x 23 root root 4096 2011-01-24 12:58 ..
-rw-r--r--  1 bind bind  698 2011-01-24 13:20 managed-keys.bind
-rw-r--r--  1 bind bind  512 2011-01-24 13:20 managed-keys.bind.jnl

ad がついてるので検証できている。

% dig +dnssec +multiline jprs.jp SOA

; <<>> DiG 9.7.2-P3 <<>> +dnssec +multiline jprs.jp SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39815
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 11

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;jprs.jp.               IN SOA

;; ANSWER SECTION:
jprs.jp.                86386 IN SOA ns01.jprs.co.jp. postmaster.jprs.co.jp. (
                                1295331619 ; serial
                                3600       ; refresh (1 hour)
                                900        ; retry (15 minutes)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
jprs.jp.                86386 IN RRSIG SOA 8 2 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                CQpaZk3Re7g+2556lZqQAkFMAf2bVSQoDVaRzTjew0ze
                                mo3rOFm0NHAGBwwCyRpvTFHjSzv6Mzg9c+MDh9mw6Pey
                                seA+PrBoGn16TIDsuOXVBn32JqTBOxia2nvNyZxq41kT
                                cUG4r+1pc4aCS6l1B4SS6xcg7hmmH/wh8doQ8dI= )

;; AUTHORITY SECTION:
jprs.jp.                86379 IN NS ns02.jprs.jp.
jprs.jp.                86379 IN NS ns03.jprs.jp.
jprs.jp.                86379 IN NS ns01.jprs.jp.
jprs.jp.                86379 IN RRSIG NS 8 2 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                nTfPWqGY1UXqqZf0nCxiVXJmlRNrceSpF4k9uOODgOwC
                                g+aijkpfqQMCrfR+MQl7lkKs/g3P1KxfHsvPaVBM2anm
                                5O8u9KfSinvk9ZyVL5NQrka7C1OYGSuuWqyY3Kw03/xl
                                DB10NCHtgO1D9Xgs/1KS+AmQtn+cuXE+jLW6cLc= )

;; ADDITIONAL SECTION:
ns01.jprs.jp.           86379 IN A 202.11.17.107
ns01.jprs.jp.           86379 IN AAAA 2001:df0:8:6::10
ns02.jprs.jp.           86379 IN A 202.11.16.227
ns02.jprs.jp.           86379 IN AAAA 2001:df0:8:20::10
ns03.jprs.jp.           86379 IN A 61.200.83.204
ns01.jprs.jp.           86379 IN RRSIG A 8 3 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                dMULpW3EtGQSH46hJ4yngDKWlgDol6XazcvTJ2xK3VXm
                                8v5/TCikWQVo3GURO28raW8qYYG8j/Sb52+GITVxOlDl
                                flxHRMvzq89Og4Ps5xL8BB5ZUOIiKLQhCcog1vV3FLWJ
                                Xo5WNTpDg1B+pxa/dyQnZlxWvKQbGZ2Hhk7I69E= )
ns01.jprs.jp.           86379 IN RRSIG AAAA 8 3 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                DrRI1A2COP8ez1q0CFCw5AF4g+y2WXGv3tqlvLEw1aX/
                                9KhBPUMUTOTQF/+4rDoNNdaXYLe2zPaNbCohX8H061Fl
                                jrhSCkax5BQlv9QJD2Uwoum0iqencziH/nFjFsyhv6DI
                                yK6H/+kV7k3y7jFz0JJI0+1wVaA77SqvER1B6Bo= )
ns02.jprs.jp.           86379 IN RRSIG A 8 3 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                K8uRzX9AVt/ylK51CTKoSY1CoXkXe9BPT3MD0LitUZQ+
                                hVfRa6ENf96nsPBl7pFTkKxYHesAnCp2u1sOm2zp5Pjo
                                qY8fktYuj01VRN75l/gNsSxKvTrmhLN8iKWcXhqNJae7
                                CA/JuO85kgvLeh3x/bdyNkmI2b8rgfRinFXne4M= )
ns02.jprs.jp.           86379 IN RRSIG AAAA 8 3 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                DqRdUUwWJTtk6/HL3zRJvh5M7G95KJUbZdSBqyxCth1I
                                +n/OelG9qRz8AzuQiXNXcUpHs+2Z3WCPVUsLPdgk959K
                                zhWFXW36QSYGnjjAqlYHgdSoznMXGXqBN7a0OcWOVZBS
                                oJXPWN+hJ07bo+y9v/nWJC0HjAMY6n3oE/i7fvM= )
ns03.jprs.jp.           86379 IN RRSIG A 8 3 86400 20110217052019 (
                                20110118052019 32889 jprs.jp.
                                ncw1ZdBUtzAoF42GkKexomrcYpZne8xMSgRM1dKs0E6G
                                5YAKnGlzX/E2dXWxPXlYHGggSGjyTZpjQMYhQugNqJHg
                                4eZI2zpmgcXjQPWYf8eXs/WYJDiL82lufXLOpkIbcdBw
                                7jnYZP84GXgTttGFXxl6Bj/qae+gbFKAJRBEQXY= )

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jan 24 13:22:13 2011
;; MSG SIZE  rcvd: 1426

_ [debian] 続々々々・sylpheed 3.1.0~beta2-1 変

きちんと調べなかったせいで長かったけどやっと閉じた。> #597045