DMARC

啟用 DMARC

使用 DMARC 管理可疑電子郵件

您可以在網域的 DNS 記錄中新增「網域型郵件驗證、報告與一致性」(DMARC) 政策,藉此啟用 DMARC 驗證機制。這項政策為 DNS TXT 記錄格式,可供您定義網域對可疑電子郵件的處理方式。

DMARC 政策支援三種處理可疑電子郵件的方式:

  • 不對郵件採取任何處置,僅將郵件記錄於每日報告中。
  • 將郵件標示為垃圾郵件,讓 Gmail 將這些郵件移至收件者的垃圾郵件資料夾中。
  • 要求收件伺服器拒絕郵件。這也會導致 SMTP 拒收郵件並將郵件退回給寄件者。

DMARC 政策範例

以下是一些政策範例。

重要資訊:範例中出現的網域為範例網域,請將 solarmora.com 替換為您的網域。

範例中使用的值是依照 DMARC TXT 記錄值一節所定義。

未通過 DMARC 檢查時採取的處理方式 TXT 記錄內容
對於未通過 DMARC 檢查的郵件,不採取任何處置,僅透過電子郵件將每日報告傳送至 dmarc@solarmora.com。 v=DMARC1; p=none; rua=mailto:dmarc@solarmora.com

在未通過 DMARC 檢查的郵件中,將 5% 的郵件移至收件者的垃圾郵件資料夾,然後透過電子郵件將每日報告傳送至 dmarc@solarmora.com。

v=DMARC1; p=quarantine; pct=5; rua=mailto:dmarc@solarmora.com

拒絕所有未通過 DMARC 檢查的郵件,並透過電子郵件將每日報告傳送至以下 2 個地址:postmaster@solarmora.com 和 dmarc@solarmora.com。

如果郵件未通過檢查,SMTP 就會拒收郵件,並將郵件退回給寄件者。

v=DMARC1; p=reject; rua=mailto:postmaster@solarmora.com, mailto:dmarc@solarmora.com

新增 TXT 記錄以啟用 DMARC

如要啟用 DMARC,您須透過 DNS TXT 記錄更新網域設定。

關於 TXT 記錄

TXT 記錄是一種 DNS 記錄,其中包含的文字資訊可供您網域以外的來源使用。請前往網域代管商網站 (而不是 Google 管理控制台) 為您的網域設定新增 TXT 記錄。

您也可以參閱更新 DNS TXT 記錄的相關提示一節,進一步瞭解如何使用 TXT 記錄。

新增 DMARC TXT 記錄

如要為您的網域新增 DMARC TXT 記錄,請按照以下步驟操作。

重要事項:

  • 範例中出現的網域為範例網域,請將 solarmora.com 替換為您的網域。
  • 請將範例值改成您網域的 DMARC 政策值。
  1. 登入網域供應商提供的管理控制台。
  2. 找出更新 DNS 記錄的網頁。

    子網域:如果網域代管商不支援更新子網域的 DNS 記錄,請將記錄新增至上層網域。瞭解如何更新子網域的 DNS 記錄

  3. _dmarc 部分新增 DNS 記錄。

    TXT record name (TXT 記錄名稱):在 DNS 主機名稱下方的第一個欄位中輸入以下資訊:
    _dmarc.solarmora.com

    TXT record value (TXT 記錄值):在第二個欄位中輸入 DMARC 政策的定義值,例如:
    v=DMARC1; rua=mailto:dmarc-reports@solarmora.com; p=quarantine; pct=90; sp=none
     

  4. 儲存變更。

DMARC TXT 記錄值

注意:Gmail 不支援用於傳送失敗 (鑑識) 報告的 DMARC ruf 標記。

標記名稱 是否必要 說明和值

v

必要 通訊協定版本。此值必須為 DMARC1

p

必要

定義您的網域對可疑郵件的處理方式:

  • none (無):不對郵件採取任何處置,僅將可疑郵件記錄於每日報告中。
  • quarantine (隔離):將郵件標示為垃圾郵件,並移至收件者的 Gmail 垃圾郵件資料夾中。收件者可以在 Gmail 中查看自己的垃圾郵件
  • reject (拒絕)要求收件伺服器拒絕郵件。在這種情況下,收件伺服器應將退回的郵件傳送至寄件伺服器。

pct

選用

設定要套用 DMARC 政策的可疑郵件百分比值。可疑郵件是指未通過 DMARC 檢查的郵件。

必須是介於 1100 之間的整數,預設值為 100

rua

選用

用於接收您網域中 DMARC 活動相關報告的電子郵件地址。您可以使用自己的電子郵件地址,也可以建立新的電子郵件地址來接收報告。

電子郵件地址必須包含 mailto:,例如:mailto:dmarc-reports@solarmora.com

如要將報告傳送到多個電子郵件地址,請用半形逗號分隔各個地址。

sp

選用

