Domain-Name-System

混合 SPF 記錄

  • August 28, 2012

我的 DNS 中有通常的 Google Apps SPF 記錄:

v=spf1 include:_spf.google.com ~all

現在,由於我們使用的是 ZenDesk,我還應該添加:

v=spf1 include:support.zendesk.com ~all

它們是否應該像這樣合併為一個:

v=spf1 include:_spf.google.com include:support.zendesk.com ~all

是的,這是正確的,除非_spf.google.com包含重定向(它不包含)。在這種情況下,include:_spf.google.com應將其移至列表末尾以避免將包含後的所有條目替換為redirect

另外,請注意 RFC ( IETF RFC4408 ) 規定最多允許 10 次 MX 或 PTR 查找,之後,應終止對單個記錄的驗證。這是為了確保 SPF 解析器不會陷入無休止的查找場景(潛在的 DoS 攻擊)。

這在現實生活中如何應用?

假設兩個包含都使用“mx”機制,並且每個包含 6 個不同的 MX 記錄。現在,當第一個包含 ( _spf.google.com) 被處理後,您只剩下 4 個查找了,可以這麼說。如果要驗證的 MTA 位於第二個包含 ( support.zendesk.com) 的最後 2 個不同 MX 記錄中,則即使您正確包含所有記錄,驗證實際上也可能會失敗。

上述情況並非如此,但值得考慮,因為並非所有公司在設計其 SPF 結構時都考慮到這一點。只需嘗試查找 ebay.com 的 TXT 並嘗試計算可能導致的查找次數;-)

引用自:https://serverfault.com/questions/357974