JAIPA 情報セキュリティ部会 勉強会
DNSSEC: 技術と運用
2010/11/10 15:00-17:00(株)NTTPCコミュニケーションズ
高田美紀 @mikiT̲T©2010 NTTPC Communications, Inc.

agenda• キャッシュサーバ• 権威サーバ• 動作確認• トラブルシューティング• Q&A
2010/11/10

2©2010 NTTPC Communications, Inc.

想定環境

• CentOS 5• OpenSSLのバージョン番号が古い• CentOSの脆弱性対応ポリシー• バージョンは上げず、穴を塞ぐ• あまり古いと新しい暗号アルゴリズムに対応していない• #はroot作業、$は一般ユーザ作業
2010/11/10

3©2010 NTTPC Communications, Inc.

DNSSEC対応ソフトウェア• BIND• 9.6-ESV以降、9.7がおすすめ• トラストアンカー自動更新• Smart Signing• 権威/キャッシュサーバ両方の機能• http://www.isc.org/software/bind/
2010/11/10

4©2010 NTTPC Communications, Inc.

BINDインストール# yum -y install gcc openssl-devel$ wget http://ftp.isc.org/isc/bind9/9.7.2-P2/
bind-9.7.2-P2.tar.gz$ tar zxf bind-9.7.2-P2.tar.gz$ cd bind-9.7.2-P2/$ ./configure --with-openssl --disableopenssl-version-check --prefix=/usr/local/$ make# make install

2010/11/10

6©2010 NTTPC Communications, Inc.

conﬁgureオプション• --with-openssl• OpenSSLライブラリを利用する• --disable-openssl-version-check• opensslのバージョンによる脆弱性
チェック回避• --preﬁx=/usr/local/• インストールは /usr/local/ へ2010/11/10

7©2010 NTTPC Communications, Inc.

キャッシュサーバ

• クライアントからのクエリに応じて再帰問い合わせを行い、答えを戻す• 問い合わせ内容をキャッシュする• DNSSECの署名検証を行う• BIND• Unbound (Appendix参照)
2010/11/10

8©2010 NTTPC Communications, Inc.

キャッシュサーバ設定(1)• named.conf の options {}; に設定追加• dnssec-enable yes;
• デフォルトでyesなので実際には不要• dnssec-validation yes;
• 署名検証を行う
2010/11/10

9©2010 NTTPC Communications, Inc.

