update
2010年04月06日
前回は、DNSSECそのものの設定でした。今回は、それにDynamic Update(動的更新)の機能を組み込む。
DNSのDynamic Updateは、ホストが自分のホスト名とIPアドレスをDNSのゾーンに自動で登録することのできる機能である。
DHCPでIPアドレスを動的に割り当てられたホストのIPアドレスを、第三者が知ることは難しい。
当該ホストが起動時にIPアドレスを割り当てられた後、自分のホスト名とIPアドレスをDNSに申告し登録してもらえば、第三者はそのホスト名を頼りにIPアドレスを知ることが出来る。
ここでは、DNSSECで保護されているゾーンファイルにDynamic Updateを適用する方法をまとめる。
といっても、特別なことはなく、ゾーンレコードのupdateが起きるとDNSは自動でゾーンの再署名をやってくれる。
1.Dynamic update用の鍵の作成
dnssec-keygenコマンドで鍵ペアを作る。DNS Updateは、updateを申告する側とDNS側で同じ鍵を持つ事前共有鍵方式である。ここで作った鍵ペアの秘密鍵(.private)を使う。
|
Kdynamic1.+157+55555
と表示され、*.keyと*.privateの鍵ペアができる。
|
|
2.プライベート鍵の読み込み
named.confに*.privateファイルを登録する。
ここではdynamic1.privateというファイルを用意し、それをinclude文でnamed.confに読み込ませる。
|
|
3.named.confのゾーン定義ブロックに、updateを許可する行を追加する
|
4.namedの設定再読み込み
|
5.ファイルパーミッション
ゾーンファイルのパーミッションが、namedプロセスの実行IDで書き込み権があることを確認する。
また、公開鍵秘密鍵共に読込み権があるかも確認する。
6.テスト更新
テストスクリプトの用意
|
↑最後には必ず空の改行(行頭に改行)をいれておく。それがないとupdate queryが飛ばない。
updateの実施
(1)パターン1
|
(2)パターン2
|
パターン1と2では、与えている鍵は同じだが、記述形式が異なる。
パターン1の場合、Kddns.+157+55555.keyも存在しないといけない。
updateをするときTSIGは共有鍵方式の認証なので、公開鍵は使っていない(と思う)。 *.keyがなぜ必要かは、いまいち理解できていない。
自動的にSIG(0)を使っている?
7.更新の確認
更新がsuccessしたら、登録したホストがひけるか確認。
|
エラーなく、無事にAレコードがひけたら成功。
- ブログネタ:
- Linuxに関する運用 に参加中!