公開:

CAAレコード(Certificate Authority Authorization record)とは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


CAAレコード(Certificate Authority Authorization record)とは

CAAレコードはCertificate Authority Authorization recordの略称で、ドメイン名のSSL証明書を発行できる認証局(CA)を指定するためのDNSレコードです。CAAレコードを設定することで、ドメイン所有者は信頼できるCAのみがSSL証明書を発行できるようにコントロールできます。

CAAレコードは2013年に標準化されたもので、SSL証明書の不正発行を防ぐための重要な仕組みの1つとなっています。CAAレコードを設定していない場合、どのCAでもそのドメインのSSL証明書を発行できてしまう可能性があります。

CAAレコードの設定はDNSサーバーで行います。具体的にはCAAレコードのタイプ、フラグ、タグ、値を指定します。タグにはissue、issuewild、iodef などがあり、それぞれ証明書の発行条件や連絡先を指定するために使用されます。

CAAレコードの確認はSSLサーバー証明書の発行時に行われます。CAはSSL証明書の発行前に、そのドメインのCAAレコードを確認し、自身が証明書を発行できるかどうかをチェックします。

CAAレコードはSSL証明書の信頼性を高めるために重要な役割を果たしています。ドメイン所有者はCAAレコードを適切に設定し、管理することで、SSL証明書の不正発行を防ぎ、ウェブサイトのセキュリティを向上させることができます。

CAAレコードの設定方法

CAAレコードの設定方法に関して、以下3つを簡単に解説していきます。

  • CAAレコードの設定に必要な情報
  • CAAレコードの設定手順
  • CAAレコードの設定例

CAAレコードの設定に必要な情報

CAAレコードを設定するためにはいくつかの情報が必要です。まず、CAAレコードを設定するドメイン名を決める必要があります。次に、そのドメインのSSL証明書を発行できるCAを決めます。

CAを決めたら、そのCAが提供するCAAレコードの設定情報を確認します。通常、CAのウェブサイトにCAAレコードの設定例が掲載されているので、それを参考にすると良いでしょう。

CAAレコードの設定にはレコードタイプ、フラグ、タグ、値の4つの情報が必要です。これらの情報はCAから提供されるので、確認しておく必要があります。

CAAレコードの設定手順

CAAレコードの設定はDNSサーバーで行います。DNSサーバーの管理画面にログインし、CAAレコードを追加します。レコードタイプには「CAA」を選択し、フラグ、タグ、値を入力します。

タグには「issue」や「issuewild」などがあります。「issue」は通常のSSL証明書の発行を許可するタグで、「issuewild」はワイルドカード証明書の発行を許可するタグです。

値にはSSL証明書を発行できるCAのドメイン名を入力します。複数のCAを指定する場合は複数のCAAレコードを設定する必要があります。

CAAレコードの設定例

例えば、example.comというドメインのSSL証明書を、Let's EncryptとDigi Certの2つのCAで発行できるようにする場合、以下のようなCAAレコードを設定します。

example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issue "digicert.com"

この設定ではexample.comドメインのSSL証明書はLet's EncryptとDigi Certの2つのCAでのみ発行できます。他のCAが発行しようとしても、CAAレコードによってブロックされます。

ワイルドカード証明書を発行できるようにする場合は以下のようなCAAレコードを設定します。

example.com. IN CAA 0 issuewild "letsencrypt.org"
example.com. IN CAA 0 issuewild "digicert.com"

CAAレコードのチェック方法

CAAレコードのチェック方法に関して、以下3つを簡単に解説していきます。

  • CAAレコードのチェックツール
  • CAAレコードのチェックコマンド
  • CAAレコードのチェック結果の見方

CAAレコードのチェックツール

CAAレコードが正しく設定されているかどうかはオンラインのチェックツールを使って確認することができます。SSLLabs.comやDNSViz.netなどのサイトでは無料でCAAレコードのチェックができます。

これらのサイトではドメイン名を入力するだけで、CAAレコードの設定状況を確認できます。もし、CAAレコードが設定されていない場合や、設定に誤りがある場合は警告メッセージが表示されます。

オンラインのチェックツールを使えば、簡単にCAAレコードの設定状況を確認できるので、便利です。ただし、オンラインツールではチェックできない項目もあるので、注意が必要です。

CAAレコードのチェックコマンド

CAAレコードはdigコマンドを使ってチェックすることもできます。digコマンドはDNSの情報を取得するためのコマンドで、LinuxやMacOSに標準でインストールされています。

以下はdigコマンドを使ってCAAレコードを取得する例です。

$ dig example.com CAA

このコマンドを実行すると、example.comドメインのCAAレコードが表示されます。もし、CAAレコードが設定されていない場合は何も表示されません。

CAAレコードのチェック結果の見方

CAAレコードのチェック結果は以下のような形式で表示されます。

example.com. 86400 IN CAA 0 issue "letsencrypt.org"
example.com. 86400 IN CAA 0 issue "digicert.com"

この結果はexample.comドメインのCAAレコードが、Let's EncryptとDigi Certの2つのCAを許可していることを示しています。もし、許可されていないCAが表示された場合は設定に誤りがある可能性があります。

また、フラグの値が0以外の場合は設定に問題がある可能性があります。フラグの値は通常0になるので、0以外の値が表示された場合は注意が必要だと言えます。

CAAレコードの注意点

CAAレコードの注意点に関して、以下3つを簡単に解説していきます。

  • CAAレコードの設定ミス
  • CAAレコードの更新タイミング
  • CAAレコードの適用範囲

CAAレコードの設定ミス

CAAレコードの設定を誤ると、SSL証明書の発行ができなくなったり、意図しないCAから証明書が発行されたりする可能性があります。そのため、CAAレコードの設定は慎重に行う必要があります。

特に、タグの指定を誤ると、大きな問題につながる可能性があります。例えば、「issue」タグの代わりに「issuewild」タグを指定してしまうと、ワイルドカード証明書が発行できてしまう可能性があるのです。

また、値の指定を誤ると、意図しないCAから証明書が発行されてしまう可能性があります。値には正確なCA名を指定する必要があるので、注意が必要だと言えます。

CAAレコードの更新タイミング

CAAレコードを変更した場合、その変更が反映されるまでに時間がかかることがあります。これはDNSの仕組み上、CAAレコードの変更がすぐに世界中に伝播するわけではないためです。

そのため、SSL証明書の発行予定日の数日前までにCAAレコードの設定を完了しておく必要があります。また、CAAレコードを変更した後は実際に変更が反映されたことを確認してから証明書の発行を行うようにしましょう。

CAAレコードの伝播状況は前述のチェックツールやdigコマンドで確認することができます。変更が反映されるまでには通常24時間程度かかると言われています。

CAAレコードの適用範囲

CAAレコードは設定したドメインとそのサブドメインに適用されます。ただし、サブドメインに別のCAAレコードが設定されている場合はそちらが優先されます。

例えば、example.comにCAAレコードが設定されている場合、sub.example.comにもそのCAAレコードが適用されます。ただし、sub.example.comに別のCAAレコードが設定されている場合はそちらが優先されます。

また、CAAレコードはドメインの階層構造に応じて継承されます。つまり、example.comにCAAレコードが設定されている場合、sub1.sub2.example.comにもそのCAAレコードが適用されるのです。

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「セキュリティ」に関するコラム一覧「セキュリティ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。