如何為 SPF、DKIM 和 DMARC 設置 DNS TXT 區域以及如何防止企業電子郵件被 Gmail 拒絕 - 郵件傳遞失敗

Administrator二德 嚴重的商業私人電子郵件 它經常面臨許多問題和挑戰。 從海浪中 垃圾郵件 必須被特定過濾器阻止, 通信安全 在本地電子郵件服務器和遠程服務器中, 組態 si 監控 SMTP 服務, POP, IMAP,還有很多很多其他的細節 SPF、DKIM 和 DMARC 配置 遵循安全電子郵件的最佳實踐。

很多問題 發送電子郵件收貨人 到/從您的供應商,由於區域配置不正確而出現 DNS,電子郵件服務呢。

為了從域名發送電子郵件,它必須是 託管在電子郵件服務器上 正確配置,並且 擁有 DNS 區域的域名SPF, MX, DMARC SI DKIM 在管理器中正確設置 DNS TXT 的域。

在今天的文章中,我們將關註一個相當普遍的問題 私人企業電子郵件服務器. 無法向 Gmail、Yahoo! 發送電子郵件要么 iCloud.

發送到@Gmail.com 的郵件會被自動拒絕。 “郵件傳遞失敗:將郵件返回給發件人”

我最近遇到了一個問題 公司的電子郵件域, 電子郵件定期發送給其他公司和個人,其中一些人有地址 @ Gmail.com. 發送到 Gmail 帳戶的所有郵件都會立即返回給發件人。 “郵件傳遞失敗:將郵件返回給發件人”。

錯誤信息返回到電子郵件服務器 EXIM 看起來像這樣:

1nSeUV-0005zz-De ** [email protected] R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [142.x.x.27] X=TLS1.2:ECDHE-ECDSA-AES128-GCM-SHA256:128 CV=yes: SMTP error from remote mail server after pipelined end of data: 550-5.7.26 This message does not have authentication information or fails to\n550-5.7.26 pass authentication checks. To best protect our users from spam, the\n550-5.7.26 message has been blocked. Please visit\n550-5.7.26  https://support.google.com/mail/answer/81126#authentication for more\n550 5.7.26 information. d3-20020adff843000000b001f1d7bdaeb7si6107985wrq.510 - gsmtp

在這種情況下,這不是很嚴重的事情,例如 在垃圾郵件列表中包含發送域名或發送 IP 全球或o 主要配置錯誤 服務器上的電子郵件服務 (EXIM).
儘管許多人在想到垃圾郵件或 SMTP 配置錯誤時會立即看到此消息,但問題是由該區域產生的。 DNS TXT 的域。 大多數時候,DKIM 沒有在 DNS 區域中配置,或者沒有在域的 DNS 管理器中正確傳遞。 在使用它的人身上經常會發現這個問題 CloudFlare的 作為 DNS 管理員,忘記通過 DNS TXT: mail._domainkey (DKIM), DMARC si SPF.

正如 Gmail 的拒絕消息告訴我們的,發件人域的真實性和身份驗證失敗。 “此消息沒有身份驗證信息或未通過\n550-5.7.26 通過身份驗證檢查。” 這意味著該域沒有配置 DNS TXT 來確保收件人電子郵件服務器的可信度。 Gmail,在我們的腳本中。

當我們在 cPanel 或 VestaCP 上添加具有活動電子郵件服務的 Web 域時,會自動創建該域的 DNS 區域中的文件。 包含電子郵件服務配置的 DNS 區域: MX, SPF, DKIM, DMARC.
在我們選擇域作為管理器的情況下 DNS CloudFlare,必須將域的託管帳戶的DNS區域複製到CloudFlare才能使電子郵件域正常工作。 這就是上述場景中的問題。 在第三方 DNS 管理器中,不存在 DKIM 註冊,儘管它存在於本地服務器的 DNS 管理器中。

什麼是 DKIM?如果我們在電子郵件域上沒有此功能,為什麼電子郵件會被拒絕?

域密鑰識別郵件(DKIM) 是一種標準的電子郵件域身份驗證解決方案,它添加了一個 數字簽名 發送的每條消息。 目標服務器可以通過 DKIM 檢查消息是否來自發件人的法律域,而不是來自使用發件人身份作為掩碼的另一個域。 無論如何,如果你有域名 ABCDqwerty.COM 如果沒有 DKIM,電子郵件可能會使用您的域名從其他服務器發送。 如果您想要身份盜竊,在技術上稱為 電子郵件欺騙.
發送電子郵件時的常用技術 網絡釣魚 si 垃圾郵件.

