今年中にDNSSECを実装を目指す、というお話を見たので、先に実装してみることにしました(ぉぃ)
手順としてはそれほど難しくない、というか、ある意味「本家」に当たるところが英文ながらガイドを出してくれてます。検証ツールまで出ています。
手順としては、おおむねこんな感じ(リンク先を読んだ方が正しいよ)
- KSK(key signing key)とZSK(zone signing key)を生成する
- ISCのサイトにログインし(アカウントを用意する必要あり)、ZSKを登録しておく
- 各設定ファイル(named.conf周辺とゾーン定義ファイル)に必要な修正を加える
- KSK/ZSKを使って、ゾーン定義ファイルに署名を追加する
- 追加したゾーン定義ファイルを有効にする(サーバの再起動、設定の読み直しなど)
鍵生成などで/dev/randomを使うところは、乱数生成源が不足すると、Linuxではブロッキングするという事態を招く(=すごく時間がかかる)ので、/dev/urandomを使うというのもありかもしれません。また、セカンダリを使っている場合、署名以外のデータが更新されていない場合にゾーン定義がスレーブに伝わらないという事態を招くことになるので、けっこう嫌なことになったりします。
ということで、いろいろと策を講じました。
- 本来の定義ファイル→署名済みファイルに更新するためのMakefileを作った
- シリアル値epoch秒から生成するように調整し、Makefileの中で処理するようにした
つまり、手を入れている本来のゾーン定義にはシリアルが空欄(正確にはシンボル)であり、make実行の際に、epoch秒ベースの中間ファイルが生成され、そこから署名済みファイルができる流れ。その後サーバが再起動され、notificationによりスレーブもデータを更新するという流れ。Makefileが見たいという方がいれば、稚拙なものですが見せても一応大丈夫、と。
署名自体に有効期限が設定されていると言うこともあるので、週1に更新されるように仕組みを作り、組み込んでみました。
| DNS & BIND 第5版 | |
![]() | 小柏 伸夫 おすすめ平均 辞書的に使えます DNS管理をするならこれを読め Amazonで詳しく見る by G-Tools |


辞書的に使えます
DNS管理をするならこれを読め 

