【情報処理安全確保支援士試験 令和6年度 春期 午前2 問15】DNS CAA(Certification Authority Authorization)レコード

情報処理安全確保支援士試験 令和6年度 春期 午前2 問15

【出典:情報処理安全確保支援士試験 令和6年度 春期 午前2(一部、加工あり)】

 DNSにおいてDNS CAA(Certification Authority Authorization)レコードを設定することによるセキュリティ上の効果はどれか。

ア WebサイトにアクセスしたときのWebブラウザに鍵マークが表示されていれば当該サイトが安全であることを、利用者が確認できる。
イ Webサイトにアクセスする際のURLを短縮することによって、利用者のURLの誤入力を防ぐ。
ウ 電子メールを受信するサーバでスパムメールと誤検知されないようにする。
エ 不正なサーバ証明書の発行を防ぐ。

今回は、Webサイトのセキュリティを強化する上で非常に重要な「DNS CAA(Certification Authority Authorization)レコード」について、分かりやすく解説していきます。皆さんの学習の一助となれば幸いです。


DNS CAA(Certification Authority Authorization)レコードとは?

DNS CAA(Certification Authority Authorization)レコードは、ドメイン名所有者が、自身のドメイン名に対してSSL/TLSサーバ証明書を発行することを許可する認証局(CA: Certificate Authority)をDNS上で指定するための仕組みです。これにより、意図しない認証局による証明書の発行を防ぎ、セキュリティを向上させることができます。

平たく言うと、「このドメインの証明書は、信頼できるこの認証局だけが発行していいよ!」というお墨付きをDNSに登録するようなものです。

なぜ必要なのか?(背景・経緯)

SSL/TLSサーバ証明書は、Webサイトの運営者が「このサイトは本物ですよ」と証明するために不可欠なものです。しかし、過去には正規のドメイン所有者ではない第三者による不正な証明書発行が問題となるケースがありました。もし攻撃者が不正に証明書を発行できてしまうと、フィッシングサイトなどで正規のサイトになりすまし、ユーザーを騙すことが可能になってしまいます。

このような問題を解決するために、RFC 6844でCAAレコードが2013年に標準化され、その後RFC 8659で更新されました。特に2017年9月からは、CA/Browser Forum(認証局とブラウザベンダーの業界団体)の規定により、公開されているドメインに対して証明書を発行するすべての認証局は、証明書発行前に当該ドメインのCAAレコードを確認することが義務付けられました。これにより、CAAレコードはSSL/TLS証明書発行における重要なセキュリティ対策の一つとなっています。

CAAレコードの事例

CAAレコードは、通常以下のような形式でDNSに登録されます。

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

この例では、「example.com」というドメインに対しては、「Let’s Encrypt」という認証局のみが証明書を発行できる、と指定しています。

他にも、以下のような使い方が可能です。

  • 複数の認証局を許可する場合 example.com. IN CAA 0 issue "letsencrypt.org" example.com. IN CAA 0 issue "digicert.com" この場合、Let’s EncryptとDigiCertの両方からの証明書発行を許可します。
  • ワイルドカード証明書の発行を許可する場合 example.com. IN CAA 0 issuewild "sectigo.com" 「*https://www.google.com/search?q=.example.com」のようなワイルドカード証明書の発行をSectigoのみに許可します。
  • 特定の認証局からの発行を完全に拒否する場合
    example.com. IN CAA 0 issue ";"
    このセミコロン(;)は、どの認証局からの証明書発行も許可しないことを意味します。これにより、意図しない証明書発行を厳しく制限できます。
  • 不正発行の報告先を指定する場合 example.com. IN CAA 0 iodef "mailto:security@example.com"
    もし許可されていない認証局が証明書を発行しようとした場合、その試行を「security@example.com」へ電子メールで報告するように指定できます。

導入における課題

CAAレコードの導入にはいくつかの課題も存在します。

  • DNS伝播の時間差: CAAレコードを設定しても、DNSのキャッシュなどの関係で、変更がインターネット全体に反映されるまでに時間がかかる場合があります。
  • 既存の証明書との兼ね合い: 既に発行されている証明書の発行元認証局がCAAレコードで許可されていない場合、更新時に問題が発生する可能性があります。導入前に、現在使用しているすべての認証局を把握し、CAAレコードに適切に含める必要があります。
  • サブドメインへの継承: 親ドメインに設定されたCAAレコードは、特に指定がない限りサブドメインにも適用されます。サブドメインで異なる認証局を利用している場合は注意が必要です。
  • 設定ミスによる証明書発行不可: CAAレコードの設定を誤ると、正規の認証局からの証明書発行も拒否されてしまい、WebサイトがSSL/TLS保護なしの状態になってしまうリスクがあります。