キャッシュサーバ設定(2)• . (root) のトラストアンカーを
managed-keys {}; に設定• RFC5011的に自動更新される(はず)managed-keys {"." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=";};

2010/11/10

10©2010 NTTPC Communications, Inc.

rootトラストアンカー設定• dig . dnskey | grep -w 257.! !
!
84482!
IN! DNSKEY! 257 3 8
AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=• managed-keys {}; 設定"." initial-key 257 3 8"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efuc p2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sG IcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";

2010/11/10

11©2010 NTTPC Communications, Inc.

rootトラストアンカー検証1$ wget --quiet https://data.iana.org/root-anchors/icann.pgp$ gpg --import --quiet icann.pgp$ gpg --list-keys --fingerprint dnssec@iana.org
pub

1024D/0F6C91D2 2007-12-01 DNSSEC Manager <dnssec@iana.org>
指紋 = 2FBB 91BC AAEE 0ABE 1F80

sub

31C7 D1AF BCE0 0F6C 91D2

2048g/1975679E 2007-12-01

公開PGPサーバにて指紋確認
http://pgp.nic.ad.jp/pks/lookup?op=vindex&search=dnssec%40iana.org&ﬁngerprint=on

同じ?

2010/11/10

12©2010 NTTPC Communications, Inc.

rootトラストアンカー検証2$ wget --quiet https://data.iana.org/root-anchors/root-anchors.xml$ cat root-anchors.xml<?xml version="1.0" encoding="UTF-8"?><TrustAnchor id="AD42165F-3B1A-4778-8F42-D34A1D41FD93" source="http://data.iana.org/root-anchors/rootanchors.xml"><Zone>.</Zone><KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00"><KeyTag>19036</KeyTag><Algorithm>8</Algorithm><DigestType>2</DigestType><Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest></KeyDigest></TrustAnchor>$ wget --quiet https://data.iana.org/root-anchors/root-anchors.asc$ gpg --verify root-anchors.asc root-anchors.xml
gpg: Signature made Wed Jul

7 07:49:10 2010 JST using DSA key ID 0F6C91D2

gpg: Good signature from "DNSSEC Manager <dnssec@iana.org>"

同じ?

gpg: checking the trustdb
gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
gpg: WARNING: This key is not certified with a trusted signature!
gpg:

There is no indication that the signature belongs to the owner.

Primary key fingerprint: 2FBB 91BC AAEE 0ABE 1F80

31C7 D1AF BCE0 0F6C 91D2

$ dig . dnskey | grep -w 257 >root-ta.key$ /usr/local/sbin/dnssec-dsfromkey root-ta.key|grep -w 2
. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32 F24E8FB5
2010/11/10

13©2010 NTTPC Communications, Inc.

キャッシュサーバ設定(3)• トラストアンカー更新ファイル自動生成• namedユーザの書き込み権が必要• drwxr-x--- root:named /var/named• そのまま起動するとエラー発生
managed-keys.bind.jnl: create: permission denied
managed-keys-zone ./IN: keyfetch_done:dns_journal_open-> unexpected error• managed-keys-directory { “/var/

named/keys/”; }; など書き込める設定

2010/11/10

14©2010 NTTPC Communications, Inc.

BIND 起動前の準備• 起動スクリプトの準備• /usr/ から /usr/local/ へ• その他TIPS• $PATH に気をつける• -4 オプション• IPv6接続性がないのに IPv6アドレスがインタフェースについている場合

2010/11/10

15©2010 NTTPC Communications, Inc.

BIND 起動# service named start$ ps axww|grep named
5572 ?
Ss
0:00 /usr/local/sbin/
named -u named
9855 pts/0S+
0:00 grep named$ tail /var/log/messages
Sep 22 14:21:47 baguette named[5572]: starting
BIND 9.7.2-P2 -u named
Sep 22 14:21:47 baguette named[5572]: builtwith '--with-openssl' '--disable-opensslversion-check' '--prefix=/usr/local/'::Sep 22 14:21:47 baguette named[5572]: running
2010/11/10

16©2010 NTTPC Communications, Inc.

キャッシュサーバ確認$ dig . ns +dnssec @127.0.0.1; <<>> DiG 9.7.2-P2 <<>> . ns +dnssec;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12049;; flags: qr rd ra ad; QUERY: 1, ANSWER: 14, AUTHORITY: 0,
ADDITIONAL: 4;; OPT PSEUDOSECTION:; EDNS: version: 0, flags: do; udp: 4096;; QUESTION SECTION:
;.!
!
!
!
IN!
NS
;; ANSWER SECTION:.!
!
!
498176!IN!
(略)

NS!

署名検証ok!

d.root-servers.net.

.!
!
!
498176!IN!
NS!
b.root-servers.net.
.!
!
!
498176!IN!
RRSIG! NS 8 0 518400 20100928000000 20100920230000 41248 .
gOG4vxTajV51RXajibiPsRmKE8VB9Yj7VgTA54T/r47v1Yki1rZvS9BI 0O6Ht0hfv+eBAIv+oQ5F5mjzPuY72ngIVolOzqISgAUhF+O8uO4bc0Ss jykeZk76TS4CwPmsabyL43UjIaQSNIH5tliRE+ETr9NAzQzIl+uhz7gq sEY=;; ADDITIONAL SECTION:
e.root-servers.net.!
m.root-servers.net.!
m.root-servers.net.!

604744!IN!
604698!IN!
604698!IN!

A!
192.203.230.10
A!
202.12.27.33
AAAA! 2001:dc3::35;; Query time: 0 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Wed Sep 22 14:37:04 2010;; MSG SIZE rcvd: 457

2010/11/10

17©2010 NTTPC Communications, Inc.

権威サーバ• DNSのデータを保持するコンテンツ
サーバ• BIND• NSD (Appendix参照)
2010/11/10

18©2010 NTTPC Communications, Inc.

権威サーバでのDNSSEC対応• 鍵の作成• ゾーンへの署名• 上位へDSレコードを登録(依頼をする)

2010/11/10

19©2010 NTTPC Communications, Inc.

鍵の作成
• ZSKの作成 鍵アルゴリズム

鍵長

ゾーン名

# dnssec-keygen -a RSASHA256 -b 1024 skrd.org
Generating key pair............................++++++ ...............++++++
Kskrd.org.+008+07623• KSKの作成 鍵アルゴリズム 鍵長

KSK

ゾーン名

# dnssec-keygen -a RSASHA256 -b 2048 -f ksk skrd.org
Generating key pair.............+++.....................................................
.......................................+++
Kskrd.org.+008+27841

2010/11/10

20©2010 NTTPC Communications, Inc.

鍵ファイルの中身(ZSK)# cat Kskrd.org.+008+07623.key; This is a zone-signingkey, keyid 7623, for skrd.org.

; Created: 20100923020356 (Thu Sep 23 11:03:56 2010); Publish: 20100923020356 (Thu Sep 23 11:03:56 2010); Activate: 20100923020356 (Thu Sep 23 11:03:56 2010)
skrd.org. IN DNSKEY 256 3 8 AwEAAdb81Gi8EkBRQ61qP/JbXeaLkRCCberyqZqHJDsety6ZYXGFbmVy
m6pQfz232NexZVwj8BM6MuUlAWGF1X0V+520DDLAozYbG6HZ8PM/CPXl
Ab6O38l8fYtjFhAoiiyxf2oHr6xxiYCf0MQn4JxYeuItms59+2uKuBEJ ojLp4M2d# cat Kskrd.org.+008+07623.private
Private-key-format: v1.3
Algorithm: 8 (RSASHA256)
Modulus: 1vzUaLwSQFFDrWo/8ltd5ouREIJt6vKpmockOx63LplhcYVuZXKbqlB/
PbfY17FlXCPwEzoy5SUBYYXVfRX7nbQMMsCjNhsbodnw8z8I9eUBvo7fyXx9i2MWECiKLLF/agevrHGJgJ/
QxCfgnFh64i2azn37a4q4EQmiMungzZ0=
PublicExponent: AQAB
PrivateExponent: Df6DLRYg8gLYLu+dnf8Ii7tGBBcZZJPLKn3lg9up/OSLDUKsPvpI27tFrRTMjq3DdU35kKbXLUdNYbW+gdfueuTd2EB151F/Z7m7q1xNN4IUtwjQgVSgvv7gRrmGIbhy4RbPsx5SNxikUscsHSdKPgm1pUy5cCFiSosB8YNYH9k=
Prime1: /TnWsUg7+D3quZl6k3EFiAkS/8G3ptRECFt7E35/2HJ//et1fm11GbqA2yW6g0JdnSaHzTwcqyIXZVpBaLz7ow==
Prime2: 2VfA239530CJkifg2Sp+RHliIsSloTVc+v9ghqbnn0kSQ1QAVwFQ19rEtdAbHhvA78SgzWMz0eDfCiXTqZulvw==
Exponent1: PMpGzRZvNx/+GoJK19x5HHg5NGbX5NfuYSc8+6gRnu+V5GpDMY+rXfrU9kcvaFVlTdWzIkT9CORNQ4qQS0mbCw==
Exponent2: 0bBNXDgP3+nHEKCy2TKbIfsuSDcLSY5Ph8XtXdwXqeD44sZfkZGuaqMhl/wQvaqvKWS+c4nbTAk1hvfZz1Bgxw==
Coefficient:+QvvH0GECljH8SaZq6eZpLB8QTEFb3uZxevZ6ygZa0PXn26Zm12ucNWkmSkSPtzjY58bXSsYrH4GnQQEe5yAfQ==
Created: 20100923020356
Publish: 20100923020356
Activate: 20100923020356
2010/11/10

21©2010 NTTPC Communications, Inc.

鍵ファイルの中身(KSK)# cat Kskrd.org.+008+27841.key; This is a key-signing key, keyid 27841, for skrd.org.
; Created: 20100923020410 (Thu Sep 23 11:04:10 2010); Publish: 20100923020410 (Thu Sep 23 11:04:10 2010); Activate: 20100923020410 (Thu Sep 23 11:04:10 2010)
skrd.org. IN DNSKEY 257 3 8 AwEAAcmreXb4nc7dhs1j8RMm7E70YDCwjohsEVIgkw2kCAi5ze3S/4kH
gSUe2zaQ9zKUS1usssHssgVCcXuwqjbZDW+ZyOXQ+uia7+4/3m3aDa0F hLvJF7N5WGny7z194NAsuvKrt6xurMhFlnkIH8w4/kqDUvbl07jhV7fG
RO3b0MBzeFASlCIDU2mNOQs8Rk5TpVLhXx4OGcmbwoyKwI3IfBL0FBEt 2lYHqvNrOzo56PeBThvt6a9miYpd6VGmILfPKeJ/RXadwXb7cupn7npy
vVLz7Z0l+7mlGfkLC1e7bLLpNPWvpsb6YOXstO0kkeBqZGjcAH5jkUAJ SYoduDSzyh8=# cat Kskrd.org.+008+27841.private
Private-key-format: v1.3
Algorithm: 8 (RSASHA256)
Modulus: yat5dvidzt2GzWPxEybsTvRgMLCOiGwRUiCTDaQICLnN7dL/iQeBJR7bNpD3MpRLW6yyweyyBUJxe7CqNtkNb5nI5dD66Jrv7j/
ebdoNrQWEu8kXs3lYafLvPX3g0Cy68qu3rG6syEWWeQgfzDj+SoNS9uXTuOFXt8ZE7dvQwHN4UBKUIgNTaY05CzxGTlOlUuFfHg4ZyZvCjIrAjch8EvQUES3aVgeq82s7Ojno94FOG+3pr2aJil3pUaYgt88p4n9Fdp3Bdvty6mfuenK9UvPtnSX7uaUZ+QsLV7tssuk09a+mxvpg5ey07SSR4GpkaNwAfmORQAlJih24NLPKHw==
PublicExponent: AQAB
PrivateExponent: WC4SPmMXHYzflI9OqgEq8psINEH/EMewCykTI7PFj4su7/6CnXgakBCd6Y4ZiJQvHza0Mvc8H/
CdjmgBBVqC9XlYzqRCEdMtdg+XQpFFyZHQKAwVwPQeJLWExm50DpKAa/uJpGwAQNGsqd9TiAijqBEkBbEYko51vHWFTjv/
WyZbhiPOAXPbpBaFsQM8SupvRqE6LLH1012StKb08Vb3MZzBy5koOS57GHYKz/
g81bRuYEboHzAufvg2KknzMfNfQKdqEE9QK6z3cSbaBifnqzy5lv0TDcvRg2k5oFGLFKgHxy0qdAEvd7JOG3vuXqYsjt1hM7n2DCesJmbO30ACAQ==
Prime1: 5/WS565JkDMqqAQAt0nPGlRD0b6xSQxYE9/LmVhQZ5Z99vMfYiMlWH+AT9JlhZa4Bm6fJgU3N/A+F7Oh0hzDlA21yR56TnQUY9VoFn47ovfyZy0epQrLEc2SX5BuA+HNbZGyrCb1qSY91Sw99sE4iAmRCuyRDFqlwY1TeTYuwZE=
Prime2: 3pJAB5lNKA4Ot9b7sJ/Ufx8OwEbP22l5FiQn1xcPX7y/
aPE4LEdDn7g7OImtrkueypCsUB4IUVLhvQMSevPkshjD9VfE0hvxLfkkVfB6KOgwOO7BER5aQKMDfT0gI7kRO7+RDA2MDEm+i5VbuebWR/
VuQ5pxF36jNPVUtG8p+K8=
Exponent1: VkWhAOhy1d4h9GGgvosGKz3CB6XMHGYp8CJhgEQ3i3+OlCWyu3Zk8nhhic6wEbKP+Vx1dtejxPtmrLwT6KjoGQ3MWeQrCzjjSIpb71m95owfrT470pikFJgH4+E8+dam6CSzdpH69pGRl9KfrUIKO5aLSqvX+udQFR/yNvfvBfE=
Exponent2: GphRLFdGH+4mFhOLOZyvkI0Ofy028xnUTS/+zrXDsYXlPU3tj2TokLI76VKSPUxt6fiFjoE4Lzd/
H825LJXuEtXgvHVDYHPUStEFZXt5rV+pO3RT/46n7CdOaG2gZIRdqc0HMPCBdoptSVKMhlct7aVHCq7uqocIS3CxMWpDEqM=
Coefficient: ySkzg8SLXoBnFxk8VYzPQraIT3QJIttbCDRh5ITr/
IQgRXOHKR387+i9Ku5oHOYOMiI8uslfJ2ZM2lweWTr6f6HCETqnQkMCuJI2sfkdu0yB4EZvg38iaDtg4twQ0Ic4xrLEUyJnmDNQGOQWaPn75MhzEK
MiEZvSaAiYdIlggew=
Created: 20100923020410
Publish: 20100923020410
Activate: 20100923020410

2010/11/10

22©2010 NTTPC Communications, Inc.

ゾーンへの署名
NSEC3のsalt
16進文字列で適宜指定 SOAのシリアル更新 ゾーン名
# dnssec-signzone -3 ec1067 -N unixtime -S skrd.org
Fetching KSK 27841/RSASHA256 from key repository.
Fetching ZSK 7623/RSASHA256 from key repository.
Verifying the zone using the following algorithms: RSASHA256.
Zone signing complete:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revokedskrd.org.signed

署名済ゾーンのファイル

2010/11/10

23©2010 NTTPC Communications, Inc.

署名済ゾーンファイルの中身; File written on Thu Sep 23 15:35:03 2010
; dnssec_signzone version 9.7.2-P2
skrd.org.
3600
IN SOA cherry.skrd.org. root.cherry.skrd.org. (1285223703 ; serial
3600; refresh (1 hour)
900; retry (15 minutes)
2419200; expire (4 weeks)300; minimum (5 minutes)
)
3600
RRSIG
SOA 8 2 3600 20101023053503 (20100923053503 7623 skrd.org.
YER624kn+Nxr3iBUxhUpO56uOIpzlKvRQMNq
TPQeiu2CGeAs7ozhLeNPavsJi6O4sQSNroVx
MS6hB6cmNVsKZ7lHkilaLnEf69vmiEstGoHx
CtTxBDgGsWiF80XqLm4pi7ganaGEQv3YMb1x
5JG6eVRXAm5NtykZ/vRcXAWYJ5U= )3600
NScherry.skrd.org.
3600
NS
currant.skrd.org.
3600
RRSIG
NS 8 2 3600 20101023053503 (20100923053503 7623 skrd.org.
bVYOUcnXII/rlYr2INPVWP6B+SWxd7O5qZtj
4Sij8bT2PpYpkgVQVxM0sQhpgMYTw1kkUBhC
EF0A8BoEDDp/aTuWVtt90TiimEADdcqrBks4
zCy4V8paT1B2AjP0JimO0Y+MY7uk4JzHbMpi
K+yYHfmvvX7Wa7aEBQWnVOBfU5Y= )3600
A59.106.173.70
3600
RRSIG
A 8 2 3600 20101023053503 (20100923053503 7623 skrd.org.
hSj0IkVbWQqP9nku9PQYMbEss/uz0JjrXmja
Y1cgxmpZhKkMBfw2Sjs2glhhKZudAoTflrkm
zIZFT+SMRd+NqufBqCRlvQ6HWPup/bvYH8h7
fs6JtY1GfAAhc+v1+eRfE9KFj74r8rf/eqGE
Kwy8nnPBZyxI6svEskY5U9q+rW0= )2010/11/10

24©2010 NTTPC Communications, Inc.

named.conf編集、リロード
zone "skrd.org" IN {署名済ゾーンファイルに書き換え
type master;
file "skrd.org.signed";};# rndc reload
server reload successful
ログ確認
zone skrd.org/IN: (master) removed
reloading configuration succeededzone skrd.org/IN: loaded serial 1285223703 (DNSSEC signed)
managed-keys-zone ./IN: loaded serial 0
reloading zones succeededzone skrd.org/IN: sending notifies (serial 1285223703)
client 202.212.225.201#33884: transfer of 'skrd.org/IN': AXFR-style IXFR startedclient 202.212.225.201#33884: transfer of 'skrd.org/IN': AXFR-style IXFR ended
2010/11/10

25©2010 NTTPC Communications, Inc.

自サーバにて確認$ dig skrd.org dnskey @127.0.0.1; <<>> DiG 9.7.2-P2 <<>> skrd.org dnskey @127.0.0.1;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48401;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0;; WARNING: recursion requested but not available;; QUESTION SECTION:;skrd.org.!!
!
IN!

DNSKEY;; ANSWER SECTION:
skrd.org.! !
3600!IN! DNSKEY!
257 3 8AwEAAcmreXb4nc7dhs1j8RMm7E70YDCwjohsEVIgkw2kCAi5ze3S/4kH gSUe2zaQ9zKUS1usssHssgVCcXuwqjbZDW+ZyOXQ+uia7+4/3m3aDa0F hLvJF7N5WGny7z194NAsuvKrt6xurMhFlnkIH8w4/kqDUvbl07jhV7fG
RO3b0MBzeFASlCIDU2mNOQs8Rk5TpVLhXx4OGcmbwoyKwI3IfBL0FBEt
2lYHqvNrOzo56PeBThvt6a9miYpd6VGmILfPKeJ/RXadwXb7cupn7npy vVLz7Z0l+7mlGfkLC1e7bLLpNPWvpsb6YOXstO0kkeBqZGjcAH5jkUAJ SYoduDSzyh8=
skrd.org.! !
3600!IN! DNSKEY!
256 3 8 AwEAAdb81Gi8EkBRQ61qP/
JbXeaLkRCCberyqZqHJDsety6ZYXGFbmVy m6pQfz232NexZVwj8BM6MuUlAWGF1X0V+520DDLAozYbG6HZ8PM/CPXl
Ab6O38l8fYtjFhAoiiyxf2oHr6xxiYCf0MQn4JxYeuItms59+2uKuBEJ ojLp4M2d;; Query time: 1 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Thu Sep 23 15:38:05 2010;; MSG SIZE rcvd: 450

2010/11/10

26©2010 NTTPC Communications, Inc.

上位へDSレコードを登録• dsset-ゾーン名.というファイルが自動生成• DSレコードが格納されている$ cat dsset-skrd.org.
skrd.org.! ! IN DS 27841 8 154953D271219D693165928729E6A1DA276A95F44
skrd.org.! ! IN DS 27841 8 2
4A4442A79C6EF582F5D93152CD19C7CD134AEF221D17F2
1E2B72FFFA 1C6A1681

2010/11/10

27©2010 NTTPC Communications, Inc.

GoDaddyの場合

空白を削除

2010/11/10

28©2010 NTTPC Communications, Inc.

再署名

• 署名には有効期限がある• RRSIGレコード右辺5つめのフィールド
3600 RRSIG SOA 8 2 3600 20101023031030• それまでに再署名を行う必要がある• ゾーンへの署名と同様の作業• 自動的実行等スケジューリング
2010/11/10

29©2010 NTTPC Communications, Inc.

鍵のロールオーバー• ZSK• Double signatures (二重署名方式)• Pre-publication (事前公開方式)• KSK• Double signatures (二重署名方式)• Double-DS(二重DS方式)• Double-RRSet (二重RRSet方式)
2010/11/10

30©2010 NTTPC Communications, Inc.

ZSKの更新(事前公開方式)
公開(publish)は今すぐ(例)使用開始は2週間後# dnssec-keygen -a RSASHA256 -b 1024 -P now -A now+2w skrd.org
Generating key pair......................................++++++
Kskrd.org.+008+41178

新ZSK

適宜変更

# dnssec-signzone -3 ec1069 -N unixtime -S skrd.org
Fetching KSK 27841/RSASHA256 from key repository.
Fetching ZSK 7623/RSASHA256 from key repository.
Fetching ZSK 41178/RSASHA256 from key repository.
Verifying the zone using the following algorithms: RSASHA256.
Zone signing complete:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 1 stand-by, 0 revokedskrd.org.signed

2010/11/10

rndc reload を忘れないように!

31©2010 NTTPC Communications, Inc.

ZSKの入れ替え• -Aで指定した期間が経過した後ならいつでも可能
別ディレクトリへ# mv Kskrd.org.+008+07623.* bak/# dnssec-signzone -3 ec1070 -N unixtime -S skrd.org
Fetching KSK 27841/RSASHA256 from key repository.
Fetching ZSK 41178/RSASHA256 from key repository.
Verifying the zone using the following algorithms: RSASHA256.
Zone signing complete:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revokedskrd.org.signed
rndc reload を忘れないように!

2010/11/10

32©2010 NTTPC Communications, Inc.

KSKの更新(二重署名方式)# dnssec-keygen -a RSASHA256 -b 2048 -f ksk skrd.org
Generating key pair.................+++ .....................+++
Kskrd.org.+008+17020

新KSK# dnssec-signzone -3 ec1071 -N unixtime -S skrd.org
Fetching KSK 17020/RSASHA256 from key repository.
Fetching KSK 27841/RSASHA256 from key repository.
Fetching ZSK 41178/RSASHA256 from key repository.
Verifying the zone using the following algorithms: RSASHA256.
Zone signing complete:
Algorithm: RSASHA256: KSKs: 2 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revokedskrd.org.signed# cat dsset-skrd.org.
skrd.org.!

!

rndc reload を忘れないように!

IN DS 17020 8 1 52F9E6AE3D4D90D61CC8F04935B5F45829C76BA1

skrd.org.!
!
IN DS 17020 8 2
E82664DBBC7C24826C1D29AA70F7708BB34FDFE29D52387B0D354554 F6A1E1A6
skrd.org.!

!

IN DS 27841 8 1 54953D271219D693165928729E6A1DA276A95F44

skrd.org.!
!
IN DS 27841 8 2
4A4442A79C6EF582F5D93152CD19C7CD134AEF221D17F21E2B72FFFA 1C6A1681

2010/11/10

33©2010 NTTPC Communications, Inc.

DSの入れ替え

2010/11/10

34©2010 NTTPC Communications, Inc.

KSKの入れ替え# mv Kskrd.org.+008+27841.* bak/# dnssec-signzone -3 ec1072 -N unixtime -S skrd.org
Fetching KSK 17020/RSASHA256 from key repository.
Fetching ZSK 41178/RSASHA256 from key repository.
Verifying the zone using the following algorithms: RSASHA256.
Zone signing complete:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revokedskrd.org.signed

2010/11/10

rndc reload を忘れないように!

35©2010 NTTPC Communications, Inc.

whois
Domain ID:D159715153-LROR
Domain Name:SKRD.ORG
Created On:22-Jul-2010 08:06:11 UTC
Last Updated On:23-Sep-2010 13:32:19 UTC
Expiration Date:22-Jul-2011 08:06:11 UTC
Sponsoring Registrar:GoDaddy.com, Inc. (R91-LROR)(略)
Name Server:CURRANT.SKRD.ORG
Name Server:CHERRY.SKRD.ORG(略)
DNSSEC:Signed
DS Created 1:23-Sep-2010 13:32:18 UTC
DS Maximum Signature Life 1:3456000 seconds
DS Key Tag 1:17020
Algorithm 1:8
Digest Type 1:2
Digest1:E82664DBBC7C24826C1D29AA70F7708BB34FDFE29D52387B0D354554F6A1E1A6
2010/11/10

36©2010 NTTPC Communications, Inc.

トラブル実例$ dig fail.skrd.org ns; <<>> DiG 9.7.2-P2 <<>> fail.skrd.org ns;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 36998;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;fail.skrd.org.!
!

!

IN!

NS

;; Query time: 5 msec;; SERVER: 124.146.194.76#53(124.146.194.76);; WHEN: Fri Sep 24 00:32:41 2010;; MSG SIZE rcvd: 31

checking disabled$ dig fail.skrd.org ns +cd; <<>> DiG 9.7.2-P2 <<>> fail.skrd.org ns +cd;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13357;; flags: qr rd ra cd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2;; QUESTION SECTION:;fail.skrd.org.!
!

!

IN!

NS

;; ANSWER SECTION:
fail.skrd.org.!
!

3572! IN!

NS!

;; ADDITIONAL SECTION:
cherry.skrd.org.! 3572! IN!
cherry.skrd.org.! 3572! IN!

返答あり
cherry.skrd.org.

A!
59.106.173.70
AAAA! 2002:3b6a:ad46::1;; Query time: 24 msec;; SERVER: 124.146.194.76#53(124.146.194.76);; WHEN: Fri Sep 24 00:32:46 2010;; MSG SIZE rcvd: 96

2010/11/10

37©2010 NTTPC Communications, Inc.

トラブルシューティング例$ dig fail.skrd.org rrsig +cd;; Truncated, retrying in TCP mode.
; <<>> DiG 9.7.2-P2 <<>> fail.skrd.org rrsig +cd;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19051;; flags: qr rd ra cd; QUERY: 1, ANSWER: 4, AUTHORITY: 1, ADDITIONAL: 2;; QUESTION SECTION:;fail.skrd.org.! !

!

IN!

RRSIG

署名の有効期限切れ;; ANSWER SECTION:
fail.skrd.org.! !
3600! IN!
RRSIG!NS 8 3 3600 20100923151356 20100923141056 2895
fail.skrd.org. djqAzjF09KTRQJa5N31HJCLAWrFW7hSlFVXbI1FZjP4ZSy2E106cAJYo HuYcRLoEALvKMbdM/
WIGOoMXqmQ1YBiMSNf1nXxjJZDM2nr06DeRGksY BO4v5t+3JIuKZIYnQ+XpfXThjDgJaKZPe8mjV9UaFuy5zEZMIKlfAQra
exc=
fail.skrd.org.! !
3581! IN!
RRSIG!DNSKEY 8 3 3600 20100923151356 20100923141056 2895
fail.skrd.org. UFEaIqSzfpkUyfI+lwmhtWjZGW4ZbMeEUWHK+HB0cK/edqK2tkwscXaQ
kbOtA0fjC9YJAuHWVyDtjhfIMbxBNLHIN3dhahmqTxaRs+8wZfgmYL84
DY8HpSo9KLw9Q3GiiaiRyXVfBjKXfHaZMyxOTFjd4tRv9+qHC4h0qOx8 5V0=
fail.skrd.org.! !
3581! IN!
RRSIG!DNSKEY 8 3 3600 20100923151356 20100923141056 64294
fail.skrd.org. OQgyVMYRDzDV8uRLX8bJrRr/9fBZiu1oZ8OrSTGMOYrn6kxLBNthUZRgozBXEDNUTtqqKVpr6RyCRfLhwcPjRGuy3AhQQmoG08NJakfRCdMDVjQW
P7VCqRgQAKNT3HWyeveToIFPu2voFt3QpMjkml4CY4cxXuq5LiYeiaxq
yLj3WsWxH8THHJx9gaTi2mQcSVGjJvUcpThYJlfdA0nxW7/dscVICmtM
qRB0yrmgtGylnFPUAYUn0ky07exFGXQvyFBgWfKtXZLqj//+YTkDXA3w GhN/0XFxkMRfb+N3htUFbcdOpQeIkIQYn+f2DUa3IyoIWUN8QHuQ9B7Y Imyaqw==
fail.skrd.org.! !
3578! IN!
RRSIG!DS 8 3 3600 20101023140723 20100923140723 41178 skrd.org.
OxRW/zwh1beUBTFa8VMgEPiXyfF3lrA4nRGxxOdu1YFtA55yS4NZPaet Qj7sWU0q3ZrdE/nKXHR2J/Nh8iUTa/+X+xRWNaH1xgwDhQcuhi/Ymn2/ SUEfmGBPcaTeMCHZd/SIfNtgPh1rysaHdqb7gs/7ZKi4X1SUTXQSm38l ARI=

2010/11/10

38©2010 NTTPC Communications, Inc.

チェックツール• 設定内容のチェック• 自組織内• dig example.jp. soa +dnssec など• 他組織からはどう見えているか?
• 信頼の連鎖が保たれているかどうか?
2010/11/10

39©2010 NTTPC Communications, Inc.

DNS-OARC ODVR

• The DNS Operations, Analysis, andResearch Center の Open DNSSEC
Validator Resolver• 自組織外からの検証に利用できる• resolv.conf に設定するやり方が紹介されているが、dig で @ 指定しても ok• https://www.dns-oarc.net/oarc/
services/odvr

2010/11/10

40©2010 NTTPC Communications, Inc.

digでの確認 via ODVR
$ dig skrd.org ns +dnssec @149.20.64.20; <<>> DiG 9.7.2-P2 <<>> skrd.org ns +dnssec @149.20.64.20;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 470;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 7;; OPT PSEUDOSECTION:; EDNS: version: 0, flags: do; udp: 4096;; QUESTION SECTION:;skrd.org.! !
!
IN!
NS;; ANSWER SECTION:
skrd.org.! !
3600! IN!
skrd.org.! !
3600! IN!
skrd.org.! !
3600! IN!

NS!
currant.skrd.org.
NS!
cherry.skrd.org.
RRSIG!NS 8 2 3600 20101023123033 20100923123033 41178 skrd.org. (略);; ADDITIONAL SECTION:
cherry.skrd.org.!3600! IN!
A!
59.106.173.70
cherry.skrd.org.!3600! IN!
AAAA! 2002:3b6a:ad46::1
currant.skrd.org.!
3600! IN!
A!
202.212.225.201
cherry.skrd.org.!3600! IN!
RRSIG!A 8 3 3600 20101023123033 20100923123033 41178 skrd.org. (略)cherry.skrd.org.!3600! IN!
RRSIG!AAAA 8 3 3600 20101023123033 20100923123033 41178 skrd.org. (略)currant.skrd.org.!
3600! IN!
RRSIG!A 8 3 3600 20101023123033 20100923123033 41178 skrd.org. (略);; Query time: 1243 msec;; SERVER: 149.20.64.20#53(149.20.64.20);; WHEN: Thu Sep 23 23:05:31 2010;; MSG SIZE rcvd: 812

2010/11/10

42©2010 NTTPC Communications, Inc.

VeriSign Labs DNSSEC Debugger• VeriSign Labs の DNSSECデバッグ用ツール• http://dnssec-debugger.verisignlabs.com/

2010/11/10

43©2010 NTTPC Communications, Inc.

DNSViz• A DNS visualization tool
• ゾーンを視覚化するツール• 米国エネルギー省サンディア国立研究所• http://dnsviz.net/
2010/11/10

45©2010 NTTPC Communications, Inc.

DNSSEC Validator• CZ (チェコ) NIC LABS 製• FireFoxのアドオン• リゾルバ(DNSSEC検証サーバ)を指定• 接続先のドメイン名のDNSSEC検証結果を鍵マークで表示• http://www.dnssec-validator.cz/
2010/11/10

47©2010 NTTPC Communications, Inc.

.jpの対応• JPRSの発表より• JPゾーンにおけるDNSSEC署名開始の日付を2010年10月17日に、JPドメイ
ン名サービスへのDNSSEC導入の日付を2011年1月16日に決定しました。

• http://jprs.jp/info/notice/20090709-dnssec.html• あと2か月です
2010/11/10

49©2010 NTTPC Communications, Inc.

jpのDNSKEY$ dig jp. dnskey;; Truncated, retrying in TCP mode.
; <<>> DiG 9.7.1-P2 <<>> jp. dnskey;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54132;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;jp.! !
!
!

IN!

DNSKEY;; ANSWER SECTION:
jp.! !
!
32967!IN!
DNSKEY!
256 3 8 AwEAAbYhrQMQH9ItfsO/SFNAFVwpV669OF9+FGtEe5IOTuajY871KONN
qqyojToAiyQSTmhibS7q1zaNNx4cZlQwl/PvF4yVwYU51OYPs5SsMntZ lWTkebDpTbfyVzPkKZ2brrS/+6QOmxB5IpqzdbdLc/
mjH6UWVWOgrG+C BSmD9PoX
jp.! !
!
32967!IN!
DNSKEY!
256 3 8 AwEAAcxWIhw/wv6vwbOKO+umDTP+cPMkoRykho4kLyccg6MB8XkXMThB
Nd1GXEolvzuyd/RAjGJqo2mdzxLyq3T54NTE9iIezmFhM00LWNLFH8rS zhx0PyIid3GJT/
SQnH4wqdaYZ3gVEzGfriWFWP3u2LqntGjdTr9+rdAf 0V+ekrEj
jp.! !
!
32967!IN!
DNSKEY!
256 3 8 AwEAAfR82Pggt5LKS2i52o9erUXPjDEZ71OorqVyhvTbuIlfEuBQ/A9j
xGkI89gIsId2CadVfcBeUzz8RyowQPhnjGW6Zcap7s5fWq7+H6dECtEq h8Jgbe6sPlC27++yMHBBYcLtLOTVxRvQyDwds4rnfsVOzHYMkUu1wmOw GPkokqGz
jp.! !
!
32967!IN!
DNSKEY!
257 3 8 AwEAAbPUX+Fy7ONuMs8+HY77DX/qaI2ZCaGUNJRKDxdvk2XiecvXNu8u
pgjg9B9UH6fP6TRxE3NQ6iP3DeHkNSQCFeWa7ItBxY0gQyPZPJATzIc/ lWPcjWAwMOYUI/Un0KSq93suzUhS5sDjW6O7FWfURLYeAhg4zvDHEksC G0wULldI7qQENO/zKhtz1MpNDHjZrMdSbfPgCseodrfsgOlD+Br5Nz97
mSXg5RbYYhEJ9+yWcUA9YT/sYMNr7JRRzd71UIIIbvo5Th+YM+f34s+O
0JTqwOyvNmehlRElvyTyicvk6db80PLTslWLHSNrUkI06Yo9JyHuitcQ KumIGnA8tO8=;; Query time: 0 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Wed Nov 10 16:05:32 2010;; MSG SIZE rcvd: 740
2010/11/10

50©2010 NTTPC Communications, Inc.

日本での取り組み• DNSSECジャパン• 2009/11/24設立• DNSSECの導入と普及のため• DNSSECに関わるプレイヤーの集う場• 相互扶助• ISP、IXP、ホスティング、ドメイン事業者、ベンダ、各種団体など31組織• 活動は2011/3までの予定• http://dnssec.jp/
2010/11/10

51©2010 NTTPC Communications, Inc.

活動内容• ハンズオンセミナー• RFC輪講• Appendixの関連RFC資料掲載• 技術検証• 主に運用における課題整理• ノウハウ蓄積• 成果を公開• 参加組織募集中
2010/11/10

53©2010 NTTPC Communications, Inc.

イベント予定• Internet Week 2010
• 2010/11/24(水)〜26(金)• 11/25(木)はDNS DAY• 富士ソフトアキバプラザ• http://internetweek.jp/• SecurityDay 2010
• 2010/12/22(水) 13:00〜• http://securityday.jp/
2010/11/10

54©2010 NTTPC Communications, Inc.

まとめ

• .jpの対応まで、あと2か月• 運用への落とし込みはこれから• TTL等の細かなパラメータ• 鍵の危殆化、 ドメイン移転• トラブルシューティング手法• 事業者間の連携が必須
2010/11/10

55©2010 NTTPC Communications, Inc.

Q&A

• ご清聴ありがとうございました。
• any questions ?

2010/11/10

56©2010 NTTPC Communications, Inc.

Appendix• 関連RFC一覧• Unbound• NSD

2010/11/10

57©2010 NTTPC Communications, Inc.

関連RFC一覧
4033 DNS Security Introduction and Requirements.

DNSセキュリティ拡張の紹介とその要件

4034 Resource Records for the DNS Security Extensions.

DNSセキュリティ拡張で使用するリソースレ
コード4035 Protocol Modiﬁcations for the DNS Security Extensions.

DNSセキュリティ拡張のためのプロトコル修正

5011

Automated Updates of DNS Security (DNSSEC) Trust
Anchors.

DNSSECトラストアンカーの自動更新

5155

DNS Security (DNSSEC) Hashed Authenticated Denial of
Existence.

ハッシュ化された認証による存在否定 (NSEC3)4641 DNSSEC Operational Practices.

DNSSEC運用上の慣行

i-d

DNSSEC Operational Practices, Version 2.

DNSSEC運用上の慣行 バージョン2

Use of SHA-256 in DNSSEC Delegation Signer (DS)DNSSECのDSリソースレコードにおけるResource Records (RRs).

SHA-256の利用

Use of SHA-2 Algorithms with RSA in DNSKEY and RRSIGDNSKEYとRRSIGにおけるSHA-2アルゴリズム

Resource.

の使用について

4509
5702
4431
4986

The DNSSEC Lookaside Validation (DLV) DNS Resource
Record.

DNSリソースレコード「DLV」

Requirements Related to DNS Security (DNSSEC) Trust

DNSSECトラストアンカーロールオーバーに関Anchor Rollover.

する要件

5074 DNSSEC Lookaside Validation (DLV).

DNSSEC Lookaside Validation (DLV).

i-d

DNSSEC鍵運用タイミングの考察

DNSSEC Key Timing Considerations

2010/11/10

58©2010 NTTPC Communications, Inc.

Unbound• NLnet Labs他4組織で開発• BINDの代替、DNSサーバの多様性• 現在はNLnet Labsにて保守• キャッシュサーバ• 権威サーバの機能もある• http://www.unbound.net/• http://unbound.jp/
2010/11/10

59©2010 NTTPC Communications, Inc.

Unbound: インストール# yum -y install gcc openssl-devel$ wget http://www.unbound.net/downloads/
unbound-1.4.6.tar.gz$ tar zxf unbound-1.4.6.tar.gz$ cd unbound-1.4.6/$ ./configure --prefix=/usr/local/$ make# make install# /sbin/ldconfig# groupadd -r unbound# useradd -r -g unbound -d /var/unbound -s /sbin/nologin -c "unbound name daemon" unbound2010/11/10

62©2010 NTTPC Communications, Inc.

Unbound: unbound-control• BIND の rndc 的ツール
• ネットワーク経由でUnboundサーバをコントロール可能• 設定• /usr/local/sbin/unbound-control-setup
実行で設定ファイル自動生成

2010/11/10

63©2010 NTTPC Communications, Inc.

Unbound: 設定/usr/local/etc/unbound/unbound.conf に下記設定
server:interface: 192.0.2.5
access-control: 192.0.2.5 allow
auto-trust-anchor-file: "anchors/root"
remote-control:
control-enable: yes

rootのトラストアンカー
RFC5011的に更新/usr/local/etc/unbound/anchors/root. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32
F24E8FB5 (紙面の都合で開業されていますが一行で)2010/11/10

64©2010 NTTPC Communications, Inc.

Unbound: 起動# /usr/local/sbin/unbound-control-setup# unbound-control start# ps axww|grep unbound9752 ?
Ss
0:00 unbound -c /usr/
local/etc/unbound/unbound.conf# tail /var/log/messages
Sep 22 13:15:46 baguette unbound: [9752:0]
notice: init module 0: validator
Sep 22 13:15:46 baguette unbound: [9752:0]
notice: init module 1: iterator
Sep 22 13:15:46 baguette unbound: [9752:0]
info: start of service (unbound 1.4.6).
2010/11/10

65©2010 NTTPC Communications, Inc.

NSD

• オランダのNLnet Labsで開発• 権威サーバ機能に特化• ゾーンファイルの書式はBIND同様• 鍵生成ツール、署名ツールもBINDのものを利用可能• http://nlnetlabs.nl/projects/nsd/
2010/11/10

66©2010 NTTPC Communications, Inc.

NSD: インストール# yum -y install gcc openssl-devel$ wget http://nlnetlabs.nl/downloads/nsd/
nsd-3.2.6.tar.gz$ tar zxf nsd-3.2.6.tar.gz$ cd nsd-3.2.6/$ ./configure --prefix=/usr/local/$ make# make install

2010/11/10

68©2010 NTTPC Communications, Inc.

NSD: 設定
/usr/local/etc/nsd/nsd.conf に下記設定
server:ip-address: 192.0.2.5
username: named
zone:
name: example.jp
zonefile: example.jp.signed
provide-xfr: 192.0.2.6 NOKEY

2010/11/10

69©2010 NTTPC Communications, Inc.