[ SPF ]

SPF所有限定符:比較失敗、 softfail 、中性和通過

謹慎選擇最終的SPF結果,並將身分驗證結果與接收器處理分開。

由EmailAuth研究團隊提供 · 4 分鐘閱讀

[ 重點 ]

  • A達到所有機制匹配;它的限定符控制結果。
  • Bare all 意味著+all ,而早期的配對和錯誤仍然很重要。
  • 分別檢查DMARC對齊和接收器處理。
在此頁面上

all 機制始終符合。因此,它的限定符決定了什麼 SPF 說的是到達它的連接地址。熟悉的結尾-all 、 ~all 、 ?all和+all是四種不同的身份驗證語句,而不是四種有保證的傳遞操作。

較早的機制可能已經傳回結果。在解釋記錄的最後一個單字之前,請閱讀整個評估路徑。 RFC 7208 §2.6 和 RFC 7208 §5.1 定義這些語義。

比較四個結局

使用-all ,到達所有接收的發送方都會失敗。該策略表示該地址未獲得評估身分的授權。對於~all ,它會收到softfail ,這是一個較弱的否定語句,而不是通過。對於?all ,它會收到中立的結果,這意味著該策略不會對該地址做出授權斷言。使用+all ,它會收到通過。

在下面 RFC 7208 §4.6.2,不合格的 all 具有預設 + 限定符,因此也會通過。這使得一切成為一個必然的許可選擇,而不是一個無害的終結者。一旦所有匹配,後續機制就無法提供額外的權限。

工作範例:保持授權寄件者不變

使用綜合策略 v=spf1 ip4:192.0.2.90 QUALIFIERall。對於來自192.0.2.90的連接, ip4 首先匹配並在每個結尾下返回 pass 。對於192.0.2.91 ,第一個機制不符。所選的結局然後分別返回失敗、 softfail 、中性或通過。

將~all更改為-all不會更改此裝置中第一個位址的結果。它改變了尚未匹配的地址的處理方式。這就是為什麼正確的準備問題是是否已識別出所有合法的發送路徑,而不是公共發送者是否通過了測試。

政策包括 v=spf1 -all 不透過SPF授權任何地址。它可以表達非發送身份,但並不是每個接收者都必須丟棄在 From 中顯示該域的每個訊息的通用指令。

將結果和處理分開

SPF回傳認證結果。接收者使用本地策略和其他證據來決定如何處理訊息 RFC 7208 §8.4 和 RFC 7208 §8.5。失敗並不能證明每個接收者都拒絕了該訊息, softfail也不能保證在發送訊息時會發出警告。

SPF softfail和中性不會成為通過SPF路徑 DMARC。在下面 RFC 9989 §4.4.2, DMARC需要透過 結盟 其SPF路徑,或單獨的傳遞對齊 DKIM 小路。因此,儘管SPF失敗,郵件仍可以透過DKIM傳遞DMARC 。相反, +all可以為地址產生SPF通行證,但不使其內容可信。

不要使用+all來消除錯誤儀表板。它授權每個到達該身分的地址並打破預期的限制。而是修復遺失的寄件者、不正確的身分或損壞的依賴項。

區分政策結局和評估錯誤

佩默錯誤 和 temperror 不是失敗的其他拼字。多種的 SPF記錄、無效語法或超出處理限制可能會阻止正常評估。臨時DNS問題可能會產生temperror 。將-all替換為~all不會修復到達結尾之前發生的錯誤。

在選擇更改之前收集實際結果並進行追蹤。對於DNS中斷,請調查相依性和解析器路徑。對於無法識別的合法寄件人,請先確定其所有者和預期的信封身份,然後再授予其權限。

推出更嚴格的聲明並提供證據

盤點常規、故障轉移、 IPv6和不頻繁發送路由。針對這些地址和未經授權的控制測試建議的策略。保留先前的記錄,定義基於服務的回滾條件並在發布後驗證收到的郵件。

如果轉發是合法傳送的一部分,請審查更廣泛的身份驗證設計,包括一致的DKIM和接收者行為。不要廣泛授權未知轉發器使每個間接SPF路徑通過。

實用的外賣

