什麼是SPF記錄?提高郵件可送達性和安全性

什麼是SPF記錄?提高郵件可送達性和安全性

像發件人策略框架 (SPF) 這樣的安全技術,在這個飽受網路攻擊和垃圾郵件困擾的世界裡,可以說是無價之寶。

從個人、企業到政府機構,網路安全是每個人都十分關注的問題。電子郵件欺騙、網路釣魚攻擊、垃圾郵件和其他惡意陰謀等安全風險已經變得十分猖獗,其攻擊目標包括資料、應用程式、網路和人員。

因此,網站所有者可能會損失資料、資金、聲譽和客戶信任。而電子郵件是最容易受到攻擊的途徑之一。

SPF 是一種流行的電子郵件驗證技術,可以通過檢測電子郵件欺騙和防止垃圾郵件來幫助抵禦這些攻擊。使用 SPF 記錄還有助於防止您的電子郵件在到達目標受眾之前被其他伺服器標記為垃圾郵件。

在本文中,我們將討論 SPF 記錄以及為什麼必須使用這種技術來確保電子郵件安全

SPF 的含義是什麼?

在瞭解什麼是 SPF 記錄之前,我們先來了解一下 SPF。

發件人策略框架(SPF)是指一種驗證電子郵件的方法,目的是在電子郵件傳送過程中發現偽造的發件人地址。

SPF 工作程式

