AWS如何正確設(shè)置DKIM?
我來答

AWS如何正確設(shè)置DKIM?

苗麗鳳 2020-09-14 提問
385

從AWS申請(qǐng)免費(fèi)的SSL證書并對(duì)DKIM排錯(cuò),如何正確設(shè)置DKIM?

關(guān)閉
提交回答
1 個(gè)回答
我來答
趙梓禾

對(duì)于如何正確設(shè)置DKIM這個(gè)問題,我只能把我知道的分享在下面,僅供參考吧。

·什么是DKIM,DKIM代表DomainKeys Identified Email。它提供了一種方法來驗(yàn)證發(fā)送電子郵件的組織是否有權(quán)這樣做。

·DKIM需要在DNS區(qū)域中添加公鑰。關(guān)鍵是通常由發(fā)送您的電子郵件,例如組織提供給您SendGrid,郵戳。密鑰將作為TXT記錄直接插入您的區(qū)域,或者它將是指向提供商DNS中密鑰的CNAME。

我在做這篇Blog時(shí)發(fā)現(xiàn)一個(gè)問題,就是關(guān)于在DNS中加入CNAME時(shí),有些DNS提供商不能夠使用下劃線開頭,提示主機(jī)名類型不符。

SES創(chuàng)建的記錄是CNAME而不是TXT記錄,因此SES可以托管簽名密鑰。通過托管簽名密鑰,SES可以自動(dòng)輪換簽名憑據(jù)并降低任何密鑰泄漏的風(fēng)險(xiǎn)。

某些DNS提供商不支持添加包含下劃線的CNAME記錄,盡管RFC特別允許這樣做。但是,DKIM規(guī)范要求記錄名稱中的下劃線,因此刪除下劃線不是一種選擇。下劃線是記錄名稱中唯一不受SES或其客戶控制的部分。

雖然在Internet標(biāo)準(zhǔn)中不允許在dnsNames中使用下劃線字符,但在TLS/SSL證書的SAN字段中使用時(shí),也一直被視為灰色區(qū)域。如果在咱們的DNS商中發(fā)生此類事件的話,可以使用以下的方法進(jìn)行解決:

第一種解決方案可以更改DNS提供商。Amazon Web Services提供名為Amazon Route 53的可擴(kuò)展域名服務(wù),該服務(wù)遵循RFC強(qiáng)加的標(biāo)準(zhǔn)并允許SES生成的CNAME記錄。使用SES與Route 53集成。如果您在Route 53上使用與SES相同的AWS賬戶設(shè)置域名,則可以通過一鍵式過程設(shè)置域驗(yàn)證和DKIM。

第二種方法是使用子域進(jìn)行電子郵件發(fā)送,并將其委托給DNS提供商,例如Amazon Route 53,它正確地允許CNAME記錄中的下劃線。然后,您可以使用與在主域上執(zhí)行的相同步驟在子域上執(zhí)行域驗(yàn)證和DKIM驗(yàn)證過程。電子郵件將被DKIM簽名,但"發(fā)件人"地址將包含子域。

第三種選擇使用自己進(jìn)行簽名。這將使您完全控制密鑰和簽名過程,但實(shí)現(xiàn)和維護(hù)需要更多的工作。

最后,您可以找DNS提供商,讓他們?cè)赗FC允許的CNAME記錄中正確支持添加對(duì)下劃線。

對(duì)于我們的域名,我們假設(shè)我們的DNS提供商已經(jīng)啟用了對(duì)CNAME記錄中下劃線的支持,現(xiàn)在我們可以安全地添加DKIM文檔中指定的所需DNS條目。通過此步驟,我們現(xiàn)在等待SES向我們發(fā)送確認(rèn)電子郵件,并在SES控制臺(tái)中將域的DKIM驗(yàn)證狀態(tài)從Pending更改為已驗(yàn)證,這將確認(rèn)CNAME記錄是否存在。

回答于 2020-09-14
贊同
評(píng)論
掃碼關(guān)注
獲取更多出海問答的相關(guān)信息
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家