By W.C.A. Wijngaards, NLnet Labs, February 2009.

つい先日、IANAはInterim Trust Anchor Repository, IANA ITARを公開した。 IANA ITARには、IANAが各トップレベルドメインに従来のDNSの委任を管理しているというかねてからの関係を通じて入手した、署名済みのトップレベルドメイン(.se, .br, …)のDNSSECの鍵が収録されている。 この手引きでは、unboundでIANA ITARを利用する方法を説明する。

DLVの使い方

一番簡単なのはDLVを有効にすることである。 ISC DLVの管理者はIANA ITARの内容を自動的にDLVのレポジトリに取り込み、最新の状態を維持する意思を表明している。 DLVには、加えて他のさまざまなドメインのDNSSECの鍵を収録している。

ISC DLVを有効にするにはDNSSECの鍵をダウンロードして、/usr/local/etc/unbound/dlv.isc.org.key(あるいは/etc/unboundなど、unboundをインストールした場所)に保存する。 dig dlv.isc.org DNSKEY | grep 257 > dlv.isc.org.keyとやって鍵を入手する方法もある。  /etc/unbound/unbound.conf(あるいは/usr/local/etc/unbound/unbound.conf)のserver:行以降のどこかに、以下の内容を追加する。

        # DLVのtrusted keyを格納したファイル
        dlv-anchor-file: "dlv.isc.org.key"

これでunboundはIANA ITARの内容が含まれているISC DLVを利用するようになる。

ITARのマスタファイルの使い方

IANA ITARはトップレベルドメインに関するレコードを含むマスタファイルを公開している。 そのファイルは変更を反映して定期的に更新されるので、例えば月に1回、変更に注意を払う、何らかの自動的な方法が必要である。 筆者はそのようなスクリプトを作成して、ローカルの環境で利用している。

そのスクリプトupdate-itar.shをunboundのtarball(のcontrib/の中)かsvnレポジトリから入手する。 (右クリック,名前をつけてリンク先を保存,それから実行可能にするため、chmod +x update-itar.shする)

このスクリプトは、鍵ファイルを取得し、IANA ITARのPGP公開鍵で検証する。 差分を表示する(ので、変更点はcronからのメールで確認できる)。 先頭の方のシェル変数の定義を変更すれば、他のPGP鍵やトラストアンカーのレポジトリを使うようにもできる。 配布物のデフォルトではIANA ITARのPGP鍵を使うようになっている。 このスクリプトは、新しい鍵を取得したり鍵を削除したり、(そのゾーンが署名なしに戻すことに決めたとして)署名をやめたゾーンの鍵を全部削除したりもする。

スクリプトをどこかにコピーしてインストールする。 ここではunboundは/usr/local/etc/unboundで動作している物として、スクリプトを/usr/local/etc/unbound/update-itar.shにコピーする。 unbound.confに次の行を追加する。

    trust-anchor-file: "/usr/local/etc/unbound/anchors.mf"

必要なら既存のトラストアンカーの定義は残してもよい。 その設定は新たな信頼を追加するが削除はしない。

rootの権限次のようにスクリプトを手動で実行する。

$ cd /usr/local/etc/unbound
$ ./update-itar.sh

この操作は正常に動作して、unbound-checkconfはエラーを出さないはずだ。 それからunbound-control reloadを実行すればよい。

続いて以下のcronジョブを登録する。

    cd /usr/local/etc/unbound; ./update-itar.sh && unbound-control reload

これでdig cz SOA +dnssecを実行してadフラグを確認しよう。