この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
ども、大瀧です。 2月末にアナウンスされたACMのCT対応ですが、アナウンス時の予告通りオプトアウト方法が公開されました。早速試してみた様子をレポートします。
CT(Certificate Transparency)のオプトアウトとは
Certificate TransparencyはGoogleが提唱するTLS証明書の出所を明らかにするための仕組みで、CTのログサーバーによって証明書の発行履歴が公開されるとともに、証明書にCTに関する情報を追加します。Google Chromeブラウザでは2018年5月より、それ以降に発行されたTLS証明書がCT情報を持たない場合に警告を表示するようになります。
公開サービスの証明書であれば順次CT対応を進めるのが望ましいですが、ドメイン名が公になると都合の悪いドメインでTLS証明書を扱いたい場合もあるでしょう。例えば未発表の製品名であるとか、機密性の高い情報を扱うシステムのドメインなどです。ブラウザでの警告を避けることはできませんが、敢えてCTをオプトアウトすると判断することもありえるわけです。
オプトアウト手順
ACMでは2018年4月24日以降に発行する証明書は既定でCTが有効になり、設定としてオプトアウトを指示することができます。以下で対応します。
証明書の説明 | オプトアウトの対応 |
---|---|
発行済みの既存の証明書 | 証明書の次回更新までにオプトアウトを設定する |
新規の証明書を2018年4月24日以前に発行する | 証明書の次回更新までにオプトアウトを設定する |
新規の証明書を2018年4月24日以降に発行する | 証明書発行時にオプトアウトを設定する |
現時点ではAWS Management Consoleではオプトアウトに対応していないため、設定はAWS CLIなどACMのAPIを呼ぶ仕組みで対応します。今回はAWS CLIで設定します。
既存の証明書でCTをオプトアウトする
AWS CLIで証明書のオプションを変更するaws acm update-certificate-options
コマンドの--options
オプションで指定します。証明書をARNで選択するので事前に控えておきましょう。
$ aws acm update-certificate-options \
--certificate-arn arn:aws:acm:us-east-1:XXXXXXXXXXXX:certificate/XXXXXXXXXXXX \
--options CertificateTransparencyLoggingPreference=DISABLED
$
設定したら、aws acm describe-certificate
コマンドで確認しましょう。
$ aws acm describe-certificate \
--certificate-arn arn:aws:acm:us-east-1:XXXXXXXXXXXX:certificate/XXXXXXXXXXXX
{
"Certificate": {
"CertificateArn": "arn:aws:acm:us-east-1:XXXXXXXXXXXX:certificate/XXXXXXXXXXXX",
"Status": "ISSUED",
"Options": {
"CertificateTransparencyLoggingPreference": "DISABLED"
},
"SubjectAlternativeNames": [
"www.example.com"
],
:(以下略)
OKですね。
新規の証明書でCTをオプトアウトする
証明書発行時にCTをオプトアウトします。AWS CLIで証明書発行をリクエストするaws acm request-certificate
コマンドの--options
オプションで指定します。他のオプションは任意のものでOKです。
$ aws acm request-certificate \
--domain-name www.example.com \
--validation-method DNS \
--options CertificateTransparencyLoggingPreference=DISABLED
{
"CertificateArn": "arn:aws:acm:us-east-1:XXXXXXXXXXXX:certificate/XXXXXXXXXXXX"
}
$
既存の設定変更と同様に、aws acm describe-certificate
コマンドで確認するのが良いでしょう。
まとめ
ACMの証明書でCTをオプトアウトする手順をご紹介しました。ちょっと特殊な用途での対応ですが、頭の片隅に置いておくと役に立つときが来るかもしれません。
参考URL
- Best Practices - AWS Certificate Manager (言語をEnglishにして表示、オプション名
--certificate-options
が間違っている模様)