Gehirn DNS で CAA レコードを設定する

SSL Server Test (Powered by Qualys SSL Labs)で CAA の項目が No になっているのが気になっていたのでCAAレコードの登録をしてみました。

以前は、Gehirn DNS は CAA レコードの登録に対応していなかったのですが、昨年10月に対応がされていたことに気付いたので、ではやってみようか、といった感じで設定を行いました。

そもそも CAA って?

CAA (Certificate Authority Authorization)は、RFC6844で定義されているDNSリソースレコード特定のドメイン名に対して、どのCAが証明書を発行できるのかを制限するPKI環境でのセキュリティ強化となります。

RFCはなかなか読むのが大変なので解説してくれているブログなどが参考になってしまいますが😅
DNS の CAA レコードに認証局を登録することで、ドメインの証明書を発行できる認証機関を制限し、意図しない認証局が証明書を発行することを防ぐ仕組みのようですね。

このサイトで使用している証明書は FUJISSL なのですが、次回更新時は CAA レコードの確認をしてくるとサポートサイトに書いてありました。

遅かれ早かれ作業は必要になっていたわけですね。

まだまだ普及している状態ではないようですが、できることはやっておくの精神で私も自分の管理しているドメインについて登録をしてみました。

CAA レコードの登録

Gehirn DNS のコントロールパネルで CAA レコードの登録フィールドがあるので、初めての場合は【+】を押してレコードを追加します。
各パラメーターですが私の場合は、

  • 認証局 (issue) : FUJISSL → secomtrust.net
  • ワイルドカード証明書を発行する認証局 (issuewild) : なし → “;"
  • エラーがあった際に通知する先 (iodef) : 自分のメアド → u1@u-1.net

としました。

Gehirn DNS で CAA レコードを登録

登録のチェック

dig でレコードが正しく登録されているかチェックします。

$ dig caa @8.8.8.8 u-1.net

; <<>> DiG 9.10.6 <<>> caa @8.8.8.8 u-1.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7130
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;u-1.net.			IN	CAA

;; ANSWER SECTION:
u-1.net.		299	IN	CAA	0 iodef "mailto:u1@u-1.net"
u-1.net.		299	IN	CAA	0 issuewild ";"
u-1.net.		299	IN	CAA	0 issue "secomtrust.net"

;; Query time: 257 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Mar 23 17:52:56 JST 2019
;; MSG SIZE  rcvd: 129

SSL Test でも問題ないようです。

SSL Test で CAA が有効化されている

サブドメインを登録しようとするとエラーが出る?

本当は、実際に使っているサブドメイン(www.u-1.net)でのみ CAA を有効にしようとしたのですが、Gehirn DNS のレコード追加で、www とだけ入れて追加するとエラーになってしまって登録できなかったので諦めました。
何かやり方が間違っているのでしょうか。
Gehirn DNS のサポートサイトでもこの辺は分かっている前提で書かれているのでエラーとだけ表示されてしまっても何が原因か突き止めづらいなあという感じです。

今回は、個人的なサイトの管理だったので、ドメイン全体を指定しても問題なかったですが、柔軟な運用をしようとするとハマる可能性があったりする?