過去問ドリル

LinuCレベル2 DNSサーバー 問22

DNSサーバー/セキュアなDNSサーバーの実現

BIND 9.16以降の環境で、プライマリとセカンダリの間のゾーン転送をTSIGで認証するため、共有鍵(HMAC-SHA256)を生成し、named.confにそのまま書けるkey文の形で出力したい。使うコマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「DNSサーバー」に対応。実際の試験問題ではありません)

正解:D

解説

tsig-keygen はTSIG用の共有鍵を生成し、key "鍵名" { algorithm hmac-sha256; secret "…"; }; の形で出力します。既定のアルゴリズムはHMAC-SHA256です。以前はdnssec-keygenでHMAC鍵を作る手順が広く紹介されていましたが、BIND 9.13以降のdnssec-keygenはHMAC鍵を生成できません(RHEL 9はBIND 9.16、Debian 12は9.18)。生成した鍵は両サーバーのnamed.confに書き、allow-transferやserver文で使います。

選択肢ごとの解説

  • A誤り。dnssec-keygen は現在のBINDではDNSSEC用の鍵(ZSKやKSK)を生成するコマンドで、TSIG用のHMAC鍵は生成できません。
  • B誤り。dnssec-signzone は、DNSSECの鍵を使ってゾーンに署名するコマンドです。
  • C誤り。dnssec-dsfromkey は、KSKから親ゾーンに登録するDSレコードを作るコマンドです。
  • D正しい。tsig-keygen はTSIG用の共有鍵を生成し、named.confに書けるkey文の形で出力します。
LinuCレベル2の問題を演習モードで解く