CAAレコード:証明書を発行できるCAを制御する
**CAA(Certification Authority Authorization)**レコードは、自ドメインの証明書を発行してよい認証局を指定するDNSエントリです。CAは発行前にこれを確認する義務があるため、利用していないCAから攻撃者が証明書を取得しようとしても被害を抑えられます。
書式
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
example.com. CAA 0 iodef "mailto:security@example.com"
| タグ | 意味 |
|---|---|
issue |
通常証明書の発行を許可するCA |
issuewild |
ワイルドカード証明書の発行を許可するCA |
iodef |
違反試行の報告先 |
issue ";"(空)はどのCAも発行不可を意味します。issue を複数置けば複数CAを許可できます。
なぜ設定するか
CAAは多層防御です。仮に別の検証が回避されても、準拠したCAは記載のないドメインの発行を拒否します。DNSレコード1つで、維持コストはかかりません。
DNSホストでCAAを追加し、稼働中の証明書とチェーンは当サイトの SSL/TLSチェッカー で確認しましょう。DNSレコード全般は DNSルックアップ を使います。関連: 証明書チェーン。
メモ: CAAは接続時にブラウザがではなく、発行時にCAが確認します。DNSSECやCAアカウントの堅牢化を補完するもので、置き換えるものではありません。