為主網域中的子網域所寄送的郵件設定政策。如果您想為子網域設定不同的 DMARC 政策,請使用這個選項。

  • none (無):不對郵件採取任何處置,僅將可疑郵件記錄於每日報告中。
  • quarantine (隔離):將郵件標示為垃圾郵件,並保留郵件以便進行其他處置。
  • reject (拒絕)指示收件伺服器拒絕郵件。
adkim 選用

設定 DKIM 的校正模式,該模式會定義郵件資訊與 DKIM 簽名的相符程度。

  • s:表示「嚴格」。寄件者的網域名稱與 DKIM 郵件標頭中相應的 d=name 必須完全符合。
  • r:表示「寬鬆」(預設值)。允許部分比對吻合,可接受 DKIM 郵件標頭中 d=domain 的任何有效子網域。

aspf

選用

設定 SPF 的校正模式 (ASPF),該模式會定義郵件資訊與 SPF 簽名的相符程度。

  • s:表示「嚴格」。郵件的 from: 標頭與 SMTP MAIL FROM 指令中的 domain.name 必須完全符合。
  • r:表示「寬鬆」(預設值)。允許部分比對吻合,可接受 domain.name 的任何有效子網域。

逐步部署 DMARC

您可以同時使用政策 (p) 和百分比 (pct) 選項,在 Gmail 中逐步部署 DMARC。

使用政策 (p) 選項。您可以使用 TXT 記錄中的 p 標記值來設定及變更政策選項。建議您先從隔離政策開始,以便檢查可疑的郵件。接下來可根據您從已隔離郵件和每日報告中所得知的資訊,逐步修改政策。

  1. p=none:監控電子郵件流量並找出每日報告中顯示的問題,但允許所有郵件通過。請注意是否有假冒郵件和未經 DKIM 或 SPF 簽署的郵件。
  2. p=quarantine:等到您掌握每日報告中呈現的電子郵件模式後,即可將政策變更為「隔離」。請繼續檢閱每日報告,並查看遭歸類 (隔離) 為垃圾郵件的郵件。
  3. p=reject:確認所有您網域寄送的郵件都已經過簽署後,請將政策變更為「拒絕」,開始過濾垃圾郵件。同時也不要忘記繼續檢閱每日報告,確認您已過濾掉垃圾郵件,且傳送給收件者的電子郵件皆為有效郵件。

使用百分比 (pct) 選項。您可以使用百分比選項指定要套用 DMARC 政策的可疑郵件百分比;可疑郵件是指未通過 DMARC 檢查的郵件。這個選項的預設值為 100%,也就是將政策套用至所有可疑郵件。起初請先使用百分比選項過濾少量郵件,之後每隔幾日再隨著 DMARC 政策的修正情形提高百分比值。舉例來說,一開始您可以先將百分比選項設定為 20,過濾 20% 的遭拒絕或隔離郵件,然後下一週再將數值從 20 提高為 50,改為過濾 50% 的郵件。

部署範例:以下範例說明如何使用 p 和 pct 選項來逐步部署 DMARC 政策。請依序使用下列值調整 DMARC 政策:

  1. p=none pct=100
  2. p=quarantine pct=1
  3. p=quarantine pct=5
  4. p=quarantine pct=10
  5. p=quarantine pct=25
  6. p=quarantine pct=50
  7. p=quarantine pct=100
  8. p=reject pct=1
  9. p=reject pct=5
  10. p=reject pct=10
  11. p=reject pct=25
  12. p=reject pct=50
  13. p=reject pct=100

DMARC 每日報告

DMARC 每日報告採 XML 格式,會提供與郵件收發情形相關的資訊。您可以透過每日報告掌握以下事項:

  • 確認外寄郵件來源已通過驗證
  • 確認從您網域寄出郵件的皆為正當的電子郵件伺服器
  • 如有新伺服器上線或現有伺服器出現設定問題,報告會回報相關資訊
DMARC 報告範例

以下提供報告摘錄內容,當中顯示從兩個 IP 位址寄出郵件的不同結果,其中一封郵件是直接傳送,另一封則是轉寄郵件;兩封郵件均已通過 DMARC 檢查。


<record>
<row>
<source_ip>207.126.144.129</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
</policy_evaluated>
</row>
<identities>
<header_from>stefanomail.com</header_from>
</identities>
<auth_results>
<dkim>
<domain>stefanomail.com</domain>
<result>pass</result>
<human_result></human_result>
</dkim>
<spf>
<domain>stefanomail.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
<record>
<row>
<source_ip>207.126.144.131</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<reason>
<type>forwarded</type>
<comment></comment>
</reason>
</policy_evaluated>
</row>
<identities>
<header_from>stefanomail.com</header_from>
</identities>
<auth_results>
<dkim>
<domain>stefanomail.com</domain>
<result>pass</result>
<human_result></human_result>
</dkim>
<spf>
<domain>stefanomail.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>

這對您有幫助嗎?
我們應如何改進呢?