Defaults.Exposed › 設定 › CAA
AWS Route 53 で CAA レコードを設定する方法
AWS Route 53 で CAA レコードを追加し、自社ドメインの SSL 証明書を発行できる認証局を制御します。
これがビジネスにとって重要な理由
CAA レコードは、自社ドメインの証明書を発行してよい認証局(ブラウザの鍵マークの背後にある SSL/TLS 証明書を発行する会社)を指定するものです。ルールに従う認証局は、必ず最初にこのレコードを確認し、リストに載っていなければ発行を拒否します。
平たく言えば、CAA レコードがなければ、世界中に数百ある認証局のいずれかがだまされたりミスをしたりして、あなたのドメイン向けの正規の証明書を第三者に渡してしまう可能性があります。攻撃者はそれを使って、あなたのサイトを巧妙になりすますことができます。CAA レコードは「これらの認証局だけ、ほかは一切不可」と宣言することで、その入口を閉ざします。無料で、数分で済みます。
まず Route 53 が DNS を運用しているか確認する
これが機能するのは、Route 53 があなたのドメインの DNS に応答している場合だけです。Route 53 では、レコードはドメインの ホストゾーン の中に置かれ、そのゾーンが有効になるのは、ドメインの ネームサーバー がゾーンに記載されている 4 つの Route 53 ネームサーバーを指している場合のみです。ホストゾーンを開いて NS レコードを確認し、それらのネームサーバーがレジストラ側で設定されていることを確認してください。ネームサーバーが別の場所を指している場合は、実際に DNS を運用しているプロバイダー側で CAA レコードを追加してください。
まず自社の認証局を把握する
何かを追加する前に、自社の証明書を発行している認証局を調べてください。さもないと、自分のプロバイダーを締め出してしまうおそれがあります。よくある値は次のとおりです。
amazon.com— Amazon(AWS Certificate Manager、ACM)letsencrypt.org— Let’s Encrypt(無料・自動発行の証明書の多くで利用)digicert.com— DigiCertsectigo.com— Sectigoglobalsign.com— GlobalSignpki.goog— Google Trust Services
AWS Certificate Manager で証明書を発行している場合は、amazon.com を許可しなければ ACM が発行できません。不明な場合は、ホスティングを設定した担当者に尋ねるか、ブラウザで証明書を確認してください(鍵マークをクリックし、証明書の発行者を表示します)。
Route 53 での手順
- AWS マネジメントコンソールにサインインし、Route 53 を開きます。
- 左メニューで Hosted zones(ホストゾーン)を選び、自社ドメインを選択します。
- Create record(レコードを作成)をクリックします。
- レコードをドメインのルート(apex、頂点)に適用するため、Record name フィールドは空のままにします。ここにドメイン名を入力しないでください。
- Record type を CAA に設定します。
- Value ボックスに、Route 53 の 3 部構成の形式で 1 行で入力します。
0 issue "letsencrypt.org"これはフラグ(0)、次にタグ(issue)、そして二重引用符で囲んだ認証局です。 - TTL は既定値のままにします(300 秒で問題ありません)。
- 確認されたら Simple routing を選び、Create records をクリックします。
複数の認証局を許可する
ほとんどのドメインは、時間の経過とともに複数の認証局を使います。たとえば、あるサービスには AWS Certificate Manager、別のサービスには Let’s Encrypt といった具合です。Route 53 では、追加の認証局を 同じ CAA レコードの Value ボックスに追加の行として、1 行に 1 つずつ入力します。
0 issue "amazon.com"
0 issue "letsencrypt.org"
この 2 行で「これら両方の認証局を許可し、ほかは不可」という意味になります。各行が別々の issue エントリです。1 行に 2 つの認証局を入れてはいけません。
Route 53 でよくある間違い
- 最大の間違いは、自分の認証局を締め出してしまうことです。
digicert.comだけを記載した CAA レコードを追加したのに、実際の証明書は Let’s Encrypt や ACM で更新されている場合、次回の更新が黙って失敗し、数週間後に鍵マークが壊れることがあります。保存する前に、実際に使っているすべての認証局を必ず含めてください。 - ACM には
amazon.comを許可します。 証明書が AWS Certificate Manager から来ているのに CAA レコードにamazon.comが含まれていない場合、ACM の検証と更新が失敗します。これは Route 53 特有の最もよくあるつまずきです。 - CA を囲む引用符は必須です。 Route 53 は
0 issue "letsencrypt.org"のように、認証局を二重引用符で囲むことを期待します。これを省くとレコードが無効になります。 - ルートにはレコード名を空のままにします。 名前を空にするとレコードが apex に適用されます。そこにドメイン名を入力すると、誤った場所に作られます。
- 通常のレコードでは Flags は
0です。 もう一方の値128は厳格モードで、意図的なときだけ使ってください。 - URL ではなく素のドメインを使います。 値は
letsencrypt.orgであり、https://letsencrypt.orgやwww.付きにしてはいけません。 - 反映には時間を見込みます。 DNS の変更は反映まで数分から数時間かかることがあります。既存の証明書はそのまま使えます。CAA は新規発行または更新のときだけ確認されます。
設定できたか確認する
保存して反映されたら、このサイトの無料チェックを実行してください。CAA レコードが設定されているか、どの認証局を許可したかを、分かりやすい言葉で教えてくれます。
完了しましたか? ドメインを無料でチェック して、正しく反映されたか確認しましょう。34項目すべてにわたる総合評価も見られます。