WHOIS情報をプライバシー保護しているドメインでACMを利用する方法をまとめてみた

eyecatch_certificate_manager

こんにちわ。大阪の市田です。
WHOIS情報のプライバシー設定を有効にしているドメインに対してAWS Certificate Manager(以下、ACMと表記)を導入する方法についてまとめてみました。

課題となるポイント

プライバシー設定でWHOIS情報がマスクされている場合、ACM利用で何が問題になるかという点について確認しておきます。

まず、ACMで証明書を発行する際、対象ドメインの所有者を確認するためのメール認証が行われます。 その際、ACMから送信される宛先は下記のいずれかになります。

  • WHOISに登録されたアドレス(登録者、管理者、技術担当者アドレス)
  • admin@<対象ドメイン>
  • administrator@<対象ドメイン>
  • hostmaster@<対象ドメイン>
  • postmaster@<対象ドメイン>
  • webmaster@<対象ドメイン>

WHOISに登録されたアドレス以外の、admin@、administrator@、hostmaster@、postmaster@、webmaster@の5つのアドレスは、特に指定しなくても追加で送信されるものです。この5つのいずれかのアドレスでメールを受信可能であれば、WHOIS情報をマスクしていても問題ありません。

しかし、これらのメールアドレスが無い場合は、WHOISに登録したアドレスで受信できる必要があります。 もし、プライバシー設定でWHOISに登録したアドレスがマスクされていると、その代理のアドレス宛に送信されるため、メールの内容を確認する事ができません。

例えばお名前.comの場合、WHOIS上のメールアドレスは「proxy@whoisprotectservice.com」という代理のアドレスになりますが、このアドレス宛にメールが送られても転送されませんでした。

(ただし、レジストラやドメインの取得代行を依頼した会社によっては、転送される場合もあるかもしれませんが、ここではそのケースは考慮しないものとします。)

ポイントをまとめると以下のようになります。

  • 認証用のメールがWHOISで公開されているアドレスと特定の5つのアドレスに送られる
  • WHOIS情報のプライバシー保護を有効にしていると、WHOISに登録しているアドレスでメールを受信できない

対応方法

プライバシー設定によりWHOIS情報がマスクされている場合は、下記のいずれかでACMの導入が可能です。
(他にも選択肢がある場合は、ご指摘頂けると幸いです。)

  • プライバシー設定を解除
  • admin@、administrator@、hostmaster@、postmaster@、webmaster@の5つのアドレス(のいずれか)で認証メールを受信
  • SESのメール受信を利用
  • Route53にドメイン移管してプライバシー設定を有効化

それぞれについて確認してみます。

プライバシー設定を解除

そもそも設定を解除できるのであれば、一番簡単な解決方法です。

admin@等の5つのアドレスで受信

先程も書きましたがACMからの認証メールは、特に指定しなくても、admin@、administrator@、hostmaster@、postmaster@、webmaster@の5つのアドレス宛にも自動で送信されます。(ドメイン部分は対象ドメインが入ります。)

既にこれらのアドレスを持っていてメールを受信できる状態であれば、プライバシー設定を解除することなく認証メールを受信することが可能です。

サブドメインの場合の問題

しかし、「ssl.example.com」のようにサブドメインで利用したい場合、マネジメントコンソールからACMのリクエストを行うと、送信先アドレスが「admin@ssl.example.com」といった形になってしまいます。

その場合は、マネジメントコンソールではなくAWS CLIで行います。--domain-validation-optionsオプションでメインドメインのアドレス宛に送ることができます。(上記であれば、admin@example.com 宛に送れます。)

$ aws acm request-certificate \
> --domain-name ssl.example.com \
> --domain-validation-options DomainName=ssl.example.com,ValidationDomain=example.com

補足になりますが、これはWHOIS情報がマスクされている場合の話ですので、公開されている場合は、サブドメインの場合でも公開されているメールアドレスに送信されることになります。

SESでメール受信

これは下記でご紹介している内容になります。
admin@等のアドレス宛に送られるメールをSESで受信できるようにします。その為、プライバシー設定が有効になっていてもACMからのメール認証を受け取ることが可能です。

[ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみた

DNSのレコード追加やSES設定が可能であれば、有力な選択肢になると思います。

Route53にドメイン移管

Route53以外でドメイン管理を行っている場合です。
Route53では登録ドメインに対して、プライバシー設定を利用することが出来ます。ただし、下記の条件を満たしている必要があります。

  • 連絡先のタイプ (ContactType)」がPERSONであること
  • ドメインのロック (以下、Transfer Lock) が有効であること
  • ドメインがPrivacy Protectionをサポートしていること

利用条件とその内容に関する詳細は下記でご紹介しています。

Route 53で管理するドメインでプライバシー保護できるWHOIS項目は、ドメインによって違うので注意

Route53でプライバシー設定を有効にしていると、WHOIS上では「whoisprivacyservice.org」または「contact.gandi.net」のドメインのアドレスが表示されます。
例えば、下記のような結果になります。

Registrant Email: owner@example.com.whoisprivacyservice.org
Admin Email: admin@example.com.whoisprivacyservice.org
Tech Email: tech@example.com.whoisprivacyservice.org

その為、ACMからのメールは上記のアドレスに送られますが、これらのアドレスに来たメールは Route53に登録しているオリジナルのメールアドレスに転送される ので、ACMからのリクエストメールを確認することが出来ます。

ドメインの移管自体は技術的には難しくはないので、問題がなければRoute53への移管も選択肢になってくるかと思います。

Route53へのドメイン移管については下記でご紹介しています。

お名前.comからAmazon Route 53へドメインを移管する

最後に

ドメイン認証レベルであれば、ACMは非常に強力なソリューションだと思います。是非とも活用していきたいですね。

以上です。

AWS Cloud Roadshow 2017 福岡