CAA リソースレコードを設定する
不正な証明書や意図しない証明書が発行されることを防ぐため、ドメイン名の管理者はそのドメイン名の証明書を発行できる認証局を指定することができます。
この指定は DNS の CAA (Certification Authority Authorization) リソースレコード (RFC 8659) によって行います。
認証局は証明書を発行する前に CAA リソースレコードを検証し、その認証局に対して証明書の発行が許可されていることを確認します。 このため、 Gehirn MCA をご利用のお客さまは CAA リソースレコードを設定し、 Gehirn MCA による証明書の発行を許可する必要があります。
なお、 CAA リソースレコードを全く設定しない場合は、 Gehirn MCA を含むすべての認証局が証明書を発行することができます。
CAA リソースレコードの内容 ¶
CAA リソースレコードでは、証明書の発行を許可する認証局をその認証局に固有のドメイン名によって指定します。 Gehirn MCA に証明書の発行を許可するには、認証局のドメイン名として usertrust.com
を指定します。
この指定は、証明書に含まれるすべてのドメイン名について行う必要があります。
example.net
と *.example.net
のように、同じドメイン名のワイルドカードと非ワイルドカードの両方を含む証明書の場合は、それぞれについて設定が必要になる場合があります。
issue
タグを使用する ¶
CAA リソースレコードの内容は、ドメイン名の種類と現在の設定内容により異なります。
以下のいずれかの条件に当てはまる場合は、 issue
タグを使用して CAA リソースレコードを設定します。
- 非ワイルドカードドメイン名を使用する
- 以下のすべての条件に当てはまる
- ワイルドカードドメイン名を使用する
issuewild
タグを使用する CAA リソースレコードがほかに設定されていない
例として、 Gehirn MCA に example.net
の証明書を発行することを許可する場合は以下の CAA リソースレコードを設定します。
example.net. IN CAA 0 issue "usertrust.com"
issuewild
タグを使用する ¶
以下のすべての条件に当てはまる場合は、 issuewild
タグを使用して CAA リソースレコードを設定します。
- ワイルドカードドメイン名を使用する
issuewild
タグを使用する CAA リソースレコードがすでに設定されている
例として、 Gehirn MCA に *.example.net
の証明書を発行することを許可する場合は以下の CAA リソースレコードを設定します。
example.net. IN CAA 0 issuewild "usertrust.com"
issuewild
タグの使用
認証局がワイルドカードドメイン名の証明書を発行するとき、まず issuewild
タグを検索し、見つからなければ issue
タグを代わりに評価します。 issuewild
タグが見つかれば issue
タグは評価されません。
このため、新たにワイルドカードを含む証明書の発行を許可するとき、すでに issuewild
タグが存在する場合は issuewild
タグによる指定のみが有効になります。一方、 issuewild
タグが存在しない場合に issuewild
タグを使用すると、 issue
タグにより指定されているほかの認証局がワイルドカードを含む証明書を新たに発行できなくなります。
このマニュアルでは、すでに issuewild
タグが使用されている場合のみ issuewild
タグを使用することで、既存の設定が上書きされることを回避しています。
CAA リソースレコードの評価例 ¶
より CAA リソースレコードについて詳しく説明するため、いくつかの DNS ゾーンの抜粋を例示し、それぞれのゾーンについて Gehirn MCA がどのような証明書を発行できるか検討します。
この例で示す DNS ゾーンはすべて example.net.
です。
例1 ¶
$ORIGIN example.net.
この例では CAA リソースレコードが一切設定されていません。 CAA リソースレコードが存在しない場合は、すべての認証局がすべての証明書を発行できます。
例2 ¶
$ORIGIN example.net.
@ IN CAA 0 issue "usertrust.net"
この例では issue
タグが Gehirn MCA を指定しています。また、 issuewild
タグが存在しない場合はワイルドカードについても issue
タグが評価されます。
このため、 Gehirn MCA はすべての証明書を発行できます。
例3 ¶
$ORIGIN example.net.
@ IN CAA 0 issue "usertrust.net"
@ IN CAA 0 issuewild "usertrust.net"
この例では issue
タグと issuewild
タグがどちらも Gehirn MCA を指定しています。このため、 Gehirn MCA はすべての証明書を発行できます。
例4 ¶
$ORIGIN example.net.
@ IN CAA 0 issue "usertrust.com"
@ IN CAA 0 issuewild "example.com"
この例では issue
タグが Gehirn MCA を指定していますが、 issuewild
タグは Gehirn MCA を指定していません。このため、 Gehirn MCA はワイルドカードを含まない証明書は発行できますが、ワイルドカードを含む証明書は発行できません。
例5 ¶
$ORIGIN example.net.
@ IN CAA 0 issue "example.com"
この例では issue
タグが Gehirn MCA を指定していません。また、 issuewild
タグが存在しない場合はワイルドカードについても issue
タグが評価されます。
このため、 Gehirn MCA は一切の証明書を発行できません。
例6 ¶
$ORIGIN example.net.
@ IN CAA 0 issue "example.com"
@ IN CAA 0 issuewild "usertrust.net"
この例では issue
タグが Gehirn MCA を指定していない一方で、 issuewild
タグは Gehirn MCA を指定しています。
このため、 Gehirn MCA はワイルドカードだけを含む証明書のみ発行できます。
例7 ¶
$ORIGIN example.net.
@ IN CAA 0 issue "usertrust.net"
mail IN CAA 0 issue "example.com"
この例では example.net.
の issue
タグは Gehirn MCA を指定している一方で、 mail.example.net.
の issue
タグは Gehirn MCA を指定していません。
CAA リソースレコードの指定は、もっとも近い祖先ドメインのものが継承されます。このため、 Gehirn MCA は mail.example.net
およびその子孫の証明書を発行することはできませんが、その他の example.net
ドメインの証明書は発行することができます。
まとめ ¶
以下の表は、Gehirn MCA が具体的なドメイン名に対して証明書を発行できるかどうかについて、これまでの例をまとめたものです。
例 | 発行可否 | |||
---|---|---|---|---|
example.net | www.example.net | *.example.net | *.mail.example.net | |
例1 | 可 | 可 | 可 | 可 |
例2 | 可 | 可 | 可 | 可 |
例3 | 可 | 可 | 可 | 可 |
例4 | 可 | 可 | 不可 | 不可 |
例5 | 不可 | 不可 | 不可 | 不可 |
例6 | 不可 | 不可 | 可 | 可 |
例7 | 可 | 可 | 可 | 不可 |