DNS

PLESK 環境で DNSSEC を使う

手元の CentOS サーバ上の Plesk Obsidian のドメイン管理で DNSSEC 対応できるということで試してみました。

Plesk DNSSEC 拡張の追加

拡張で「Plesk DNSSEC」を取得、インストールします。
この拡張のライセンスは、Web Pro および Web Host ライセンスエディションでは 無料 で提供されます。Web Admin エディションでは有料だそうです。

また、実際は bind で稼働していますので、bind の設定で明示的に dnssec を無効化しないでください。

Plesk DNSSEC 設定

デフォルト設定のままでよさそうです。鍵のロールオーバー期間については長くしておいた方が手間いらずだとは思いますが、期間内の任意のタイミングで手動操作できないので要注意です。
また、KSKをロールオーバーする都度上位サーバへのDS登録(後述)が必要になります。

ドメイン設定

DNSSEC拡張をインストールするとドメインの更新画面に DNSSEC が表示されるようになります。
これをクリックするとそのドメインでのDNSSECパラメータを設定することができます。
デフォルト表示は前項で設定した内容が表示されるので、問題なければそのまま[OK]します。
ロールオーバー期間の最短は KSKで38日、ZSKで75日でした。通常はZSKに比べてKSKの鍵サイズを大きめ、ロールオーバー期間を長めに設定します。

DS登録

ドメイン設定を完了すると DSリソースレコードが表示されます。
これを上位サーバに登録するわけですが、その前にやることがあります。
個人的には

正常性確認

当該ドメインのwhois登録された(これから登録する) nameserver がちゃんとDNSSEC応答するかを確認する。
https://dnscheck.jp/

ドメイン名を入力し、「ネームサーバー設定の事前チェック」をチェック、ネームサーバホストを必要数指定、署名鍵欄にDSリソースレコードを必要数入力して[検証]をクリックする。
チェック結果詳細の中で、重要度欄が[OK]もしくは空白のみになっていることを確認する。
エラーの状態から変わらないようであればリソースレコードを適当に追加したりしてゾーンを更新してみる。

DS登録

エラーがなく、OK(空白)状態であればDSリソースレコードを上位サーバに登録する。
ここは自身で作業できない場合、利用しているドメイン事業者やレジストラに依頼することになります。

鍵更新

特に何かすることもなく ZSK が更新され、各リソースレコードが新しいZSKで署名されるようになります。
KSKも自動で更新されますが、前述のとおり、生成される DSリソースレコードを上位サーバに再登録(更新)する必要があります。これを放置するとしばらくのち署名エラーとなり名前解決ができなくなります。
(なので、KSKの更新期間を数年とか数十年とか長くしておくとDS更新が要らなくはなりますが……)

なお、KSKがロールオーバーされると以下のようなメールが届くので、速やかに更新作業を行うようにします。

署名解除

名前解決で異常があったときや他の(他社の)ネームサーバに移転するときは署名を解除するのが手っ取り早いです。(それでいいのかは置いといて……)
手順としてはドメインのDNSSEC設定で「署名解除」ボタンを押すことですが、それよりも先に必ず行うべき重要なことがあります。
※DSリソースレコードの TTL時間があとで必要になるので事前に把握しておいてください。
上位サーバに登録してある署名鍵 (DS リソースレコード)を削除して whois情報の[Signing Key]が空欄になったことを確認します。
署名解除は whois 情報から[Signing Key]の値がなくなったあと、DSリソースレコードの TTL時間以上経過してから行うのが望ましいですが、そもそも署名エラーになっている場合はサクッと解除してしまってもいいのかもしれません。(ただし、それまで正常に名前解決できていたところがあればそこも失敗になってしまう可能性が出てきますが……)

補足

内部的には bind に対して関連コマンドを発行して運用しているようなので、bindに明るい人であれば署名解除せずに移転(収容ネームサーバ変更)したりできるかもしれませんね。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA