2017年8月21日 Amazon Route 53 が、DNS CAA(Certification Authority Authorization)リソースレコードに対応しました。CAAレコードを登録することにより、自分が所有しているドメインの証明書を発行できる認証局(CA)を指定することができます。さっそく Amazon Route 53 に CAA レコードを登録してみたので手順をメモしておきました。
今回設定する CAAレコード
CAAレコードを作成するには、SSLMate の「CAA Record Generator」が便利です。CAAレコード登録するドメイン名を入力して証明書の発行を許可する認証局を選択するだけで、CAAレコードを生成してくれます。
今回 CAAレコードを設定するドメイン名は「blog.apar.jp」です。このドメイン名に対して証明書を発行できる認証局を Let's Encrypt に限定する CAAレコードは次のようになります。
blog.apar.jp. IN CAA 0 issuewild ";"
blog.apar.jp. IN CAA 0 iodef "mailto:sample@example.com"
issue
証明書を発行できる認証局のドメイン名を指定します。
issuewild
ワイルドカード証明書を発行できる認証局のドメイン名を指定します。上のように「issuewild ";"」としている場合は、どの認証局からもワイルドカード証明書を発行してくれるな!という意味になります。
iodef
認証局からの連絡先を指定します。おかしな証明書要求があった場合などの報告先として使われることがあります。iodef はオプションですので登録しなくても構いません。(実際あまり使われてないようです CAAレコードが登録されている google.com や digicert.com にも iodef は指定されていません)
また、証明書を発行できる認証局は、下のように複数指定することも可能です。
blog.apar.jp. IN CAA 0 issue "digicert.com"
Amazon Route 53 に CAA レコードを登録
Nameにサブドメインの「blog」を入力、Typeは当然ですが「CAA」を選択します。ValueにはCAAレコードのフラグ「0」から先の部分を入力します。
CAAレコードの確認
CentOS7など新しめのOSに入っている dig コマンドは CAA レコードに対応していますので、リソースレコードタイプ「CAA」を指定すれば CAAレコードをが引けることを確認できます。
(略)
;; ANSWER SECTION:
blog.apar.jp. 300 IN CAA 0 issuewild "\;"
blog.apar.jp. 300 IN CAA 0 issue "letsencrypt.org"
dig コマンドが CAA レコードに対応していない場合は、CAAリソースに割り当てられているリソースレコードタイプ「TYPE257」を指定することで、エンコードされてはいますが CAAレコードが引けることを確認することができます。
(略)
;; ANSWER SECTION:
blog.apar.jp. 299 IN TYPE257 \# 22 000569737375656C657473656E63727970742E6F7267
blog.apar.jp. 299 IN TYPE257 \# 12 0009697373756577696C643B
おわりに
CA/ブラウザフォーラムは2017年9月8日以降、証明書を発行する際に CAAレコードを確認することを義務付けました。これはあくまで認証局(CA)の義務ですので、ドメイン所有者は CAAレコードを登録しなくても構いません。(CAAレコードがなければ、今まで通りどの認証局からでも証明書を発行できます)
しかしここ最近、認証局WoSign/StartCom が発行した証明書の信頼取り消し、Symantec が google.com の証明書を誤発行したことを発端とした Google ChromeチームのSymantec証明書の段階的失効提案、DigiCert の Symantec SSL証明書事業の買収など、認証局業界がなにかと騒がしいです。
今やWEBサイトにはHTTPSが必須となっています。ドメイン所有者は、信頼のおける認証局をしっかり見定め CAAレコードを登録することが求められそうですね。
コメント