やること
①お名前ドットコムでドメイン取得 お名前ドットコムでサーバー借りたりする。
②お名前ドットコムのドメインを使ってAWS SESからメール送信してみる。
③SESからのメールの信頼性を上げる。
Ex.送信側から受信のSPF DKIM の動き
①お名前ドットコムでドメイン取得
ドメイン取得
メールアドレス作成
DNSサーバー
メールサーバー
の設定をします。
ここでは紹介しません。
次はGmailの設定。Gmailの使い慣れた画面からお名前ドットコムのemailを使う設定です。
Gmailアクセス
歯車クリック
受信サーバ(POP3)と送信サーバ(SMTP)の設定をします。
パスワードはお名前で作成したemailのパスワード。コピペではなく、直打ちしないとログイン失敗する。
サーバ名とポートはお名前のメールサーバ参照させる。
②お名前ドットコムのドメインを使ってAWS SESからメール送信してみる。
SESから送るのが本番の運用なので、こちらで信頼性があればそれで良しです。
SESの設定をします。
idからemailとドメインを登録してください。
arisaweb.netの設定からDKIMを設定します。
CNAMEとかTXTをお名前ドットコムのDNSレコードに追加します。
ホスト名は、デフォルトで取得したドメインがつくので、登録時はドメイン部分を消すこと。
メールアドレスの認証は 「この特定のメールアドレスを使っているのは本人か?」
ドメインの認証は「このドメインのDNS設定を変更できる人(=管理者)か?」を見ている。
メールアドレスの認証も済ませとくこと。
送信先のメールアドレスもSESで認証しとく必要ありです。
ドメイン、email 、送信先のemail、3つ登録しました。
(追加)カスタムMAIL FROMドメインの設定。
これを設定しないと、受信側からみて、
FROM arisaweb.net
Return-Path amazon.com
となって、FROM = Return-Pathのドメインでないと、怪しまれる。
できあがったDNSレコードをお名前DNSに 先程のように登録する。
SESからテストメール送信。
AMAZON CLI使える場合、コマンドプロンプトから送信します。
aws ses send-email --from "test@arisaweb.net" --destination "ToAddresses=<あなたのメールアドレス>" --message "Subject={Data='Test from SES'},Body={Text={Data='This is a real test message'}}" --region ap-southeast-2
test@arisaweb.net
<あなたのメールアドレス>
リージョン
これら3つ自分の環境に合わせて変えてください。
Enter押して、メールを送信します。
<あなたのメールアドレス>にメールが届いているか確認しましょう。
emailの信頼性チェックには次のサイトを使います。mailのヘッダーをコピペすればメールの信頼性がわかります。
gmailからemailのヘッダー確認方法
原文を表示をクリック。でヘッダー情報見れます。
ヘッダー情報をコピペして、先程の解析サイト(/mxtoolbox.com/EmailHeaders.aspx)に貼り付けて実行。
項目説明
◆DMARC Compliant(DMARC準拠)
DMARC(Domain-based Message Authentication, Reporting & Conformance) は、
送信ドメインが「なりすまし」されていないことを示すポリシー。
◆SPF Authenticated(SPF認証成功)
SPF(Sender Policy Framework) は、送信元IPアドレスがそのドメインからの正当な送信者かを判定します。
◆SPF Alignment(SPF整合性)
SPFが「合格」していても、送信者のアドレス(From)とReturn-Path(MAIL FROM)のドメインが一致しているかもチェックされます。
Return-Pathとは・・・Fromとの違い。
◆DKIM Authenticated(DKIM認証成功)
DKIM(DomainKeys Identified Mail) は、送信者ドメインが「署名」したことを保証します。
DNSに公開鍵が存在しない(TXTレコードがない)場合エラーとなる
◆DKIM Alignment(DKIM整合性)
DKIM署名のドメイン(d=)とFromドメインが一致しているかをチェック。
③メールの信頼性を上げる。
一番上のDMARCだけNGになっていますので、passになるようにしてみます。
dmarc設定(受信側の挙動設)を変えてみる。
none から quarantine に変更してみる。
結果
OK!
でも、実際の運用ではnoneでいい気がします。
Ex.送信側から受信のSPF DKIM の動き
SPF
SPFレコードは受信者側が、送信者のなりすましを判定するための技術です。
送信元メールサーバのIPとSPFレコードに記載されているIPが合致しているか確かめます。
-
メールを受け取ったとき、受信サーバーはまず:
SMTPの MAIL FROM:(Return-Path) を確認します
例: MAIL FROM:info@arisaweb.net -
arisaweb.net というReturn-PathドメインのDNSを見に行きます
arisaweb.net に対して TXTレコードで始まる "v=spf1" のSPFレコードを探します
例:arisaweb.net. TXT "v=spf1 ip4:160.251.132.192/27 ~all" -
SPFレコードを評価:実際の送信元IPが許可されているかをチェック
受信したメールの実際の送信元IPアドレスを取得します(例:160.251.132.195)
このIPが、SPFレコードで許可されているかどうかを評価します
たとえば:
ip4:160.251.132.192/27 に含まれるか?
条件に合わなければ ~all に従って soft fail
DKIM
送信側がハッシュ化したものを受信側が、公開鍵で解読し、改ざんが無いか検出する方法。
受信側が、メールヘッダーのDKIM-Signature:に、書かれているドメインに問い合わせを行い、そのDNSサーバの中にTXTレコードの公開鍵へのパスが無いか調べる。
感想
SPF DKIMを作成したドメインのDNSに設定しました。結果信頼性が上がりました。
DMARCは実際の運用を想定して、勝手にメールを破棄せず迷惑フォルダに入るnoneを選択しました。