選擇您打算對其他不符的寄件者進行的聲明的限定符。首先驗證庫存和錯誤路徑,然後將身份驗證和交付作為單獨的結果進行衡量。

記錄下一個決定

對於合成賽程中的192.0.2.91 ,四個結局分別為失敗/ softfail /中性/通過; 192.0.2.90仍然通過之前的 ip4 匹配。如果在正常結果之前發生語法或依賴性錯誤,則更改最終限定符不是修復。這些是分析控制流程結果,而不是交付測試。

[ 外帶 ]

A達到所有機制匹配;它的限定符控制結果。 Bare all 意味著+all ,而早期的配對和錯誤仍然很重要。分別檢查DMARC對齊和接收器處理。

[ 按角色 ]

這對您意味著什麼

選擇您的角色以執行後續實際步驟。

IT/郵件管理員

保留結果類別。

不要將DNS錯誤、 softfail和失敗變成一種無差別的故障標籤。

後續步驟

  1. 捕獲評估軌跡。
  2. 測試確切的提議結局。
  3. 單獨驗證對齊的DKIM 。

CISO / SecOps

拒絕一攬子授權作為維修。

+all可以透過刪除預期的SPF限制來消除可見的故障。

後續步驟

  1. 需要合理的權限更改。
  2. 審查廣泛的補助金。
  3. 明確接收者的判斷力。

創辦人/非技術人員

透過覆蓋範圍判斷準備情況。

只有在了解關鍵寄件者和復原計畫時,更嚴格的策略結束才有用。

後續步驟

  1. 盤點重要的訊息類型。
  2. 測試稀有路由和故障轉移路由。
  3. 將身份驗證與交付結果分開。

[ 常見問題解答 ]

常見問題

-all是否強制每位收件者拒絕郵件?

不會。它為不匹配的位址提供SPF失敗。接收器處理是一個單獨的決定。

RFC 7208 §5.1 RFC 7208 §8.4

~all SPF通行證嗎?

不會。它會產生softfail ,這是一種不滿足DMARC的SPF通過要求的獨特結果。

RFC 7208 §8.5 RFC 9989 §4.4.2

?all是什麼意思?

它產生中立的,而不是該地址已被授權的斷言。

RFC 7208 §2.6.2

bare all 與+all不同嗎?

不會。如果沒有限定符,則隱含 +,且符合結果為通過。

RFC 7208 §4.6.2

我到底可以添加寄件者嗎?

它不會授予權限,因為所有內容都首先匹配。

RFC 7208 §5.1

將-all更改為~all是否可以修復permerror ?

不可以。語法、記錄選擇或處理限制錯誤需要自行診斷。

RFC 7208 §4.5 RFC 7208 §4.6.4

SPF失敗時DMARC還能通過嗎?

是,當傳遞對齊的DKIM簽章提供DMARC傳遞路徑時。

RFC 9989 §5.3.5

在轉向-all之前應該檢查什麼?

驗證合法路由、實際信封身分、 IPv6和故障轉移使用、間接郵件行為以及核准的復原計畫。

[ 來源 ]

來源

  1. RFC 7208

    部分 §2.4 · §2.6 · §2.6.2 · §4.5 · §4.6.2 · §4.6.4 · §5.1 · §8.4 · §8.5 · §10.3

  2. RFC 9989

    部分 §4.4.2 · §5.3.5

[ 詞彙表 ]

詞彙表

SPF
連線 IP 和相關SMTP身分的授權評估。

RFC 7208 §2.4

SPF限定符
決定機制匹配結果的前綴;省略的限定符預設為 +。

RFC 7208 §4.6.2

企業出處

為什麼頂級金融機構和政府 退役了他們的電子郵件安全儀表板。

傳統的電子郵件驗證平台會向您出售儀表板並要求您的工程師來完成這項工作。在高風險環境中,手動監督意味著延遲執行、配置漂移和不受監控的影子域。

EmailAuth是代理電子郵件來源平台。 我們的代理人強制執行 p=reject,保持第三方寄件者一致並將您的網域移至完整狀態 RFC 9989 合規性、新的DMARC標準,以及人機互動審核能力。

政府 大型企業 一級金融機構

SaaS · 專用租賃 · 氣隙本地部署 · BYOK 加密

知識庫