[ 標準和DMARCbis ]

僅在建立域不存在後才選擇np

在選擇 np、sp 或作者網域策略之前,區分現有名稱、 NODATA 、 NXDOMAIN和解析失敗。

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

[ 重點 ]

  • 在選擇 p、sp 或 np 評估之前匯出適用的政策。
  • 缺失的 np 在存在時回退到 sp,否則為 p。
  • 權威存在固定裝置不同於未執行的範例或未解決的DNS故障。
在此頁面上

存在屬於域,而不是一種記錄類型

np 標籤提供了一個 DMARC 適用的發現策略下不存在的子域的評估策略。只有當存在決策正確時它才有用。 「不 一個記錄,” “沒有DMARC TXT記錄」和「作者域不存在」是不同的陳述。將它們視為同義詞可能會將錯誤的策略應用於真實域,或者在錯誤的否定答案後面隱藏分辨率中斷。

RFC 9989第 4.7 節 區分 np 和 sp。前者處理不存在的子域;後者尋址現有的子域。兩者都不能取代確定適用哪個保單記錄。作者域自己的有效策略具有優先權,其p標籤用於該域。當作者域沒有自己的適用策略時,父策略計算稍後進行。

指定父級並保留範例虛構

使用north.example作為發明者 組織域 使用此策略: v=DMARC1;p=none; sp=quarantine; np=reject; psd=n.假設下面的每種情況都使用一條其他有效的訊息,其身份驗證不會產生對齊的通行證。這些是手動得出結果的記錄固定裝置,而不是DNS觀察、交付嘗試或有關任何組織記錄的聲明。

對於live.north.example ,規定地址記錄並且沒有自己的DMARC策略。發現到達父邊界,存在被建立。請求的評估來自sp=quarantine.父級的p=none不會取代更具體的現有子域首選項。在結果中保留所選標籤,以便審閱者可以了解選擇隔離的原因。

對於empty.north.example ,規定一個 MX記錄 但沒有A記錄。 A 查詢的權威 NOERROR/ NODATA回應與該現有名稱相容。由於沒有自己的DMARC策略, sp=quarantine仍然適用。本例故意將缺失的記錄類型與缺少的域分開;僅僅因為它只要求 A 就將其標記為不存在的檢查器將無法做出預期的決策。

以正確的名稱解釋NXDOMAIN

對於gone.north.example ,為作者網域本身規定一個權威的NXDOMAIN回應,沒有別名鏈,也沒有自己的策略。所選父策略使用np=reject. RFC 9989附錄 A.4 解釋說DMARC存在不需要特定的郵件相關記錄類型。它的定義遵循DNS存在,而不是SMTP的可解析目的地的狹義概念。

_dmarc.live.north.example的NXDOMAIN回應將拒絕查詢的子名稱,而不是證明live.north.example不存在。推理的方向很重要。 RFC 8020 解釋說,被否認的名字也沒有後代;它並沒有說否認孩子會抹去其父母。別名處理還可以使被拒絕的名稱與原始問題不同,因此保留被拒絕存在的實際名稱。

空的非終結符是另一個有用的邊界情況:節點可以存在於DNS層次結構中,因為即使它沒有自己的記錄,它也有後代。不要將該結構存在折疊到NXDOMAIN中。燈具設計者應該指定樹,而不僅僅是附加到空答案上的方便的文字標籤。

分別檢查NODATA和解析失敗

NODATA不是獨立的DNS回應碼。 RFC 2308第 2.2 節 描述需要回應上下文的否定答案分類。引用可以附帶一個空白的答案部分,而別名可以影響實際解析的名稱和類型。在得出存在性結論之前保存問題、回應碼、別名鍊和權限資訊。

SERVFAIL 、逾時和不完整的反應並不是不存在的證據。 RFC 1035第 4.1.1 節 區分伺服器故障和名稱錯誤。在虛構的broken.north.example案例中, SERVFAIL未解決存在問題;它本身不會選擇 np 。 RFC 9989 第 4.10.1 節將 DNS 錯誤處理留給接收者自行決定,包括可能的暫時延遲。評估者必須保留這種未解決的狀態,而不是要求正常的否定查找。

謹慎應用政策優先和後備

現在給own.north.example一個有效的v=DMARC1; p=none策略及其確切的_dmarc名稱。它自己的 p 值提供了評估;父級的 np 和 sp 首選項不會取代它。這是策略發現規則,而不是為寬鬆的子域發明的例外。現有的子配置仍然需要授權所有者和合理的安全審查。

