CAA Record (Certificate Authority Authorization)

メール & セキュリティ
ドメインに対して SSL/TLS 証明書を発行する権限があるのは、どの認定局かを指定する DNS レコード。
← 用語集に戻る

CAAレコードとは?

CAA(認証権限認証)レコードは、ドメインのSSL/TLS証明書を発行するために、認証権限(CA)が許可されているDNSレコードタイプです。 CAAは、攻撃者がCAを侵害しても、不正な証明書の発行を防ぎ、セキュリティ制御として機能します。

なぜ CAA レコードのマット

CAAレコードがなければ、信頼できるCAの何百人も、あなたのドメインの証明書を発行することができます。 これはリスクを作成します。

CAAレコードは、あなたのドメインのためにどのCAが発行できるかを制限することにより、攻撃面を減らします。

CAAの仕組み

1. ドメイン所有者が公開 DNSのCAAレコード

2. 証明書依頼者 証明書は、証明書の CA を要求します

3. CA チェック ドメインの CAA レコード

4. CA の問題 許可されている場合のみ (または CAA レコードが存在しない場合)

5. 不正な場合、CAは要求を拒否しなければなりません

必須 CA チェック

2017年9月現在、証明書発行前に、CAAの記録を確認するためには、全てのCAが必要です。 これは、CA / Browserフォーラムベースライン要件の一部です。

CAAレコードフォーマット

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

コンポーネント:

-0:フラグ(0 =非クリティカル、128 =クリティカル)

プロパティタグ

タグミッション事例紹介
ニュースすべての証明書のCAを承認する「letsencrypt.org」を発行
パスワードワイルドカード証明書のCA認証問題「digicert.com」
iodefについて不正な試みを報告するiodef "mailto:security@example.com"

CAAレコード例

##シングルCA(暗号化のみ)

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

複数の CAs

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

example.com. CAA 0 issue "digicert.com"

example.com. CAA 0 issue "sectigo.com"

##ワイルドカード制限

通常のcerts、ワイルドカード用のDigiCertのために暗号化しましょう:

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

example.com. CAA 0 issuewild "digicert.com"

##Deny すべて (証明書なし)

証明書を持たないドメインに便利です。

example.com.    CAA    0 issue ";"

レポート付き

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

example.com. CAA 0 iodef "mailto:security@example.com"

一般的なCA識別子

アメリカ識別子
暗号化しましょうletsencrypt.org
ディジコートdigicert.com
Sectigo (コモド)sectigo.com
グローバルサインglobalsign.com
ゴーダディgodaddy.com
アマゾンamazon.com
Googleの信頼サービスpki.googさん

ご使用の CA のドキュメントを正確に識別子にチェックします。

CAAレコードの実装

DNS プロバイダーによる ##

ほとんどのDNSプロバイダは、インターフェイスでCAAレコードサポートを持っています。

ゾーンファイル経由

; Allow Let's Encrypt and DigiCert

@ IN CAA 0 issue "letsencrypt.org"

@ IN CAA 0 issue "digicert.com"

@ IN CAA 0 iodef "mailto:security@example.com"

CAAの継承

CAAレコードは、DNS階層に従います。

example.com.        CAA    0 issue "letsencrypt.org"     ; Applies to all

api.example.com. CAA 0 issue "digicert.com" ; Override for api

CAAレコードの確認

掘る:
dig example.com CAA

; ANSWER SECTION:

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

DomScanの使用:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports hasCAA in security details

CAAベストプラクティス

1. 常にCAAを構成します: 攻撃面を削減

2. 使用しているすべてのカリフォルニアを含む: CDN/クラウドプロバイダCAを忘れないでください

3. 設定 iodef: 不正な試みの通知を得る

4. 強制する前のテスト: CA を検証しても問題が起きる

5. キープレコード更新: 証明書を要求する前に新しいCAを追加

共通CAAの問題

証明書の更新は失敗します:CAAレコードにないCAは、証明書が期限切れする前にそれらを追加します CDN 証明書が失敗: CDN プロバイダの CA が承認されていない - CDN が使用している CA をチェックする ミシングサブドメインCAA: 子は、必要に応じて、親のCAAを継承します。

CAAは、すべてのドメインが実装すべきシンプルで強力なセキュリティ制御です。

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。