10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Route53でCAAレコードは設定してますか??

Posted at

はじめに

Route53のCAAレコードって何??という感じだったので調査した話です。

CAAレコードとは?

ドメイン名の登録者が、登録されたドメイン名に対応する証明書の発行を許可する認証局(Certification >Authority:CA)を指定するリソースレコードです。CAAは、Certification Authority Authorizationを意味します。ドメイン名登録者は、CAAリソースレコードを設定することで 
・証明書の誤発行を防止
・不正な証明書発行要求の検知
が期待できます。

引用:CAAリソースレコード【JPRS用語辞典】

普段AWSのACMでしか証明書を作成したことがなく、認証局(CA)は意識してませんでしたが、
要するに、ドメインのCAAレコードでACM以外の認証局を設定している場合は、証明書の作成がエラーになるということです。
ちなみに、AWSのRoute53では、2017年からサポートが開始されたレコードです。

実際に試してみる

認証局をグローバルサインに限定するように、CAAレコードを設定してみました。
Route_53_Console_Hosted_Zones.png

~> dig CAA [ドメイン名] +short
0 issue "globalsign.com"
~>

この設定で、ACMにて証明書を作成すると。。。
AWS_Certificate_Manager.png
ACMの認証局は認可されてないので証明書作成に失敗しました。
ステータスの詳細を見ると確かにCAAエラーになっています。
AWS_Certificate_Manager.png
下記のようにACMの認証局を追加する、もしくはCAAレコードを削除することで解決できます。
Route_53_Console_Hosted_Zones.png

~> dig CAA [ドメイン名] +short
0 issue "amazon.com"
0 issue "globalsign.com"
~>

証明書はエラーなく作成されます。
AWS_Certificate_Manager.png

認証局(CA)例
ACM "amazon.com"
Let's Encrypt "letsencrypt.org"
グローバルサイン "globalsign.com"
セコムトラストシステムズ "secomtrust.net"
サイバートラスト "cybertrust.ne.jp"
JPRS "jprs.jp"

証明書発行の流れは以下の図がわかりやすいので、JPRSから引用します。
図の③手順でCAAレコードが設定されていない場合は、そもそも発行制御がされていないと判断され、どの認証局からでも証明書を発行できます。

参照元:DNSを用いたサーバー証明書の発行制御_~CAAリソースレコードの概要と現状~

最後に

CAAレコードは設定しなくても、それ自体がサービス影響のあるものではありませんが、証明書の発行制御の設定を行うことでセキュリティレベルが上がることがわかりました。
証明書作成の際にCAAエラーが発生した際は、証明書の発行制御が行われてるのでご注意ください。

10
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?