LinuCレベル2 DNSサーバー 問16
DNSサーバー/セキュアなDNSサーバーの実現BINDでDNSSECに対応したゾーンを手動で準備するときの、dnssec-keygenとdnssec-signzoneの使い方の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「DNSサーバー」に対応。実際の試験問題ではありません)
- Adnssec-signzoneで鍵ペアを作り、dnssec-keygenでその鍵を使ってゾーンに署名する
- Bdnssec-keygenはTSIG用の共有鍵専用で、ゾーン署名用の鍵はrndc-confgenで作る
- Cdnssec-signzoneはリゾルバ側で動かし、受け取った応答の署名を検証するコマンドである
- Ddnssec-keygenでZSKやKSKを作り、dnssec-signzoneでその鍵を使ってゾーンに署名する
正解:D
解説
DNSSECでは、ゾーン内のレコードに署名するZSK(ゾーン署名鍵)と、DNSKEYレコードの集合に署名するKSK(鍵署名鍵)を使うのが一般的です。dnssec-keygenでこれらの鍵ペアを生成し、dnssec-signzoneでゾーンファイルに署名すると、RRSIGやNSECなどを含む署名済みゾーンファイル(既定では元のファイル名に.signedが付いたもの)が作られます。namedにはこの署名済みファイルを読み込ませます。KSKに対応するDSレコードを親ゾーンに登録することで、信頼の連鎖がつながります。なお、現在のBINDではdnssec-policyによる自動署名も使えます。
選択肢ごとの解説
- A誤り。役割が逆です。鍵ペアを作るのがdnssec-keygen、ゾーンに署名するのがdnssec-signzoneです。
- B誤り。dnssec-keygenはDNSSEC用の鍵を生成するコマンドです。rndc-confgenはrndcとnamedの間の通信に使う鍵を作るコマンドで、ゾーン署名用ではありません。
- C誤り。dnssec-signzoneは権威サーバー側でゾーンに署名するコマンドです。応答の署名検証はリゾルバ(dnssec-validation等の設定)が行います。
- D正しい。dnssec-keygenでZSKやKSKを生成し、dnssec-signzoneでそれらを使ってゾーンに署名し、署名済みゾーンファイルを作ります。