重新排序 SPF記錄 可以更改到達哪個機制、傳回哪個結果、執行多少工作。這不僅僅是一個格式化練習。在移動條目之前,定義目標是更清晰的所有權、降低普通寄件者的評估成本還是糾正實際的策略缺陷。
了解順序控制什麼
SPF 從左到右評估機制並在匹配或異常時停止。匹配的限定符決定結果。語法在機制評估之前進行驗證,因此稍後放置格式錯誤的術語並不意味著它是安全的。 RFC 7208第 4.6 節 提供這些規則。
在下面 RFC 7208 §5.1,所有機制在到達時匹配每個輸入。其後的機制未經過測試,並且當所有內容都存在時,重定向將被忽略。在下面 RFC 7208 §6.1,redirect是一個修飾符,不是一個普通的機制,它的優先權可以透過提前移動其文字來改變。在變更審核中明確這種差異。
編輯前定義測試矩陣
列出每個合法服務的實際信封標誌和已知出站地址。包括未經授權的位址和正在使用的每個 IP 系列。保存目前的DNS依賴關係圖並透過標準感知評估器運行每個案例。記錄結果、配對機制、評估的 DNS 相關術語和任何錯誤。
將協定術語計數與網路延遲和實體DNS查詢計數分開。快取和解析器條件可以影響時序,而不改變策略的邏輯術語預算。一次運行中較短的運行時間不足以聲稱可靠的性能改進。
比較兩個說明性案例
考慮這個綜合記錄,使用文檔地址而不是部署值:
v=spf1 ip4:192.0.2.10 include:_spf.vendor.example -all
來自192.0.2.10的連接可以在評估包含之前匹配顯式位址。首先移動包含會使該依賴項成為同一連接的路徑的一部分。如果包含錯誤,處理可以在到達顯式位址之前停止。這說明了依賴項暴露的變化,而不是繞過真正錯誤的建議。
現在考慮具有不同限定符的重疊機制:
v=spf1 -ip4:192.0.2.10 ip4:192.0.2.0/24 -all
狹窄的排除出現在更廣泛的正值範圍之前。反轉這兩種機制會改變192.0.2.10的結果。將條目視為無序集的排序工具會破壞預期的策略。
不要隱藏結構性問題
提前移動受歡迎的寄件者可以減少該寄件者的評估路徑。它並沒有證明剩餘的發送者或不匹配的路徑是可接受的。直接調查過度遞歸、過時的依賴項和損壞的提供程序目標。 RFC 7208第 4.6.4 節 將評估期限限制應用於遞歸評估,而不是作為每個包含的新津貼。
使用前後矩陣來識別每個變更的結果。如果有意更改,請記錄其所有者和目的。如有意外,請停止編輯並在發布前解釋清楚。請勿僅根據最常見寄件者的綠色結果批准重新排序。
做出一個小小的、可驗證的改變
保留原始記錄,獲得正常批准,僅更改預定訂單。避免在同一個不明原因的編輯中結合清理、限定符變更和提供者遷移。檢查已發布的TXT值並使用新的DNS狀態重複受控評估。
發送代表性訊息並將接收者證據保留在測試矩陣旁邊。根據實際測量的收益和任何剩餘的依賴風險來結束工作。當兩種工具對好處不一致時,請使用 SPF值比較 以確定他們是否測量了相同的投入和相同的數量。
記錄下一個決定
對於重疊範圍固定裝置, 192.0.2.10的規定排序產量失敗;在負值 /32 收益率通過之前交換廣泛的正值 /24。假設語法有效且記錄準確,兩個結果都遵循第一個匹配限定符。對於包含優先的替代方案,到達包含錯誤可以在明確位址之前終止評估。這些是分析案例,而不是執行的計時或交付測量。