小規模なDNSSEC遊び --- 私のDNSSEC対応 ---
藤原和典 2009/8/30, last updated 2010/7/7
現在、多くのTLDは一般庶民のDS登録を受け付けてくれません。
DLVはPKI証明書に似たモデルで、DLVを提供する事業者により各組織の
鍵情報(DS)が署名されます。そのため、DLV提供事業者のポリシー次第ですが一
般庶民でも鍵情報の登録を受け付けてもらえます。
BINDの開発元のISCはDLVサービスを現在は無償で提供してるようです。
私は一庶民として、ISCのDLVでDNSSEC遊びをはじめてみました。
ISCのDLVを用いてDNSSEC遊びをした手順をまとめてみます。
ISC DLVの使いかたは、ここに詳細に書かれています。
ISC DLVによるDNSSEC検証設定
注: 以下を実施するとすべての検索でDLV検証が有効になります。
- BIND 9.7の導入
現在最新のBIND 9.7.1-P1を導入します。
- configure --with-openssl=yes; make; make install
- configureオプションでOPENSSLを有効にすること
- named.confの変更
- options中に以下の三行を追加してDNSSEC応答、検証を有効にします。
- dnssec-enable yes;
- dnssec-validation yes;
- dnssec-lookaside auto;
- options中で指定しているBINDのwork directoryを書きこみ可能にします。例:
- options中のdirectory指定を"/etc/namedb/working"あたりに変更
- named.conf中で相対パスで指定しているものを修正する。絶対パスに変更してもよい。
- /etc/namedb/workingをnamedから書きこみ可能にする。例:
- mkdir /etc/namedb/working
- chmod 755 /etc/namedb/working
- chown bind:bind /etc/namedb/working;
- namedを再起動
- BIND 9.3, 9.4あたりでpid-fileのデフォルトが変わってますので注意
- この段階でDLVでの検証が有効になります。
- DLVでのDNSSEC検証の評価
- www.isc.orgや、www.dotgov.gov、dnslab.jpなどを検索する。
- dig +dnssec www.isc.org a などとし、flags: に "ad" が含まれていれば正しく検証されている。エラーなどが出たらなにか異常がおきている可能性がある。
BIND 9.6で試す場合は、dnssec-lookaside autoだけではできませんのでISC DLVのページをよくよんでください。
自ゾーンのDNSSEC対応と、ISC DLVへの登録
- BIND 9.6あるいは9.7の導入します。
- named.confを以下の通り変更します。
- options中に以下の二行を追加します。
- dnssec-enable yes;
- dnssec-validation yes;
-
- BINDのDNSSECツールはそのままで使うには不便です。
そこで小さなシェルスクリプトを書いてみました。
必要があればダウンロードして遊んでください。
dnsseczonetoolです。
- dnsseczonetool.confに個別設定を行ない、同じディレクトリに起きます。
- dnssec-keygen、dnssec-signzoneコマンドの場所を変更します。
- ゾーンファイルやキーファイルを置くディレクトリをMASTERDIRに指定します。標準は/etc/namedb/master/
- その他必要な修正を行なう
- ゾーンファイルを以下の通り変更します。dnsseczonetoolは以下の設定を仮定しています。
- ゾーンファイルの置場を /etc/namedb/master としました。
- ゾーンファイル名をゾーン名と一致させます。
- named.confを以下の通り変更しました。
- ゾーンファイルの置場を上記とあわせました。
- zone設定中のゾーンファイル名を、ゾーン名.signed としました。
-
Rootにて、以下のコマンドを起動し、鍵生成を行ないます。
- dnsseczonetool keygen ゾーン名
-
Rootにて、以下のコマンドを起動し、ゾーンへの署名を行ないます。
dnsseczonetool signはrndc reloadしますので、すぐ反映されます。
-
毎週ぐらいの頻度で定期的に "dnsseczonetool sign ゾーン名" を実行するよう設定しす。
- このあと、ISC DLVの設定をおこないます。
- ISC DLV pageにアクセス
- Registarでアカウント生成
- Manage Zones
- Add Zoneで、ゾーン追加
- Add DNSKEY RecordでDNSKEY(公開鍵)登録
- dlv.ドメイン名 に TXT を追加すると認証するといわれるのでゾーンファイルにコピーして署名、reloadします
- しばらく待つと ドメイン名.dlv.isc.org にDLV RRが追加されます
dnsops.jp 2009/9/4資料
dnsops.jp 2009/11/24資料
dnsseczonetool
この文章についての連絡先は、藤原まで。