Amazon SESのEasy-DKIMのCNAMEレコードを検証できくなった場合の挙動の確認
CNAMEレコードを削除した場合にDKIMの挙動が気になる
こんにちは、のんピ(@non____97)です。
皆さんはAmazon SESのEasy-DKIMのCNAMEレコードを削除した場合のDKIMの挙動は気になったことはありますか? 私はあります。
ACMの場合は証明書の検証で使用するCNAMEレコードを削除しても、直ちに影響はありません。更新までに有効化しておけば良いです。
では、Amazon SESの場合はどうでしょうか。CNAMEレコードの名前解決ができなくなった瞬間、DKIMの検証に失敗するのでしょうか。
実際にやってみました。
いきなりまとめ
- 検証をした限りではDKIM検証用のCNAMEレコードを削除しても、DMARC認証をしていなければ直ちに影響はなさそう
- Amazon SESの第三者署名のみになる点は注意
- DMARC認証をしている場合はDKIMアライメントが一致しないため、DMARC認証に失敗する
- CNAMEレコードを削除してしばらくすると、「5日以内にCNAMEレコードを追加しろ」という通知がされる
- 5日以上放置した場合は、CNAMEレコード追加後に手動でverify-domain-dkimで検証をする必要がある
- 再検証時にIDを作り直したり、CNAMEレコードを削除前から異なる値に変更する必要はない
やってみた
カスタムネームサーバーを使用するように変更
Amazon SESで使用しているドメインはnon-97.net
です。
こちらのドメインはGoogle Domainsで管理しており、ネームサーバーもGoogle Domainsのデフォルトのものを使用しています。
$ dig non-97.net NS +short ns-cloud-c2.googledomains.com. ns-cloud-c3.googledomains.com. ns-cloud-c1.googledomains.com. ns-cloud-c4.googledomains.com.
DKIM用のCNAMEレコードは以下のように登録されています。
名前解決できることを確認します。
$ dig jn2dqc3n672rtcdgitvexmchkigsz5jf._domainkey.non-97.net +short jn2dqc3n672rtcdgitvexmchkigsz5jf.dkim.amazonses.com. $ dig ut5zt5ke55udeeigd4nkjixqg5geomul._domainkey.non-97.net +short ut5zt5ke55udeeigd4nkjixqg5geomul.dkim.amazonses.com. $ dig xmfvbay5xqcvnd2pcfkjyahikdqizuc3._domainkey.non-97.net +short xmfvbay5xqcvnd2pcfkjyahikdqizuc3.dkim.amazonses.com.
それでは、Google Domainsにてカスタムネームサーバーを使用するように変更します。これにより、CNAMEレコードの名前解決ができなくなり、検証に失敗するはずです。
カスタムネームサーバーに切り替え後、名前解決ができなくなったことを確認します。
$ dig non-97.net NS +short $ dig jn2dqc3n672rtcdgitvexmchkigsz5jf._domainkey.non-97.net +short $ dig ut5zt5ke55udeeigd4nkjixqg5geomul._domainkey.non-97.net +short $ dig xmfvbay5xqcvnd2pcfkjyahikdqizuc3._domainkey.non-97.net +short
Amazon SESでIDの状態を確認します。DKIM周りのエラーは発生していません。
この状態でテストメールを送信します。
受信したメールを確認します。
DKIM自体はパスしていますね。
メールのソースは以下のとおりです。
Delivered-To: <宛先メールアドレス> Received: by 2002:a05:6130:f05:b0:7f1:9217:3e21 with SMTP id ct5csp1732738uab; Sun, 12 May 2024 19:56:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG0z/D0sgrGVH7rUlyk5kP5ohb6BN84+O6Bc3glBrc9H1tUPBSGaZ+gxbjqaNJe/66l4xay X-Received: by 2002:a37:ef14:0:b0:790:72ef:50cb with SMTP id af79cd13be357-792c75efc2emr959084785a.60.1715568996779; Sun, 12 May 2024 19:56:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715568996; cv=none; d=google.com; s=arc-20160816; b=YdITyZh76Q3O3WSSqj2Ffam+NcbMbxiIAlIAa9A+hFcgZ9LyKgvKinKGVKqahFLsLd mZEM7t1FygtEt8Ee1tfFmxFud0j8+KKhuTo+dZQBZqhiufb1yEHS5R8H+bMqVqDF9VI3 V88ugq7m18SkJJW+P78AFsn+MCk7rURCjG8sw27uZH08dre1rM/mt+fvvpNvH1+pi3fz 1I1D+dT/SpYxNMyDPHTSpVW3IW/e2IuTXYGh0qmLKfjQL78a8eVOTAGDYk9ggUmH7Zv9 GLAWpxIfuoXEE595UA/xZpinpImdOZJhCHNgXs9kBumAXIkhShy61eE18jBTKS0Y5kIh 0nOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:date:message-id:mime-version:subject:to:from :dkim-signature:dkim-signature; bh=l7KbOLCUJ9aIjYgbgF2K4zjD2v+wEt/vCvltDzCUwxw=; fh=RsXeDY2DPb6hRhIsFcWxCVYee0eiid4hQt4ZLoAWGM8=; b=V1OgOWJKqvDlepGI6u+w97wUDIA3nXHEqhPWCynFRlzU4H1o54Ybrg+QALGs6n8Dah +TCHEICYEwaRP0PaWMGruXBVS4b/cSzDynfTPCTkpFHvWBySeUSkq8V6m2joGttM28K3 hvseXqqxMJ8ZIqoTP4yra4i9dCRK9SB2V7zgqg4n8Xgml7tWVN1A9IlflDkNb/Deydxg bmGeRipIE3FZaF7t9T6dpLV51xRUMJ2JCgltqUblR1HeT7rts22/kXnv+o2tH298AY9u nSStJOquWXXz1wW17P7W4Hl8UvN56QCwbNNXO53ZV6simCoSgs1lkw11dJizqvce0LdC rJNw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (dns failure for signature) header.i=@non-97.net header.s=jn2dqc3n672rtcdgitvexmchkigsz5jf header.b=i6++f18O; dkim=pass header.i=@amazonses.com header.s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug header.b="hOsA/CBN"; spf=pass (google.com: domain of 0100018f6fe16da8-9fe46e15-6699-440f-bf5f-94f1e196214c-000000@amazonses.com designates 54.240.8.95 as permitted sender) smtp.mailfrom=0100018f6fe16da8-9fe46e15-6699-440f-bf5f-94f1e196214c-000000@amazonses.com Return-Path: <0100018f6fe16da8-9fe46e15-6699-440f-bf5f-94f1e196214c-000000@amazonses.com> Received: from a8-95.smtp-out.amazonses.com (a8-95.smtp-out.amazonses.com. [54.240.8.95]) by mx.google.com with ESMTPS id af79cd13be357-792bf365081si920870485a.586.2024.05.12.19.56.36 for <<宛先メールアドレス>> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 12 May 2024 19:56:36 -0700 (PDT) Received-SPF: pass (google.com: domain of 0100018f6fe16da8-9fe46e15-6699-440f-bf5f-94f1e196214c-000000@amazonses.com designates 54.240.8.95 as permitted sender) client-ip=54.240.8.95; Authentication-Results: mx.google.com; dkim=temperror (dns failure for signature) header.i=@non-97.net header.s=jn2dqc3n672rtcdgitvexmchkigsz5jf header.b=i6++f18O; dkim=pass header.i=@amazonses.com header.s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug header.b="hOsA/CBN"; spf=pass (google.com: domain of 0100018f6fe16da8-9fe46e15-6699-440f-bf5f-94f1e196214c-000000@amazonses.com designates 54.240.8.95 as permitted sender) smtp.mailfrom=0100018f6fe16da8-9fe46e15-6699-440f-bf5f-94f1e196214c-000000@amazonses.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=jn2dqc3n672rtcdgitvexmchkigsz5jf; d=non-97.net; t=1715568995; h=From:To:Subject:MIME-Version:Content-Type:Message-ID:Date; bh=l7KbOLCUJ9aIjYgbgF2K4zjD2v+wEt/vCvltDzCUwxw=; b=i6++f18OBq0cTJyAB4AnLXpe1pvCOs6TR1qeP4OK7NErV4YuiJPIx4TooUUbdRvo F800PPYgPOJkFKFpysy2CpmQOO5xp/ZUACCX/UwEiUCs0i5wnRZE71PSs1trkDxAqkJ MXJpri34QkjKP3w+uPisY49Yj9yqMUquy8Fzy+zY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1715568995; h=From:To:Subject:MIME-Version:Content-Type:Message-ID:Date:Feedback-ID; bh=l7KbOLCUJ9aIjYgbgF2K4zjD2v+wEt/vCvltDzCUwxw=; b=hOsA/CBNofw14Va+4mBJPf2TlZGBBcaVIPUVNIDfMq7MfPBdeKRxFMt+h3Rx3259 AapF3Ee0miMKQw8naBztaqLCQNWy6ra5zDUj9Ca13PSqTxGJMseTuDVjJzYPkjdmevJ AdQOni+/RPRafonKuspmQOW5eKAB7ZGQk+3x81aM= From: dkim-test@non-97.net To: <宛先メールアドレス> Subject: DKIM test MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_422987_1179258129.1715568995752" Message-ID: <<メールID> Date: Mon, 13 May 2024 02:56:35 +0000 Feedback-ID: <フィードバックID> X-SES-Outgoing: 2024.05.13-54.240.8.95 ------=_Part_422987_1179258129.1715568995752 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit DKIM test ------=_Part_422987_1179258129.1715568995752 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit DKIM test ------=_Part_422987_1179258129.1715568995752--
dkim=temperror (dns failure for signature) header.i=@non-97.net header.s=jn2dqc3n672rtcdgitvexmchkigsz5jf header.b=i6++f18O;
とDKIMの作成者署名は失敗しています。Amazon SESの第三者署名のみになる点は注意しましょう。
以下記事で紹介しているようにDMARC認証をしている場合はDKIMアライメントが一致しないため、DMARC認証に失敗すると考えます。
再度検証した場合はどうでしょうか。verify-domain-dkimで検証します。
$ aws ses get-identity-dkim-attributes --identities non-97.net { "DkimAttributes": { "non-97.net": { "DkimEnabled": true, "DkimVerificationStatus": "Success", "DkimTokens": [ "ut5zt5ke55udeeigd4nkjixqg5geomul", "xmfvbay5xqcvnd2pcfkjyahikdqizuc3", "jn2dqc3n672rtcdgitvexmchkigsz5jf" ] } } } $ aws ses verify-domain-dkim --domain non-97.net { "DkimTokens": [ "ut5zt5ke55udeeigd4nkjixqg5geomul", "xmfvbay5xqcvnd2pcfkjyahikdqizuc3", "jn2dqc3n672rtcdgitvexmchkigsz5jf" ] } $ aws ses get-identity-dkim-attributes --identities non-97.net { "DkimAttributes": { "non-97.net": { "DkimEnabled": true, "DkimVerificationStatus": "Success", "DkimTokens": [ "ut5zt5ke55udeeigd4nkjixqg5geomul", "xmfvbay5xqcvnd2pcfkjyahikdqizuc3", "jn2dqc3n672rtcdgitvexmchkigsz5jf" ] } } }
特に変わりありませんね。
メール送信してもDKIMの検証に成功する結果は変わらずでした。
数時間ほど待っても変わりありません。
ということで、検証をした限りではDKIM検証用のCNAMEレコードを削除しても、DMARC認証をしていなければ直ちに影響はなさそうです。
放置してみる
しばらくそのまま放置していると以下のような通知が来ました。DKIMの検証に必要なCNAMEレコードが存在しないことが明らかになったようです。
Subject: DKIM signing DISABLED for non-97.net in US East (N. Virginia) region
Body: We detected that the DNS records required for the DKIM setup of non-97.net are no longer present in your DNS settings.
To protect your email deliverability, we have temporarily disabled DKIM signing for emails originating from non-97.net. If you use Amazon Pinpoint to send mail through this domain, those emails will also be affected.
If the removal of the DNS records was intentional, you do not need to take any additional action. In 5 days, non-97.net will no longer be considered to be configured for the purpose of DKIM signing.
If it was unintentional, please restore the DNS records to your DNS settings within 5 days. Once we confirm the presence of the DNS records, we will re-enable DKIM signing.
Please note that the settings for individually verified email addresses override domain-level settings. For example, if you enable DKIM signing for a verified domain but disable DKIM signing for a verified email address in that domain, then emails from that email address will not be DKIM-signed.
For DKIM troubleshooting information, see http://docs.aws.amazon.com/ses/latest/DeveloperGuide/DKIM-problems.html .
Please note that this email only relates to the US East (N. Virginia) region.
Thank you for using Amazon Web Services.
5日以内にDNS設定を戻せとも記載されていますね。
5日以上放置しましょう。
すると、ちょうど5日後にDKIMのセットアップを取り消したと通知が来ました。
Subject: DKIM setup REVOKED for non-97.net in US East (N. Virginia) region
Body: 5 days ago, we detected that the DNS records required for the DKIM setup of non-97.net were no longer present. A notice was sent to you at that time.
Since 5 days have elapsed and the DNS records have not been restored, Amazon SES and Amazon Pinpoint will no longer consider non-97.net to be configured for the purpose of DKIM signing. If you wish to re-enable DKIM signing, please reinitiate the DKIM set-up process via the Amazon SES or Amazon Pinpoint console or the API.
For DKIM troubleshooting information, see http://docs.aws.amazon.com/ses/latest/DeveloperGuide/DKIM-problems.html .
Please note that this email only relates to the US East (N. Virginia) region.
Thank you for using Amazon Web Services.
再度DKIMセットアッププロセスを開始しろとも記載されていますね。
Google Domainsでカスタムネームサーバーからデフォルトのネームサーバーに切り替えます。これによりDKIM用のCNAMEレコードの検証ができるようになるはずです。
設定変更して数十分放置しましたが、DKIMの設定
は未設定
のままです。
verify-domain-dkimで検証してみましょう。
$ aws ses verify-domain-dkim --domain non-97.net { "DkimTokens": [ "ut5zt5ke55udeeigd4nkjixqg5geomul", "xmfvbay5xqcvnd2pcfkjyahikdqizuc3", "jn2dqc3n672rtcdgitvexmchkigsz5jf" ] } $ aws ses get-identity-dkim-attributes --identities non-97.net { "DkimAttributes": { "non-97.net": { "DkimEnabled": true, "DkimVerificationStatus": "Success", "DkimTokens": [ "ut5zt5ke55udeeigd4nkjixqg5geomul", "xmfvbay5xqcvnd2pcfkjyahikdqizuc3", "jn2dqc3n672rtcdgitvexmchkigsz5jf" ] } } }
検証できていそうです。
マネジメントコンソールを確認すると、DKIMの設定
は成功
になっていますね。ちなみに、実行前後でCNAMEレコード名も値も変わりありません。
DKIMのセットアップが成功したという通知も来ていました。
Subject: DKIM setup SUCCESS for non-97.net in US East (N. Virginia) region
Body: Congratulations! Your DKIM setup for the domain non-97.net is complete. You can now send DKIM-signed emails from any address within this domain through both Amazon SES and Amazon Pinpoint.
Please note that the settings for individually verified email addresses override domain-level settings. For example, if you enable DKIM signing for a verified domain but disable DKIM signing for a verified email address in that domain, then emails from that email address will not be DKIM-signed.
For more information about DKIM, see the Amazon SES Developer Guide at http://docs.aws.amazon.com/ses/latest/DeveloperGuide/dkim.html .
Please note that this email only relates to the US East (N. Virginia) region.
Thank you for using Amazon Web Services.
誤ってCNAMEレコードを削除してしまった場合は早めに再登録を
Amazon SESのEasy-DKIMのCNAMEレコードを一定期間検証できなかった場合の挙動の確認をしました。
検証をした限りではDKIM検証用のCNAMEレコードを削除しても、DMARC認証をしていなければ直ちに影響はなさそうです。ただし、誤ってCNAMEレコードを削除してしまった場合は早めに再登録をしましょう。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!