🔐 CAA レコード確認
CAA(Certification Authority Authorization)は、どの認証局に SSL/TLS 証明書発行を許可するかを DNS で宣言する仕組みです。誤発行リスクの低減に有効。issue / issuewild / iodef の 3 タグを表示します。
完全無料
登録不要
サーバー処理
ログ・DB 保存なし
レート制限あり
5 言語対応
ダークモード
📖 この診断で分かること
CAA レコードは「このドメインの証明書を発行してよい認証局はここだけだ」と DNS で宣言するものです。CA/Browser Forum の Baseline Requirements により、認証局は証明書を発行する直前に必ず CAA を確認する義務を負っています。この診断はそのレコードと、継承元になる親ドメインの CAA を取得します。ただしすでに発行済みの証明書を取り消す効果はありません。誤発行の検知は CT ログの担当です。
| 判定項目 | 何を見ているか | 引っかかったときの対処 |
|---|---|---|
| CAA レコードが無い | 無いことはエラーではありませんが、意味は「世界中のどの認証局が発行しても構わない」です。ドメイン管理者の意図しない CA から証明書が出ても、仕組みとして止まりません。逆に言えば、CAA を 1 行書くだけで発行できる CA を絞り込めます。 | 使っている CA の識別子を正確に書きます。example.com. IN CAA 0 issue "letsencrypt.org" のような形です。識別子を間違えると次回の更新が黙って失敗し、証明書が切れます。主なものは letsencrypt.org / digicert.com / sectigo.com / pki.goog / amazon.com で、必ず各 CA の公式ドキュメントで確認してください。 |
| issuewild を指定していない | issuewild が無いときは issue の内容がワイルドカード証明書にも適用されます。つまり issue を許可している CA は *.example.com も発行できます。ワイルドカード証明書は 1 枚漏れるだけで全サブドメインが偽装されるため、必要としないなら明示的に禁じる価値があります。 |
ワイルドカードを使わないなら example.com. IN CAA 0 issuewild ";" と書きます。セミコロン 1 つが「どの CA にも許可しない」の意味です。特定の CA だけに許すなら 0 issuewild "digicert.com" のように書きます。 |
| 親ドメインの CAA が効いている | CAA は問い合わせた名前に無ければ、見つかるまで親へ遡ります。shop.example.com に CAA が無ければ example.com のものが適用されます。この継承のせいで、「サブドメインだけ別の CA を使いたいのに発行できない」という詰まり方をします。 |
サブドメインで別の CA を使うなら、そのサブドメイン自身に CAA を置きます(子に 1 件でもあれば親は見に行きません)。証明書の取得が「CAA record prevents issuance」で失敗したときは、まずこの継承を疑ってください。DNS 側で CNAME を張っている場合は、CNAME 先の名前で CAA が評価される点にも注意が必要です。 |
CAA の内容自体は DNS で平文配布されるため、DNS を偽装できる攻撃者は CAA も偽装できます。実効的な防御にするには DNSSEC と併用してください。また CAA は「発行させない」仕組みであって「誤発行に気付く」仕組みではありません。実際に自分のドメイン名で発行された証明書を監視したいなら、Certificate Transparency ログを購読する(crt.sh の監視や Cert Spotter などの通知サービス)のが唯一確実な方法です。
🔗 関連ツール
- ・SSL / 証明書確認 — 実際に発行された証明書の発行者を確認
- ・DNS レコード確認 — A / AAAA / MX / TXT / SPF / DMARC を一括取得
- ・セキュリティ診断
- ・URL 総合診断