CAA レコードの書き方
このドメインの証明書を発行してよい認証局を指定するレコードです。
| 名前 | 種別 | 値 | TTL |
|---|---|---|---|
| (空欄) | CAA | 0 issue "letsencrypt.org" | 3600 |
CAA が 1 件も無ければ、どの認証局も証明書を発行できます。
値の読み方
- 0フラグ。通常は 0 です。
- issueタグ。issue は証明書の発行許可、issuewild はワイルドカード証明書の発行許可、iodef は違反の通知先です。
- "letsencrypt.org"許可する認証局のドメイン名。二重引用符で囲みます。認証局の案内に記載があります。
こう書く
| やりたいこと | 名前 | 種別 | 値 |
|---|---|---|---|
| 1 つの認証局だけに許可する | (空欄) | CAA | 0 issue "letsencrypt.org" |
| 2 つの認証局に許可する | (空欄) | CAA | 0 issue "letsencrypt.org" |
| (空欄) | CAA | 0 issue "ca.example.net" | |
| ワイルドカード証明書は別の認証局に限る | (空欄) | CAA | 0 issuewild "ca.example.net" |
| どの認証局にも発行させない | (空欄) | CAA | 0 issue ";" |
| 違反の通知をメールで受け取る | (空欄) | CAA | 0 iodef "mailto:security@example.jp" |
TTL はすべて 3600 の例です。ルートドメインに置いた CAA は、サブドメインの証明書にも効きます。
間違えやすい点
- ✕使っている認証局を書き漏らすホスティングやサービス側が自動で発行する証明書も対象です。漏れた認証局は発行も更新もできなくなります。
- ✕値に URL を書く、引用符を外すhttps://letsencrypt.org ではなく、"letsencrypt.org" と書きます。
- ✕サブドメインにも CAA を置き、ルートの許可が効くと思うサブドメインに CAA があると、そのサブドメインではルートの CAA は見られません。必要な認証局をすべて書きます。
設定後の確認
コマンドで問い合わせると、置いた CAA がそのまま返ります。
dig example.jp CAA +short
0 issue "letsencrypt.org"証明書そのものの期限や発行元は SSL 証明書チェックで確認できます。
よくある質問
CAA は必ず設定するものですか?
必須ではありません。置かなければ、どの認証局も発行できる状態のままです。発行元を限りたいときに設定します。
issuewild を置かないとワイルドカード証明書はどうなりますか?
issue の指定がそのまま使われます。issue で許可した認証局は、ワイルドカード証明書も発行できます。