SPF 工作程式 (圖片來源:DMRC

攻擊者經常偽造發件人地址,使其看起來像真實的普通使用者地址。SPF 可以幫助發現這些郵件並將其隔離,使他們無法實施攻擊。

SPF 允許接收端的伺服器檢檢視似來自給定域的電子郵件實際上是否來自該域的授權 IP 地址。包含特定域的所有授權 IP 地址和主機的列表可以在該域的 DNS 記錄中找到。

什麼是 SPF 記錄?

SPF 記錄是一種釋出在 DNS 區域檔案中的 TXT 記錄,其中包含可代表您的域名傳送電子郵件的所有授權郵件伺服器的列表。它是 SPF 的一種實現方式,必須新增到您的 DNS 中,以幫助識別和減少垃圾郵件傳送者以您的域名名義傳送偽造地址的惡意電子郵件。

SPF 記錄

SPF 記錄 (圖片來源:Pair

由於大多數電子郵件伺服器不進行身份驗證,因此垃圾郵件傳送者會使用偽造的發件人地址建立電子郵件,從而進行電子郵件欺騙。然後,他們通過偽造電子郵件標頭來編輯電子郵件的發件人地址,使其看起來像是從您的域名傳送的電子郵件。這一過程被稱為欺騙,垃圾郵件傳送者藉此欺騙使用者,獲取他們的私人資料並造成名譽損失。

如今,幾乎所有惡意電子郵件都帶有虛假地址。因此,被攻擊者竊取電子郵件地址的人名譽受損,浪費時間修復退回的郵件,IP 地址被列入黑名單等。

因此,有必要設定 SPF 記錄,以提高電子郵件的可送達性和安全性。

SPF 記錄語法

一般來說,SPF 記錄是使用 TXT 記錄型別定義的(不要與傳統的 SPF 檔案型別記錄混淆)。

SPF 記錄以 “v” 開頭,表示使用的 SPF 版本。目前,該版本必須是 “spf1″,因為它能被最廣泛的郵件交換伺服器識別。

之後的其他術語定義了主機從給定域傳送電子郵件的規則。這些術語還可為 SPF 記錄處理提供更多資訊。

SPF 記錄示例

以下是 SPF 記錄的外觀及其各部分的含義:

v=spf1 a include:_spf.google.com -all
  • v=spf1 是 SPF 第 1 版,是將 TXT 記錄標識為 SPF 記錄的元件。
  • a 授權域的 A 記錄中檢測到的主機傳送電子郵件。
  • include: 用於授權發件人可以代表某個域(此處為 google.com)傳送電子郵件。
  • -all 告訴接收方的伺服器,未在此 SPF 記錄中列出的地址未經授權不得傳送任何電子郵件。它還告訴伺服器拒絕此類地址。

SPF 記錄如何工作?

任何計算機都可以傳送聲稱來自 SMTP 允許的任何地址的電子郵件。攻擊者和騙子利用這一點,使用難以追蹤的偽造地址。

網路釣魚攻擊中也使用了類似的技術,攻擊者通過模仿使用者經常訪問的真實網站或服務,誘騙使用者透露其個人資訊或商業資訊。

為了應對這種情況,SPF 使域所有者能夠使用 DNS 記錄來定義哪些計算機有權從該域傳送電子郵件。此外,收件人在收到電子郵件正文之前,通過 SPF 記錄驗證地址後,可以拒絕來自未經授權來源的電子郵件。

正如我們在上面的示例中看到的,SPF 記錄以 TXT 條目的形式列出了所有授權電子郵件伺服器的 IP 地址。您可以在 SPF 條目中設定一個或多個授權 IP 地址來傳送電子郵件。

SPF 工作模型

SPF 工作模型 (圖片來源:CyberPunk

當授權使用者傳送啟用了 SPF 記錄的電子郵件時,收件人的郵件伺服器會執行 DNS 查詢,以發現 TXT 條目並確定發件人的 IP 地址是否經過授權。

如果發現沒有 SPF 記錄,就會向發件人傳送 “硬失敗” 或 “軟失敗” 資訊。

如果接收方的伺服器拒絕接受該域,則未經授權的使用者或客戶端必須收到一條拒絕訊息(”硬失敗”)。但如果客戶端恰好是訊息傳輸代理(MTA),在這種情況下,就會向實際的發信地址傳送一封退回郵件(”軟失敗”)。

SPF 記錄的組成

SPF 記錄由幾個不同部分組成,首先是版本號。

版本號

所有 SPF 記錄都以版本號開始,版本號必須由定義有效發件人的機制授權。SPF 版本號(如 spf1)後面是一個由機制、量化指標和修飾符組成的字串。

機制

機制描述了被指定為特定域授權出站郵件傳送者的主機。SPF 記錄可以有零個或多個機制。SPF 記錄中的一些常見機制包括:

  • a: 指定 DNS A 記錄中的所有 IP 地址(例如:v=spf1 a:google.com -all )。它在最後使用,並定義處理不匹配任何先前機制的發件人 IP 的規則。
  • mx: 定義指向屬於每臺主機的 MX 記錄的所有 A 記錄。示例:v=spf1 mx mx:google.com -all
  • include:: 定義其他授權域(例如: v=spf1 include:outlook.microsoft.com -all )。如果該特定域的策略通過,那麼該機制也將通過。如果要使用其他域的策略實現完全授權,則需要重定向擴充套件。
  • ptr: 它定義了指向每個主機 PTR 記錄的所有 A 記錄(例如: v=spf1 ptr:domain.com -all )。不過,如果可能,您必須避免使用這種機制。
  • all: 匹配所有遠端和本地 IP 地址,在 SPF 記錄末尾使用(例如:v=spf1 +all)。
  • exists: 根據 SPF 定義,這指定了作為例外情況簽出的域。當對給定域執行查詢時,將在獲得結果後匹配該域。它很少使用,但可提供更復雜的匹配,如 DNSBL 查詢。
  • ip4: 用於定義 IPv4 地址,例如 v=spf1 ip4:192.0.0.1 -all。
  • ip6: 用於定義 IPv6 地址,例如,v=spf1 ip6:2001:db8::8a2e:370:7334 -all

這些定義了授權從域傳送電子郵件的所有 IP 地址。

量化器

機制有一個量化器來定義如何處理匹配。

電子郵件伺服器會將發件人的 IP 地址與機制中的授權 IP 地址列表進行比較。當它在 SPF 機制中找到匹配的 IP 地址時,就會執行結果處理規則。預設規則是 pass 或 +

四個量化符如下:

  • + 表示通過結果。如果地址通過測試,則必須接受該資訊(例如: v=spf1 +all )。您可以省略它,因為例如 +mxmx 是相同的。
  • - 表示 HARDFAIL,指示地址未通過測試,郵件必須被拒收(例如: v=spf1 -all )。
  • ~ 表示 SOFTFAIL,讀作斜槓。它表示該地址未通過測試,但結果並不確定。您可以接受並標記不符合要求的電子郵件(例如: v=spf1 ~all )。
  • ? 代表 “中立”(NEUTRAL),表示該地址沒有通過或未通過測試,您可以自由選擇接受或拒絕(例如: v=spf1 ?all )。

如果 SPF 記錄中沒有量化符,則表示應用了 +all 量化符。

修飾符

修飾符可以擴充套件框架。它們是由 = 符號分隔的值或名稱對,可提供更多資訊。SPF 記錄也可以有 0 個、1 個或 2 個修飾符,但它們只能出現一次,即在記錄末尾。

使用最廣泛的兩個修飾符是

  • redirect: 用於向其他域傳送查詢。與其他機制和修飾符相比,該修飾符很容易理解,當您有多個域,需要在所有地方使用相同的 SPF 記錄時,就會使用該修飾符。
  • exp: 用於在匹配機制中包含 FAIL 定量符時提供解釋。該解釋將放在 SPF 日誌中。

為什麼需要 SPF 記錄?

如果您的域名有 SPF 記錄,就會降低收到惡意偽造電子郵件的機率,從而增強電子郵件的安全性,防止網路攻擊者和垃圾郵件傳送者。

SPF 記錄還能提高域名的可信度,降低被垃圾郵件過濾器除名的機率。這有助於合法電子郵件更快地到達您的郵箱。

此外,在您的域名中新增 SPF 記錄對於驗證哪些發件人可以代表您的域名傳送電子郵件越來越重要。它有很多好處,我們將在下文中探討。

提高電子郵件安全性

電子郵件安全

電子郵件安全 (圖片來源:Zero 1 Zero Innovations

SPF 記錄有助於提高個人和企業的電子郵件安全性。在網路安全時代,全球各地的使用者都受到網路犯罪的影響,您必須採取措施保護收件箱。

新增 SPF 記錄就是一種保護收件箱的方法。通過增加電子郵件攻擊者的難度,垃圾郵件就不太可能進入您的收件箱,從而提高了您的電子郵件安全性。

提高電子郵件的可送達性

如果一個域名沒有 SPF 記錄,其電子郵件可能會被退回,或被伺服器標記為垃圾郵件。如果這種情況反覆發生,域名向受眾成功傳送電子郵件的能力(也稱為可送達性)就會降低。

這就成為個人和企業使用此類域名聯絡目標客戶、員工、供應商和其他相關人員的障礙。

增強域名聲譽

域名聲譽

域名聲譽 (圖片來源:Rejoiner

如果您的使用者經常收到攻擊者冒充貴公司傳送的電子郵件,您的域名信譽就會受到威脅。不良分子還可能通過暴露客戶和員工的個人資訊來傷害他們,這將進一步損害您的聲譽

因此,在 SPF 記錄的幫助下保護您的域名免受此類事件的影響至關重要。通過限制僅向記錄中列出的授權 IP 地址傳送電子郵件,您可以防止垃圾郵件並降低此類攻擊的可能性。

DMARC 合規性

電子郵件驗證系統 DMARC 可確保只有授權使用者才能代表您的域名傳送電子郵件。

其政策還指示伺服器如何處理 DKIM 和 SPF 檢查失敗的電子郵件。DMARC 規定,此類電子郵件必須標記為拒收、垃圾郵件或已送達。

DMARC 還允許域管理員接收突出顯示電子郵件活動的報告,並對其策略做出相應調整。

誰需要 SPF 記錄?

如果您向客戶、員工或供應商傳送商業和交易電子郵件,則需要為您的域名設定 SPF 記錄。使用不同的電子郵件安全解決方案可提高電子郵件的可送達性和安全性。

  • 企業和個人:有了 SPF 記錄等電子郵件驗證技術,企業和個人就可以驗證電子郵件是代表他們的域名傳送的,還是有人為了個人利益而傳送的,或者是在欺騙您的同事。您還可以通過使用 SPF 記錄和 DMARC 或 DKIM,為您的所有電子郵件指定全面的驗證策略,從而使驗證功能更加強大。
  • 網際網路服務提供商:SPF 記錄有利於 ISP。如果他們沒有正確設定 SPF 記錄,就可能不得不再次執行電子郵件過濾。此外,驗證失敗還意味著他們的電子郵件有可能被許多伺服器攔截或識別為垃圾郵件。

因此,如果您希望您的電子郵件能順利到達預定目的地,使用 SPF 記錄將確保您的電子郵件能順利到達預定目的地,併為您的域名和電子郵件提供更好的安全性。它可以過濾釣魚者和垃圾郵件傳送者的偽造電子郵件,保護您的聲譽。

如何建立、新增和編輯 SPF 記錄

以下是新增、建立和編輯 SPF 記錄的方法。

如何建立 SPF 記錄

建立 SPF 記錄

建立 SPF 記錄 (圖片來源:SendPulse

在開始建立 SPF 記錄之前,有必要先了解一下您的電子郵件傳送設定是否要求您首先建立 SPF 記錄。

因此,首先要了解返回路徑。SPF 與返回路徑中使用的域有關,而不是 FROM 域。因此,在開始時,請弄清楚您傳送郵件時使用的返回路徑。

此外,某些電子郵件傳送服務(ESP),如 Google,可以在其返回路徑中使用您的域名。這要求您為自己的域名建立一個 SPF 記錄。

但是,其他 ESP(如 Postmark)可以在返回路徑中使用自己的域名,在這種情況下,您不需要自己建立 SPF,而必須由您的 ESP 來建立。

現在,您已經知道為什麼需要設定 SPF 記錄了,下面讓我們逐步瞭解如何設定 SPF 記錄。

第 1 步:確定傳送電子郵件的 IP 地址

企業可以從多個地方傳送電子郵件。因此,在建立 SPF 記錄的第一步,您必須確定從您的域中使用哪些 IP 地址傳送電子郵件。在文字文件或電子表格中列出所有 IP 地址和相應的郵件伺服器。

此外,還要找出以品牌名義傳送電子郵件的所有途徑。可能是網路伺服器、微軟 Exchange 等公司內部郵件伺服器、ESP 的郵件伺服器、客戶郵箱提供商的郵件伺服器或第三方郵件伺服器

但如果你不確定自己的 IP 地址,可以聯絡 ESP,獲取包含與賬戶相關的所有 IP 地址的完整列表。另一種方法是與系統管理員討論。他們可以列出貴公司使用的所有 IP 地址。

第 2 步:列出傳送域

一個組織可以擁有許多域名。其中,他們可以將部分域名用於傳送電子郵件,而將其他域名用於不同的目的。

在第 2 步中,您需要為您擁有的每個域建立 SPF 記錄,無論這些域是否用於傳送電子郵件或任何其他目的。

這是因為網路犯罪分子可能會嘗試欺騙你可能不會用於傳送電子郵件的其他域名,因為這些域名不會受到 SPF 保護,而其他用於傳送電子郵件的域名則會受到 SPF 保護。

第 3 步:設定 SPF 記錄

SPF 將發件人郵件伺服器的 IP 地址與發件人在其 DNS 記錄中公佈的授權發件人 IP 地址列表進行比較,以驗證發件人的身份,確保郵件安全。

要建立 SPF 記錄,必須寫入 v=spf1 標記,然後寫入授權傳送電子郵件的 IP 地址。例如:v=spf1 ip4:192.0.0.1 -all

此外,如果您使用第三方解決方案代表您的域名傳送電子郵件:

  • 在 SPF 記錄中新增 include,指定第三方為合法發件人。例如,可以寫成:include:google.com
  • 新增完與您的域名相關的所有授權 IP 地址後,在 SPF 記錄末尾加上一個標記 -all~all。在這裡,-all 標記表示硬 SPF 失敗,而 ~all 標記表示軟 SPF 失敗。不過,對於主要的郵箱提供商, -all~all 都會導致 SPF 失敗。但在一般情況下, -all 更為常用,因為它更安全。
  • 建立 SPF 記錄時不要超過 255 個字元,並避免新增超過 10 個包含語句(也稱為 “lookups”)。

現在,您的 SPF 可能看起來像這樣:

v=spf1 ip4:192.0.0.1 include:google.com -all

這適用於授權代表您傳送電子郵件的域名。但對於其他域,您必須在 SPF 記錄中排除修飾符( -all 除外)。

以下是您不用於傳送電子郵件的域的 SPF 記錄: v=spf1 -all

這就是建立 SPF 記錄的方法。然後,釋出即可。

第 4 步:釋出 SPF 記錄

定義好 SPF 記錄後,下一步就是在 DNS 中釋出它。有兩種方法可以做到這一點:

  1. 與您的內部 DNS 管理員合作,指示他們將 SPF 記錄釋出到您的 DNS。DNS 服務提供商會為您提供一個儀表板,您可以輕鬆訪問並執行釋出任務。
  2. 您可以直接要求 DNS 服務提供商在 DNS 中釋出 SPF 記錄。

這樣,Gmail、Hotmail、Mailbird 等郵箱接收器就可以請求 SPF 記錄。

此外,如果您想更新 DNS 記錄,請:

  1. 登入從域名託管提供商處購買的域名賬戶
  2. 選擇要更新記錄的域名
  3. 進入儲存 DNS 記錄的頁面,可以是 DNS 管理器
  4. 建立一條新的 TXT 記錄,並將域名定義為 “主機 (Host)” 欄位
  5. 在 “TXT 值 (TXT Value) “欄位中填寫 SPF 記錄,並指定有效時間 (TTL)
  6. 點選 “新增記錄 (Add Record)” 或 “儲存”,在 DNS 上釋出新的 SPF 記錄。

第 5 步:測試 SPF 記錄

建立併發布 SPF 記錄後,可以使用 SPF 記錄檢查器來測試 SPF 記錄。市場上有許多 SPF 記錄檢查程式可供選擇,如 Dmarcian、Agari、Mimecast 等。

執行測試可幫助您檢查 SPF 記錄的有效性,並檢視包含可代表您的域名傳送電子郵件的所有授權伺服器的列表。如果看不到列出的合法 IP 地址,可以將傳送 IP 地址留下並更新記錄。

如何為您的域名新增 SPF 記錄

新增 SPF 記錄

新增 SPF 記錄 (圖片來源:One

您必須訪問域名的 DNS 控制面板才能新增 SPF 記錄。如果您使用的是 Kinsta 等虛擬主機服務提供商,在 DNS 中新增 SPF 記錄的過程會更簡單。您可以參考文件並按照步驟操作。

一般來說,電子郵件服務提供商會發布 SPF 記錄,以便從您的域名傳送電子郵件。但是,如果您對此不瞭解,或者您的 ISP 管理著您的 DNS 記錄,您可以將此問題提交給您的 IT 部門。

SPF 記錄的侷限性

雖然新增 SPF 記錄會給您帶來電子郵件安全性、可送達性等方面的好處,但它們也有一定的侷限性。下面我們就來談談這些限制。

DNS SPF 記錄

早期的 SPF 版本用於檢查發件人域名 DNS TXT 記錄中的設定,以方便快速部署和測試。DNS TXT 記錄設計為自由格式文字,不附加任何語義。

然而,2005 年,IANA 為 SPF 分配了 99 型資源記錄。這導致 SPF 的使用率下降,因為使用者對這兩種機制感到不知所措,從而產生混淆。2014 年,SPF 停止使用。

報頭問題

SPF 最初的設計目的是防止攻擊者欺騙電子郵件的收件人地址。但現在許多人只在郵件標題的 “發件人 “欄位中進行欺騙,收件人可以看到該欄位,而不是由他們的 MTA 進行處理。這增加了欺騙的風險。

雖然您可以使用 SPF 和 DMARC 來檢查郵件頭的 “發件人” 欄位,但您可能需要一些更先進、更強大的解決方案來代替 SPF 防止顯示名稱欺騙。

此外,如果新增電子郵件流或更換 ISP,更新 SPF 記錄也很困難。SPF 記錄還可能破壞純郵件的轉發,而且不能保證電子郵件的身份驗證。

SPF 記錄最佳實踐

在瞭解建立和維護 SPF 記錄的最佳實踐之前,我們先來談談一些一般實踐。

  • 您的傳送 IP 地址必須包含 PTR 記錄。它的作用有點像倒置的電話簿,可以讓您在查詢 IP 地址的同時查詢主機名。不過,用於網際網路連線的公共網際網路接入點和住宅 IP 地址通常沒有 PTR 記錄。當需要驗證傳入連線時,就會用到 PTR 記錄。
  • 使用電子郵件驗證系統。您可以使用三種電子郵件驗證系統中的一種或全部: SPF、DMARC 和 DKIM。使用電子郵件驗證的合法發件人很容易被識別出來,而不使用的發件人則會面臨垃圾郵件的安全風險。雖然使用這些系統並不一定能保證您的電子郵件成功登陸到目標收件箱,但它能提供更多的保護。這總比沒有任何電子郵件安全機制來監控和維護髮件人的聲譽要好。
  • 永遠不要使用或包含帶有 +all 的記錄。只有在 ~all-all 機制中才能有效地使用 all

說完這些一般做法,我們再來談談 SPF 記錄的一些最佳做法。

使用有限的 SPF 記錄

SPF 包含大量強大而複雜的機制,但沒有必要在 SPF 記錄中使用所有這些機制。請保持 SPF 記錄的簡單性,只定義所需的 SPF 記錄數量,不要超過這個數量。

include: 機制也是如此。儘量少用,避免巢狀包含。這樣可以防止超過 10 次 DNS 查詢的限制。您還可以一次性新增多個 IP 地址,而不是逐個新增。這樣可以簡化過程,節省時間。

用 CIDR 符號指定範圍

以 CIDR 符號新增範圍,因為一個錯誤就可能極大地改變數值。因此,如果攻擊者成功入侵了你的某些系統,而其中一個系統的 IP 地址屬於此範圍,那麼這將是致命的。他們可以濫用經過正確驗證的 IP 地址傳送垃圾郵件。這可能會損害您的聲譽,導致資料丟失,並使您的域名被郵件提供商標記為垃圾郵件

由於這種風險非常普遍,郵箱提供商已經提高了警惕,並阻止他們認為可疑的域名,以防止此類事件發生。他們限制了 SPF 記錄中允許有效的 CIDR 大小範圍。

避免使用 +all 語句

避免在 SPF 記錄中使用 +all 語句。它可能看起來過於放任,而且很難檢測到這類安全問題,因為這些 SPF 記錄在語法上是有效的。即使是檢查記錄的工具和測試解決方案也可能無法識別過度許可的記錄。

+all 語句使 SPF 記錄真正允許整個網路以您的域名名義傳送電子郵件,包括惡意郵件。事實上,參與垃圾郵件傳播的域名通常都有以 +all 結尾的 SPF 記錄。因此,它們可以從任何 IP 地址傳送包含惡意軟體感染的垃圾郵件。

謹防重複記錄

一般來說,域名只有一條 SPF 記錄,這意味著它只能儲存一條以 v=spf1 語句開頭的 TXT 記錄。如果嘗試在一個域中新增多個記錄,可能會導致永久性錯誤。

這種 SPF 限制經常被違反。許多人嘗試新增多個記錄,因為他們可能在自己的域中部署了各種服務,而每個服務提供商都可能要求他們在自己的域中建立並新增 SPF 記錄。

重複記錄

重複記錄 (圖片來源:Data Axle

重複記錄會損害電子郵件的可送達性,帶來安全風險,並玷汙您的聲譽。谷歌和微軟等大型郵箱服務提供商擁有限制此類損害和自動修復重複記錄的技術。但較小的電子郵件系統可能沒有。

當您發現 SPF 記錄重複時,必須立即解決這個問題,而這個問題很容易解決。有多個 SPF 記錄的組織可以將它們合併為一個宣告。合併兩個 SPF 記錄將確保 v=spf1 保留在 SPF 記錄的開頭並只出現一次,而 all 都保留在結尾。

字元限制

根據 RFC,SPF 記錄的單個字串最多可包含 255 個字元。這是 DNS 中所有 TXT 記錄的限制。

如前所述,任何不符合這一規定的 SPF 記錄都可能導致收件人郵件系統出現永久性或暫時性錯誤。雖然 DNS 管理器可能會阻止您超出此限制,但在儲存較長記錄時可能會出現問題。

儘管單個字串中的記錄長度只有 255 個字元,但可以選擇在一個 DNS 記錄中建立多個字串。因此,當收件人郵件伺服器開始分析 SPF 記錄並在一條記錄中發現多個字串時,就會按特定順序將它們組合起來,且不留空格。

完成後,郵件伺服器就會驗證內容。再次提醒,即使可以新增多個字串,記錄中的總字元數仍有限制。理解這一限制可能很有難度,但它能確保 DNS 資料包不超過 512 位元組,這是推薦的 UDP 資料包長度。

但是,如果您的 SPF 記錄超過了這一限制,請建立子記錄並將單個記錄拆分為多個記錄,以防止 SPF 驗證問題。在分割 SPF 記錄時,應將每個子記錄包含在主記錄中。但要小心,因為這可能會導致 DNS 請求數量過多,從而造成需要補救的安全問題。

限制 DNS 查詢

除了在字串中保留 255 個字元外,還必須限制 DNS 查詢的次數。RFC 規範規定,記錄中的 DNS 查詢次數不得超過 10 次。這有助於防止出現無限 DNS 迴圈和分散式拒絕服務(DDoS)攻擊等問題。

但是,如果在記錄中進行 10 次以上的查詢,到底會發生什麼呢?

這將導致 SPF 驗證過程中出現永久性錯誤。SPF 機制(包括: include:aPTRmxexists, 和 redirect )將導致 DNS 查詢。

但是, allip4, 和 ip6  機制不會導致 DNS 查詢。

此外,還要注意巢狀包含語句,如用於分解較大記錄的子記錄。這會增加 SPF 記錄產生的 DNS 查詢量。因此,在使用第三方服務時,請確保他們不會在 SPF 記錄中使用過多的 DNS 查詢。

避免重複子網和 IP 地址

重複的 IP 地址

重複的 IP 地址  (圖片來源:YouTube)

所有 SPF 條目都解析到一個子網或 IP 地址。

在建立授權傳送電子郵件的 IP 地址和系統列表時,很容易產生重複的子網和 IP 地址。通常,在 SPF 記錄中新增 include: 語句以及在域名的郵箱服務提供商 MX 記錄中新增 include: 語句時,就會出現這種情況。這些 IP 可能是相同的,屬於所包含的子網。

如果伺服器的 IP 地址很少變化,最好使用 ip4 或 ipv6 符號。這將使收件人避免任何 DNS 查詢。此外,由於每個 SPF 記錄的 DNS 查詢次數限制為 10 次,因此如果您有一個包含外發郵件伺服器的長列表,也可以指定一個 IP 地址範圍。

除此之外,您還可以考慮以下幾點:

  • 使用數量有限的 include: 機制,儘可能避免巢狀 include。
  • 使用 ~all-all 機制,而不是 +all 機制。
  • 避免使用 exists SPF 機制,因為如果使用不當,安全風險可能會通過過程中的錯誤滲入。
  • 儘量不要使用 “ptr” 和機制,因為在最新的 SPF RFC 草案中它已被棄用。
  • 避免指定 DNS 記錄型別。TXT 記錄中不再接受這種指定。
  • 在 SPF 記錄中通過 CIDR 符號指定地址塊時,使用 /30 和 /16 之間的塊。斜線後的數字越大,表示地址塊越小,這樣更好。此外,不要使用 /1 至 /15 之間的區塊,因為有些收件人可能會忽略或不使用它們。
  • 確保解析 SPF 記錄中使用域的所有機制。通常情況下,系統管理員不會刪除傳統系統,如位於內部的 Exchange 伺服器,而 Office365 雲服務已經取代了它。儘管需要在更新的 SPF 記錄中新增 Office365,但刪除遺留系統後仍可能沒有更新。在這種情況下,SPF 記錄中的域仍然存在,但實際上已經不存在了,從而導致 SPF 暫時失效。
  • 將 DKIM 和 DMARC 等電子郵件驗證系統與 SPF 結合使用,可以更有效地保護您的域名。因此,如果您使用 DKIM 和 DMARC,也有必要了解它們的最佳實踐。

使用 DKIM 和 SPF

域金鑰識別郵件 (DKIM) 提供了一個加密金鑰和數字簽名,可驗證電子郵件未被偽造或篡改。由於 DKIM 使用加密數字簽名,因此您必須遵循一些最佳實踐來確保域的安全。

  • 您必須定期更改加密金鑰,以防止攻擊者利用它們。許多郵件傳送者使用多年前建立的舊金鑰,攻擊者更容易利用這些金鑰;因此,您必須建立一個新的 DKIM 金鑰。您也可以在一年內多次輪換金鑰,尤其是當您在一個月內傳送數千或數百萬封電子郵件以確保敏感電子郵件的安全時。
  • 確保金鑰長度至少為 1,024 位,因為使用小於此長度的金鑰建立的簽名通常會被忽略。因此,越來越多的發件人開始使用 2048 位甚至更長的金鑰。
  • 如果您是 ESP,不要只對所有客戶使用一個 DKIM 金鑰。為他們的電子郵件分配一個新的唯一 DKIM 金鑰。
  • 如果發現有退信,請使用 DKIM 對其進行簽名。

使用 DMARC 和 SPF

基於域的訊息驗證和一致性(DMARC)將 SPF 和 DKIM 驗證機制統一到一個通用框架中,並允許域所有者宣告,如果來自該域的電子郵件未能通過授權測試,他們希望如何處理該電子郵件。

使用 DMARC 有很多好處。它為您提供了報告功能,讓您向郵箱服務提供商發出訊號,阻止以您的域名名義傳送的未通過驗證的郵件。這有助於識別和阻止從您的網域傳送的欺詐性郵件,從而保護您的客戶並提高您的網域聲譽。

因此,如果您還沒有使用 DMARC,請立即開始使用。如果您使用了,請確保您的郵件包含 “識別符號對齊”。這種對齊對於電子郵件通過 DMARC 驗證至關重要。但如果您在使用 DMARC 時不包含它,它就會將您的郵件直接傳送到可疑名單中。

如何檢查 SPF 記錄

您可以使用一些工具來檢查 SPF 記錄。這些工具被稱為 SPF 記錄檢查工具或 SPF 記錄檢查器。

SPF 記錄檢查器

檢查 SPF 記錄

檢查 SPF 記錄 (圖片來源:John Hanley

SPF 記錄檢查程式通過檢查各種引數來確保 SPF 記錄的有效性:

  1. 記錄的存在:用於確認給定的 SPF 記錄是否實際存在於 DNS 中。
  2. 多個記錄:DNS 中允許使用一條 SPF 記錄。因此,SPF 記錄檢查程式會驗證是否只存在一條記錄或多條記錄。
  3. 最大查詢次數:必須進行的 SPF 查詢的最大次數限制為 10 次。因此,SPF 記錄檢查程式會找出查詢的總次數以及是否超過 10 次。
  4. PTR 機制:該工具可驗證 PTR 機制的使用情況,因為不建議使用該機制。

SPF 記錄檢查程式的例子包括 Dmarcian、Agari 和 Mimecast 等。

小結

隨著網路安全風險的不斷演變,個人和企業都會受到影響,因此您必須確保實施儘可能多的安全層來保持保護。您可以使用多種安全技術、工具、解決方案和服務來保護您的資料、網路、應用程式和系統。

為您的域名新增 SPF 記錄就是其中一種技術,它可以防止垃圾郵件傳送者以您的域名名義傳送電子郵件,從而幫助保護您的企業資產和聲譽。

僅使用 SPF 可能無法提供全面的保護;因此,請將 DKIM 和 DMARC 與 SPF 記錄一起使用。這種策略能更有效地檢測安全風險,如電子郵件欺騙、被伺服器列入黑名單和被標記為垃圾郵件。

因此,如果您使用這些技術,請務必遵循上述有關 SPF 記錄、DKIM 和 DMARC 的最佳實踐,並使用 SPF 記錄檢查器來測試記錄的有效性。

評論留言