DNS CAAレコードジェネレーター&ポリシー検証ツール

DNS CAAレコードジェネレーター&ポリシー検証ツール

RFC 8659 に準拠した DNS CAA レコードを生成し、SSL/TLS 証明書の発行権限を信頼できる認証局(Let's Encrypt、DigiCert、Sectigo など)に限定します。

プリセット:
CAA構成パラメータ設定
完全発行禁止ロックダウン(全CAブロック)

空のレコード(issue ";")を発行し、世界中のいかなる認証局もこのドメインの証明書を発行できないようにします。

Let's Encrypt(letsencrypt.org)
; ==============================================================================
; DNS CAA (Certification Authority Authorization) Resource Records
; Domain: example.com.
; RFC 8659 (obsoletes RFC 6844) / RFC 8657 (ACME Extensions)
; Generated 100% Client-Side with ToolsAA CAA Record Generator
; ==============================================================================

$ORIGIN example.com.
$TTL 3600

; Authorizes Let's Encrypt (letsencrypt.org) to issue standard certificates
example.com.             3600   IN  CAA  0  issue     "letsencrypt.org"

; Security contact for automated incident violation alerts via email
example.com.             3600   IN  CAA  0  iodef     "mailto:[email protected]"

許可認証局数
Let's Encrypt

指定された発行者のみが有効なSSL/TLS証明書に署名できます。

ワイルドカード設定
標準設定を継承

不正なワイルドカード発行やサブドメイン乗っ取りに対する強固な保護。

インシデント通報
アクティブアラート (iodef)

不正な証明書発行の試行に対する自動通知。

RFC 8659 厳格な証明書発行制御

信頼できる認証局のみをホワイトリストに登録することで、不正な認証局による独自ドメインやサブドメインの証明書誤発行・なりすましを防止します。

ワイルドカード分離と完全ロックダウン

issuewild パラメータによりワイルドカード証明書の発行局を個別分離し、または完全ロックダウン(issue ";")により未使用ドメインを改ざんから永久保護します。

自動インシデント通報システム (iodef)

準拠認証局が事前チェックで不正な証明書リクエストを拒否した際、セキュアなメールまたはHTTP POSTウェブフック経由でリアルタイムにインシデント通知を受け取ります。

技術リファレンス&アーキテクチャガイド

DNS CAA(認証局承認)レコードジェネレーター — リファレンスガイド

RFC 8659 に準拠した DNS CAA レコードを生成し、SSL/TLS 証明書の発行権限を信頼できる認証局(Let's Encrypt、DigiCert、Sectigo など)に限定します。

主要パラメータ&設定項目

flags整数 (0-255)

符号なし8ビットフラグ。最上位ビット(128)は発行者クリティカルフラグ(未対応タグ時の発行拒否義務付け)を表します。通常は 0(非クリティカル)を指定します。

初期値: 0
tag列挙型 (issue | issuewild | iodef)

認証ディレクティブの識別タグ。通常証明書の発行許可は 'issue'、ワイルドカード証明書専用許可は 'issuewild'、違反通知先URIは 'iodef' を指定します。

初期値: issue
value文字列

承認する認証局の正規ドメイン(例: 'letsencrypt.org'、'digicert.com')、インシデント通知用URI('mailto:[email protected]')、または全証明書発行の完全拒否を表すセミコロン(';')。

初期値: letsencrypt.org
accountUri文字列 (オプションパラメータ)

ACMEアカウントIDバインド制約(例: accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/123456)。指定した自身のアカウント以外からの証明書発行を厳格に阻止します。

ttl数値 (秒単位)

リゾルバネームサーバーでのDNSキャッシュ保持期間(Time To Live)を秒単位で指定します。

初期値: 3600

プロの活用テクニック&推奨設定

issuewild ";" を明示してワイルドカード証明書の発行を完全ブロック

自社インフラでワイルドカード証明書(*.example.com)を使用しない場合は、明示的に '0 issuewild ";"' レコードを追加してください。'issue' レコードで通常証明書を許可している場合でも、ワイルドカードの発行のみを確実に遮断できます。

Account URI バインドによりサブドメイン乗っ取りや不正発行を防止

Let's Encrypt などの最新認証局は 'accounturi' パラメータに対応しています。'0 issue "letsencrypt.org; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/ID"' のように構成することで、仮にドメイン認証(DCV)が一時的に侵害された場合でも、自社のアカウント以外からの証明書発行を拒否できます。

IODEF レコードを設定して不正発行試行のリアルタイム監査体制を構築

'iodef' タグに 'mailto:[email protected]' や HTTPS Webhook を指定すると、認可されていない第三者が証明書発行を試みた際に、RFC 8659 準拠の認証局から構造化されたインシデントレポートが自動送信されます。

サブドメインにおける CAA ツリークライミングの探索仕様を把握する

認証局はサブドメインから親ドメイン、Apexドメインへと階層を遡って CAA レコードを検索します(ツリークライミング)。example.com に設定したポリシーは全サブドメインに自動継承されるため、組織全体で一貫した発行ポリシーを適用できます。

よくあるトラブルと解決策

ACME の自動更新が「CAA record does not permit issuance」というエラーで失敗する。

DNS ゾーンに対象認証局(例: letsencrypt.org)の 'issue' レコードが存在するか確認してください。また、DNSSEC の検証エラーが発生していると、RFC 8659 準拠の認証局は SERVFAIL として扱い証明書発行を拒否するため、DNSSEC 署名の整合性も検証してください。

フラグに 128 を指定したところ、証明書発行が拒否またはエラーになる。

フラグ 128 はクリティカル(必須)を意味します。指定したパラメータ(カスタム検証方式など)を認証局が認識またはサポートしていない場合、RFC 8659 の規定により認証局は即座に発行を拒否します。フラグを 0 に戻すか、認証局のパラメータ対応状況をご確認ください。

DNS 管理画面で CAA レコードの構文エラーが表示されて保存できない。

DNS プロバイダーによって入力仕様が異なります。Cloudflare や Route 53 では Flag、Tag、Value を別々の入力欄に入力しますが、BIND やゾーンファイル形式では 1 行で記述します。管理画面ですでにダブルクォーテーションが付与される仕様の場合、重複して入力しないよう注意してください。

よくある質問 (FAQ)

DNS CAA レコードとは何ですか?なぜ認証局は確認が義務付けられているのですか?▼

CAA(Certification Authority Authorization、RFC 8659)は、自社ドメインに対して SSL/TLS 証明書の発行を許可する認証局(CA)を DNS 上で宣言するレコードです。CA/ブラウザフォーラムの規定により、2017年9月8日以降、すべてのパブリック認証局は証明書発行前に CAA レコードのチェックを行うことが世界共通で義務化されています。

未使用のドメインで SSL/TLS 証明書の発行を完全に禁止するにはどうすればよいですか?▼

値にセミコロンを指定した 2 つのレコード('0 issue ";"' および '0 issuewild ";"')を登録します。準拠しているすべての認証局は、単一のセミコロンを「いかなる認証局にも証明書の発行を許可しない」という明示的な拒否命令として解釈します。

複数の認証局を同時に承認することはできますか?▼

はい、可能です。同じドメインに対して複数の CAA レコードを登録できます。例えば '0 issue "letsencrypt.org"' と '0 issue "digicert.com"' を並行して登録すれば、Let's Encrypt と DigiCert の両方から証明書を発行でき、それ以外の認証局からの発行はブロックされます。

サブドメインにおける CAA の継承(ツリークライミング)はどのように動作しますか?▼

例えば api.service.example.com の証明書を発行する場合、認証局はまず完全修飾ドメイン名(FQDN)の CAA レコードを検索します。存在しない場合は service.example.com、さらに example.com の順に親ドメインを遡って検索します。いずれかの階層で最初に見つかったレコードのポリシーが適用され、最上位までレコードが存在しない場合のみ、すべての認証局に発行が許可されます。

"issue" タグと "issuewild" タグの違いは何ですか?▼

"issue" タグは通常ドメイン証明書およびワイルドカード証明書の両方の発行をデフォルトで承認します。一方、DNS レコードセット内に "issuewild" タグが明示的に定義されている場合、ワイルドカード証明書(*.example.com)の発行要求に対しては "issuewild" の設定のみが優先適用されます。これにより、通常証明書とワイルドカード証明書の発行権限を安全に分離できます。

関連するおすすめ開発ツール

すべてのツール →
DNS DKIM TXTレコード生成&セレクタ設計 完全セキュリティ

RFC 6376準拠のDNS DKIM TXTレコード(v=DKIM1; k=rsa; p=...)の構築、セレクタ命名規則、255文字制限の分割手法、および認証検証手順を解説します。

ツールを開く→
MTA-STS ポリシー&TLS-RPT DNSレコードジェネレーターセキュリティ

RFC 8461準拠のMTA-STSポリシーファイル、_mta-sts DNS TXTレコード、およびRFC 8460 TLS-RPTレポートレコードの生成仕様と運用ベストプラクティス。

ツールを開く→
JWTトークンデコーダー&セキュリティインスペクターセキュリティ

ブラウザ上でJSON Web Tokenをデコードし、RFC 7519およびOIDCクレームの確認、有効期限の精密検査、HMAC署名のローカル検証を行う開発者向けユーティリティ。

ツールを開く→
高強度パスワード・パスフレーズ自動生成ツールセキュリティ

暗号論的擬似乱数生成器(Web Crypto CSPRNG)を用いた高エントロピーパスワード、覚えられるDicewareパスフレーズ、PIN、APIトークンをブラウザ内で瞬時に安全生成。NIST SP 800-63B準拠。

ツールを開く→
暗号学的ハッシュ値・チェックサム一括計算ツールセキュリティ

SHA-256、SHA-512、MD5、SHA-1、SHA-3、Keccak、CRC32をブラウザ内で瞬時に一括算出。Web Crypto APIによる100%クライアントサイド完結。

ツールを開く→
JSON Web Token (JWT) デバッガー&署名検証ツールセキュリティ

HMAC (HS256/384/512) および RSA (RS256/384/512) 署名のデコード・構造検査・検証をブラウザ内メモリで100%完結。外部サーバー送信一切なし。

ツールを開く→