如果所選父記錄中不存在 np,則當 sp 存在時,其第 4.7 節預設為 sp,否則為 p。對於範例父級,刪除 np 會使不存在的子網域評估隔離。刪除 np 和 sp 就沒有了。這個回退值得單獨測試,因為直接從遺失的 np 跳到 p 的捷徑會忽略記錄的 sp 預設值。

測試模式和接收器處理仍然是附加層。如果適用的記錄包括t=y,則首先匯出所選策略,然後套用其測試語義。請求的拒絕評估也不能保證最終拒絕:接收器分析和RFC 9989中的互通性要求仍然相關。本文隨附的表格記錄了策略選擇,而不是觀察到的收件匣放置情況。

保留證據包而不是綠色徽章

確切的委託是:比較現有的NODATA和NXDOMAIN案例並得出所選策略。虛構的比較支持對預期邏輯的審查,但它並沒有關閉原始操作證據之門。沒有收集即時查詢、受控權威裝置或接收器結果。在停止不可存取的端點後,目前勘誤表審查也未解決。

經批准的後續行動應保留確切的作者域、適用的策略記錄、存在證據、後備路徑、接收器版本和結果評估。將 DNS 工程檢討與郵件原則所有權分開。生產適用性、專家審查、視覺接受和出版許可仍在等待中。可靠的 np 解釋可以使不確定性在粗心的工具可能隱藏的地方精確地顯現出來。

[ 外帶 ]

缺少的記錄類型或_dmarc子項並不能證明作者域不存在。

[ 按角色 ]

這對您意味著什麼

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

DNS調查員

證明名字正確

存在證據必須確定實際被否認的姓名,尤其是別名。

後續步驟

  1. 捕捉原始問題和被拒絕的名稱。
  2. 解釋 NOERROR 和權限上下文。
  3. 將否定答案與中斷分開。

政策維護者

明確地審查繼承

父記錄並不能消除子策略和後備決策。

後續步驟

  1. 盤點自保兒童。
  2. 分別測試缺失的 np 和缺失的 sp。
  3. 記錄所選標籤及其值。

事件響應者

不要將停電變成缺勤

解析器故障可能會使確信的不存在域判定變得不安全。

後續步驟

  1. 升級未解決的SERVFAIL ,而不是重新標記它。
  2. 保留解析器/時間上下文。
  3. 在索賠索賠之前需要進行受控觀察。

[ 常見問題解答 ]

常見問題

為什麼僅 MX 域在範例中使用 sp?

即使沒有 A 記錄,該名稱也存在。 RFC 9989附錄 A.4 不要求特定的郵件相關記錄類型來建立DNS存在,因此規定的現有子級使用 sp。

_dmarc.child的NXDOMAIN是否證明 child 不存在?

不。它拒絕查詢的子名稱,受別名上下文的影響,而不是其父名稱。作者域的存在決定必須引用正確的名稱。

NODATA是DNS回應碼嗎?

不。它描述的是否定答案的情況。答案為空的 NOERROR 在支援NODATA分類之前需要別名、引用和權限解釋。

省略 np 時適用哪一種策略?

對於所選策略下不存在的子域,第 4.7 節要求在存在時使用 sp,否則使用 p。不要跳過可用的 sp 值。

子策略可以覆蓋父 np 值嗎?

確切作者域的有效策略優先,並使用其 p 值。在應用父子域首選項之前解決該發現問題。

SERVFAIL對存在證據有何貢獻?

它記錄解決失敗的情況,而不是缺席的證據。保留未解決的狀態和接收器處理,而不是自動選擇 np.

空的非終結符不存在嗎?

不會。具有後代的節點在結構上可以存在,而無需其自己的資源記錄。 RFC 8020將這種情況與被拒絕的不存在子樹區分開來。

np=reject是否保證接收者會拒絕?

不會。它會為相關失敗郵件選擇請求的評估。測試模式、本地分析和RFC 9989互通性處理影響後續決策;這裡沒有測試接收器。

[ 來源 ]

來源

  1. RFC 1035 : DNS實施
  2. RFC 2308 : DNS否定回應
  3. RFC 8020 : NXDOMAIN子樹語意
  4. RFC 9989 : DMARC核心

[ 詞彙表 ]

詞彙表

NP
目前DMARC規則下對不存在的子域的評估策略。
sp
適用的已發現記錄下現有子域的評估策略。
NXDOMAIN
DNS名稱錯誤拒絕名稱及其子樹(根據RFC 8020語意)。
空非終結符
現有的DNS樹節點沒有自己的資源記錄,但有後代。
SERVFAIL
DNS伺服器故障回應,與名稱錯誤或確認不存在不同。

企業出處

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

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

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

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

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

知識庫