還可以通過 DKIM 確保, 發件人發送後,郵件內容沒有改變.

在電子郵件系統的嚴格主機和 DNS 區域中正確設置 DKIM 也消除了您的郵件可能會到達收件人的垃圾郵件或根本無法到達的可能性。

DKIM 的一個示例是:

mail._domainkey: "v=DKIM1; k=rsa; p=MIGfMA0GCSqGfdSIb3DQEBAQUAA4GN ... ocqWffd4cwIDAQAB"

當然,得到​​的 DKIM 值 RSA加密算法 每個域名都是唯一的,並且可以從主機的電子郵件服務器重新生成。

安裝並正確設置 DKIM DNS TXT 管理員,很有可能解決郵件退回到 Gmail 帳戶的問題。 至少對於“郵件傳遞失敗”錯誤:

“SMTP error 數據流水線結束後來自遠程郵件服務器:550-5.7.26 此消息沒有身份驗證信息或未通過\n550-5.7.26 身份驗證檢查。 為了最好地保護我們的用戶免受垃圾郵件的侵害,\n550-5.7.26 消息已被阻止。”

作為一個簡短的回顧, DKIM 為發送的每條消息添加數字簽名,它允許目標服務器驗證發件人的真實性。 如果消息來自您的公司,並且沒有使用第三方地址來使用您的身份。

Gmail的 (谷歌)也許 自動拒絕所有消息 來自沒有這種 DKIM 數字語義的域。

什麼是 SPF,為什麼它對於安全的電子郵件發送很重要?

就像 DKIM 一樣,並且 SPF 旨在防止 網絡釣魚郵件 si 電子郵件欺騙. 這樣,發送的郵件將不再被標記為垃圾郵件。

發件人政策框架(SPF) 是對發送消息的域進行身份驗證的標準方法。 SPF 條目設置為 TXT DNS 管理器 您的域,並且此條目將指定允許使用您或您組織的域名發送電子郵件的域名、IP 或域。

沒有 SPF 的域可以允許垃圾郵件發送者從其他服務器發送電子郵件, 使用您的域名作為掩碼. 通過這種方式,它們可以傳播 虛假信息可能會要求提供敏感數據 代表您的組織

當然,仍然可以從其他服務器代表您發送郵件,但如果您的域的 SPF TXT 條目中未指定該服務器或域名,它們將被標記為垃圾郵件或被拒絕。

DNS 管理器中的 SPF 值如下所示:

@ : "v=spf1 a mx ip4:x.x.x.x ?all"

其中“ip4”是您的電子郵件服務器上的 IPv4。

如何為多個域設置 SPF?

如果我們想授權其他域代表我們的域發送電子郵件,我們將使用值 "include”在 SPF TXT 中:

v=spf1 ip4:x.x.x.x include:example1.com include:example2.com ~all

這意味著電子郵件也可以從我們的域名發送到 example1.com 和 example2.com。
如果我們有例如一個,這是一個非常有用的記錄 網上商店 地址上“example1.com", 但是我們希望從在線商店給客戶的消息離開 公司域名地址,這就是“example.com”。 在 SPF TXT 對於“example.com”,根據需要與 IP 和“include:example1.com”一起指定。 以便可以代表組織發送消息。

如何為 IPv4 和 IPv6 設置 SPF?

我們有一個郵件服務器,兩者都有 IPv4 並與 IPv6,在 SPF TXT 中指定兩個 IP 非常重要。

v=spf1 ip4:196.255.100.26 ip6:2001:db8:8:4::2 ~all

接下來,在“ip”之後的指令“include”添加授權運輸的域。

這是什麼意思 ”~all“,”-all“和”+allSPF的?

如上所述,提供商 (ISP) 仍然可以代表您的組織接收電子郵件,即使它們是從 SPF 策略中未指定的域或 IP 發送的。 “all”標籤告訴目標服務器如何處理來自其他未經授權的域的這些郵件並代表您或您的組織發送郵件。

~all :如果郵件來自未在 SPF TXT 中列出的域,則郵件將在目標服務器上被接受,但它們將被標記為垃圾郵件或可疑郵件。 他們將受到收件人提供商良好做法的反垃圾郵件過濾器的約束。

-all :這是添加到 SPF 條目的最嚴格的標籤。 如果未列出該域,則該消息將被標記為未經授權並被提供商拒絕。 也不會發貨 mac在垃圾郵件中。

