無料ツール一覧 / SPF / DMARC / CAA レコード生成
SPF / DMARC / CAA レコード生成ツール
メール認証と証明書発行制御の DNS レコードを、フォーム入力から組み立てます。SPF の DNS 参照上限(10)の警告、DMARC の段階強化(none → quarantine → reject)のガイド、CAA の証明書発行停止を防ぐ安全ガイドを添えるので、設定ミスでメールや証明書が止まるリスクを避けながら下書きを作れます。登録不要・無料。
- ・タブで SPF / DMARC / CAA を切り替え、入力すると即座にレコードを生成
- ・SPF は DNS 参照数を数え、上限 10(RFC 7208)に近づくと警告
- ・CAA は利用中の CA の許可漏れ(証明書発行停止)を警告
- ・すべてブラウザ内で処理。入力内容は送信されません
1 行に 1 つ(カンマ区切りも可)。DNS 参照を増やしません。
各社の指定値を 1 行に 1 つ。include は DNS 参照を 1 つずつ消費します(RFC 7208 の上限 10)。
生成された SPF レコード(下書き)
DNS 参照数: 0 / 10(ドメイン名・例: example.co.jp)種別TXT値v=spf1 ~all- SPF レコードは 1 ドメインにつき 1 つだけです。既存の v=spf1 レコードがある場合は、2 つ目を追加せず 1 つに統合してください(複数あると Permerror になります)。
日次の集約レポートを受け取るメールアドレス。ポリシー強化前の観察に必須級です。
詳細オプション(sp / ruf / pct / アラインメント)
強化を段階導入したいとき(例: 10)に。100 のときは省略されます。
生成された DMARC レコード(下書き)
_dmarc.(ドメイン名)種別TXT値v=DMARC1; p=noneレンタルサーバーや CDN(Cloudflare 等)の無料 SSL を使う場合は、その事業者が使う CA を許可します。例えば Cloudflare の SSL は Let's Encrypt と Google Trust Services を利用します(最新の利用 CA は各社の案内をご確認ください)。
上の一覧にない CA のドメインを 1 行に 1 つ(カンマ区切りも可)。
詳細オプション(iodef / critical)
ポリシー違反の発行要求があったときに CA から通報を受けるメールアドレス。
生成された CAA レコード(下書き)
許可する CA を 1 つ以上選ぶと、ここにレコードが表示されます。
- 発行を許可する CA が 1 つも指定されていません。CAA で issue を許可しないと、すべての CA が証明書を発行できず、更新時に発行が拒否されて期限切れでサイトが停止します。利用中の CA を必ず 1 つ以上指定してください。
- CAA は証明書の発行(申請)時にのみチェックされます(RFC 8659)。設定しても発行済みの証明書は無効になりませんが、更新時に発行できなくなる点に注意してください。
使う前に知っておきたいこと
- 生成されるレコードは下書きです。DNS に適用する前に、 自社が使うすべての送信元(業務システム・メール配信サービス・グループウェア等)を 漏れなく含んでいるか必ず確認してください。漏れがあると正規メールが届かなくなります。
- SPF は 1 ドメインに 1 レコードのみです。 既存の
v=spf1がある場合は 2 つ目を足さず 1 つに統合してください。 - DMARC はいきなり reject にしないのが鉄則です。 まず
p=noneでレポート(rua)を 1〜2 週間観察し、正規メールが認証を 通過していることを確認してから quarantine、reject と段階的に強化します。 - CAA は証明書を発行できる CA を制限します。 利用中のすべての発行元(ACME / certbot、レンタルサーバーの無料 SSL、CDN)が使う CA を 漏れなく許可してください。漏れると次回更新で証明書が発行できず、期限切れでサイトが止まります。 CAA は発行(申請)時にのみチェックされます(RFC 8659)。
- DKIM は公開鍵の生成・登録の性質上、利用中のメールサービス側で鍵を発行し、 指定されたセレクタと値をそのまま登録するのが安全です(推測で値を作らないでください)。 本ツールが DKIM の生成タブを設けていないのはこのためです。
なぜブラウザ内処理なのか
入力する送信元 IP や include の構成は、自社のメール送信インフラの内訳にあたります。本ツールはレコードの組み立てを完全にブラウザ内(JavaScript)で行い、 サーバーへの送信を一切行いません。通信ログを開発者ツールで開きながら使えば、 実際に通信が発生していないことを確認できます。