対策と運用

これらの課題に対する対策としては、以下の点が挙げられます。

  • 事前確認の徹底: CAAレコードを設定する前に、現在使用しているすべての認証局をリストアップし、それらをすべて許可するように設定します。
  • 段階的な導入: まずはテスト環境や重要度の低いドメインから導入し、問題がないことを確認してから本番環境に適用することを検討します。
  • 監視とログ確認: CAAレコードに関連するエラーや警告がないか、認証局からの通知(iodefで指定した場合)を定期的に確認します。
  • DNSSECの利用: DNSSEC(DNS Security Extensions)と併用することで、DNSレコード自体の改ざんも防ぐことができ、CAAレコードの信頼性をさらに高めることが可能です。

今後の動向

CAAレコードは、Webサイトのセキュリティを強化するための重要なツールとして今後も活用されていくでしょう。

最近の動向としては、CAAレコードのタグとしてcontactemailやcontactphoneのような新しいタグのサポートがDNSプロバイダーで進んでいます。これにより、認証局がドメインの所有者確認を行う際に、指定された連絡先を使用してスムーズかつ安全にプロセスを進めることができるようになり、証明書の発行プロセス全体のセキュリティと効率がさらに向上すると期待されます。

また、DNSSECのようなDNS自体のセキュリティ強化も進んでおり、CAAレコードと組み合わせることで、より強固なドメイン管理が可能になります。


問題解説

それでは、先ほどの記事の内容を踏まえて、以下の問題を解説します。

問題: DNSにおいてDNS CAA(Certification Authority Authorization)レコードを設定することによるセキュリティ上の効果はどれか。

ア WebサイトにアクセスしたときのWebブラウザに鍵マークが表示されていれば当該サイトが安全であることを、利用者が確認できる。
イ Webサイトにアクセスする際のURLを短縮することによって、利用者のURLの誤入力を防ぐ。
ウ 電子メールを受信するサーバでスパムメールと誤検知されないようにする。
エ 不正なサーバ証明書の発行を防ぐ。

選択肢の解説

  • ア WebサイトにアクセスしたときのWebブラウザに鍵マークが表示されていれば当該サイトが安全であることを、利用者が確認できる。
    これはSSL/TLS証明書が正しく適用されていることの一般的な効果であり、CAAレコード自体が直接的にユーザーのブラウザ表示に影響を与えるわけではありません。CAAレコードは証明書発行の管理に焦点を当てています。
  • イ Webサイトにアクセスする際のURLを短縮することによって、利用者のURLの誤入力を防ぐ。
    これはURL短縮サービスなどの機能であり、DNS CAAレコードとは全く関係ありません。
  • ウ 電子メールを受信するサーバでスパムメールと誤検知されないようにする。
    これはSPF(Sender Policy Framework)やDKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting, and Conformance)といった電子メール認証技術の効果であり、DNS CAAレコードとは異なります。
  • エ 不正なサーバ証明書の発行を防ぐ。 これが正解です。
    DNS CAAレコードは、ドメイン所有者が許可する認証局を明示的に指定することで、許可されていない認証局や、正規の認証局が悪意ある第三者によって不正な証明書を発行してしまうリスクを低減します。これにより、ドメインのなりすましやフィッシング詐欺などのセキュリティ脅威に対する防御を強化します。

まとめ

DNS CAAレコードは、ドメインに対するSSL/TLS証明書の発行を厳しく管理するための強力なツールです。正しく設定・運用することで、不正な証明書発行のリスクを大幅に減らし、Webサイトの信頼性とセキュリティを向上させることができます。

情報処理安全確保支援士やネットワークスペシャリストを目指す皆さんにとって、このような最新のセキュリティ技術は常にキャッチアップしておくべき重要な知識です。今後もセキュリティに関する情報発信をしていきますので、ぜひ参考にしてくださいね!