+all : 很少使用且根本不推薦,此標籤允許其他人代表您或您的組織發送電子郵件。 大多數提供商會自動拒絕來自帶有 SPF TXT 的域的所有電子郵件。”+all“。 正是因為無法驗證發件人的真實性,除非經過“電子郵件標頭”檢查。

概括: 發件人策略框架 (SPF) 是什麼意思?

通過 TXT / SPF DNS 區域、IP 和域名進行授權,可以從您的域或公司發送電子郵件。 它還應用適用於從未經授權的域發送的消息的後果。

DMARC 是什麼意思,為什麼它對您的電子郵件服務器很重要?

DMARC (基於域的消息身份驗證報告和一致性) 與政策標準密切相關 SPF si DKIM.
DMARC 是一個 驗證系統 旨在保護 您或您公司的電子郵件域名, 電子郵件欺騙等做法和 網絡釣魚詐騙.

使用發件人策略框架 (SPF) 和域密鑰識別郵件 (DKIM) 控制標準,DMARC 添加了一個非常重要的功能。 報告.

當域所有者在 DNS TXT 區域發布 DMARC 時,他或她將獲得有關誰代表他或她或擁有受 SPF 和 DKIM 保護的域的公司發送電子郵件的信息。 同時,消息的接收者將知道發送域的所有者是否以及如何監控這些良好實踐策略。

DNS TXT 中的 DMARC 記錄可以是:

V=DMARC1; rua=mailto:[email protected]; ruf=mailto:[email protected]; p=none; sp=none; fo=0;

在 DMARC 中,您可以設置更多報告事件的條件和用於分析和報告的電子郵件地址。 建議為 DMARC 使用專用電子郵件地址,因為收到的郵件量可能很大。

可以根據您或您的組織實施的政策設置 DMARC 標籤:

v - 現有 DMARC 協議的版本。
p - 當無法驗證電子郵件的 DMARC 時應用此策略。 它可以具有以下值:“none“,”quarantine“或”reject“。 用來 ”none”獲取有關消息流及其狀態的報告。
rua - 它是 ISP 可以發送 XML 格式反饋的 URL 列表。 如果我們在這裡添加電子郵件地址,鏈接將是:rua=mailto:[email protected]“。
ruf - ISP 可以代表您的組織發送網絡事件和犯罪報告的 URL 列表。地址將是:ruf=mailto:[email protected]“。
rf - 網絡犯罪報告格式。 它可以塑造“afrf“或”iodef“。
pct - 指示 ISP 僅對一定百分比的失敗消息應用 DMARC 策略。 例如,我們可能有:pct=50%“或政策”quarantine“和”reject“。 它永遠不會被接受。”none“。
adkim - 為 DKIM 數字簽名指定“對齊模式”。 這意味著檢查 DKIM 條目的數字簽名與域的匹配。 adkim 可以有以下值: r (Relaxed)或 s (Strict).
aspf - 與案件相同 adkim 為 SPF 指定“對齊模式”並支持相同的值。 r (Relaxed)或 s (Strict).
sp - 此策略適用於允許從組織域派生的子域使用域的 DMARC 值。 這避免了對每個區域使用單獨的策略。 它實際上是所有子域的“通配符”。
ri - 此值設置接收 DMARC 的 XML 報告的時間間隔。 在大多數情況下,最好每天報告一次。
fo - 欺詐報告選項。 “法庭的 options“。 當 SPF 和 DKIM 驗證均失敗時,它們的值可能為“0”以報告事件,或者在 SPF 或 DKIM 不存在或未通過驗證的情況下為“1”值。

因此,要確保您或您公司的電子郵件到達您的收件箱,您需要考慮這三個標準。”發送電子郵件的最佳實踐“。 DKIM, SPF si DMARC. 所有這三個標準都是 DNS TXT,可以 admin從域的 DNS 管理器。

對技術充滿熱情,我喜歡測試和編寫有關操作系統的教程 macOS,Linux, Windows, 關於 WordPress, WooCommerce 和配置 LEMP 網絡服務器(Linux、NGINX、MySQL 和 PHP)。 我寫在 StealthSettings.com 自 2006 年以來,幾年後我開始撰寫 iHowTo.Tips 教程和有關生態系統中設備的新聞 Apple: iPhone,iPad, Apple 手錶,HomePod, iMac, MacBook、AirPods 和配件。

發表評論