Domain-Name-System
混合 SPF 記錄
我的 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 並嘗試計算可能導致的查找次數;-)