← 全部概念地圖
標準

概念地圖・SPF、DKIM 與 DMARC 對齊

分類:創新

這一頁不只是把一個概念解釋一遍——一張自己畫的結構圖,加上拿台灣情境從頭走一次的實例演練、這個框架什麼時候會騙你,以及它接回 P.A.I.N. 之後長什麼樣。一頁必須交付的三層 →

SPF、DKIM 與 DMARC:三道全綠,仍可能認錯寄件人

會計把匯款水單截圖傳到群組的時候,那封通知改帳號的信,看起來跟平常往來的每一封都一樣——寄件人名字對、公司抬頭對、簽名檔連分機都對。信箱系統也沒有攔它,因為三道檢查全部亮綠。麻煩藏在綠燈的意思裡:前兩道問的是「這台主機有沒有資格替某個網域送信」「這封信的簽章驗不驗得過」,兩題都沒問「通過的那個網域,跟你眼睛看到的寄件人是同一個嗎」。第三道才問這句,它叫對齊。這張圖把兩道檢查、一道對齊、一道政策閘門串成一條線,讓你看得出綠燈到底保證了什麼。

兩道檢查、一道對齊,最後由政策階梯決定沒對齊的信去哪裡 左邊一封信分出上下兩條並行的檢查:上面查發送路徑,下面查數位簽章,兩條的末端各有一個綠色的通過標記。兩條線接著都進入中央的菱形對齊判定,在框內各以一個箭頭指向同一塊「顯示的寄件網域」標籤——兩條之中只要有一條指得到它,這一關就算過。菱形右邊是一道由下往上、愈上愈嚴的三格政策階梯:只回報、先隔離、直接退回,每一格右邊各接一個結果,分別是進收件匣、垃圾郵件匣、寄不進來。全圖不標任何數字。 兩道檢查、一道對齊,最後交給政策階梯 一封信 查發送路徑 寄件主機有沒有權限 查數位簽章 簽章驗不驗得過 通過 通過 對齊 顯示的寄件網域 兩條之中有一條指到它,這一關就過 由下往上愈嚴 直接退回 先隔離 只回報 寄不進來 垃圾郵件匣 進收件匣 沒對齊的信,去哪裡由這一階決定
兩條路各自通過還不算數,得有一條指到收件人眼前的那個網域。

三道檢查,通過與對齊差在哪

先把三個英文縮寫換成三個問句,再看它們各自的天花板在哪裡。

這一關它真正在問的事全過也保證不了的事
查發送路徑(SPF)送出這封信的那台主機,有沒有被某個網域授權替它送信。授權它的,可以是攻擊者自己註冊的網域。
查數位簽章(DKIM)信上那枚簽章驗不驗得過,內容在路上有沒有被動過手腳。蓋章的那個網域,同樣可以是攻擊者自己的。
對齊(DMARC 的核心)通過前面檢查的那個網域,跟收件人看到的寄件網域是同一個嗎。兩條裡只要有一條對得上就算過,不必兩條同時成立。
政策閘門沒對齊的信要怎麼處置:只回報、先隔離、直接退回。停在只回報,等於沒對齊的信照樣進收件匣。

看出來了嗎——前兩道檢查是網域主人替自己的主機與簽章背書,第三道才把那份背書,跟收件人眼睛真正看到的那一行綁在一起。把冒名擋在門外的是第三道;而第三道要不要真的動手,取決於最後一行那個閘門停在哪一階。所以「我們有設 SPF 和 DKIM」這句話,在防詐這件事上只走完一半。

檢查你的網域現在停在哪一階

把上面那張圖套回自己公司,四個問題就夠了。

一、政策停在哪一階。一家做門窗五金批發的公司,網域多半是十幾年前找人代辦的,中間換過兩次信箱服務商。政策那一欄通常沒人再動過——當年怕影響出貨通知,先掛「只回報」,一掛就是七年。只回報的意思很具體:沒對齊的信照樣送進收件匣,系統只是每天把一份報表寄到某個沒人開的信箱。自問:你的網域政策現在停在哪一階?

二、每個月有多少封信掛你的名字出去。報價單、對帳單、出貨通知、電子報、系統自動發的欠款提醒——這些信對客戶來說都是同一家公司寄的,對機器來說卻可能來自五套不同的服務。數不出來就升不了級:你不會知道政策拉緊之後,哪一批信先陣亡。自問:每個月有多少封信是用你的網域送出去的,你數得出來嗎?

三、替你代寄的那幾套,署的是誰的名。門窗五金的報價常常夾著大張的圖面與料號表,很多公司交給雲端報價系統去發。那套系統用自己的主機送信、用自己的網域簽章,兩道檢查它都會過——只是過的那個網域上頭寫著服務商的名字。這種信在對齊那一關會直接掛掉,而它們每一封都是真的。自問:替你代寄的服務,署的是誰的網域?

四、改匯款帳號時,你們走哪一條線。技術這一側全部做對,還是有一種信會過關:對方的信箱真的被人接管了。那封信從對方的網域送出、用對方的簽章蓋章、對齊完全成立,三道全綠得無可挑剔。這時候擋得住的只剩流程——改帳號一律拿電話簿裡的舊號碼回撥一次,信上新留的那支號碼不算數。自問:收到「改匯款帳號」這種要求時,你們公司用哪一條線再確認一次?

一家門窗五金批發商的一封改帳號信

底下這家台灣中部的門窗五金批發商,是為了把這個結構講清楚而編出來的示意情境,沒有指涉任何真實公司。

實例演練
  • 信進來:業務助理收到通知,說本月起貨款改匯另一個帳號。抬頭、格式、簽名檔的分機都跟平常一樣。沒有一處看起來奇怪
  • 第一道,查發送路徑:送信的主機確實有權替信裡那個寄件網域送信,檢查通過。亮綠燈
  • 第二道,查數位簽章:簽章驗得過,內容在路上沒被動過。亮綠燈
  • 第三道,對齊:通過前兩道的那個網域,跟助理在信件上看到的寄件網域分屬兩個欄位,兩條線一條都指不到它。對齊全滅
  • 政策閘門:公司的網域政策停在第一階「只回報」,沒對齊的信不隔離、也不退回。照常進收件匣
  • 匯款:47 萬元的貨款照新帳號匯出,兩週後對方催款才發現。錢已經走了

回頭看這條線,出事的地方在最不起眼的那一格。前兩道檢查各自誠實地回答了自己的問題——主機有授權、簽章驗得過——它們從頭到尾沒有回答「這封信是你往來十年的那家廠商寄的嗎」。第三道問了,答案是否定的,而政策停在只回報,於是這個否定只變成報表上的一行,沒有變成任何一個動作。門窗五金這門生意,一張訂單常常橫跨兩個月的備料期,貨款是整批走的,一次匯錯就是幾十萬。技術上這封信早就被標記過;流程上它一路暢通。以上為說明結構用的示意情境,僅供理解框架之用。

這三道檢查什麼時候會騙你

  1. 全綠只證明有人替某個網域說過話,沒有證明那個人是你的往來廠商。任何人都能註冊一個長得很像的網域,然後老老實實替它把發送路徑與簽章都設好。那封信在機器眼裡毫無破綻,因為它確實從自己的網域寄出、也確實由那個網域簽章——冒名這件事發生在收件人的眼睛裡:他讀的是信件上顯示的那一行,機器驗的是另一個欄位。系統管後者,人看前者,中間那道縫就是對齊要補的。
  2. 它擋得住冒你的名,擋不住對方的信箱被接管。帳號被接管之後送出來的信,網域是真的、簽章是真的、對齊完全成立,三道全綠。DMARC 從頭到尾沒有做錯任何一件事——它本來就不負責判斷「今天坐在那個信箱前面的人是不是他自己」。這類信在批發與製造業特別致命:往來久、格式熟、金額大,收件人的疑心早就被十年的正常往來磨平了。
  3. 政策一次拉到最嚴,最先被退掉的往往是你自己的信。報價系統、電子報平台、出貨通知,各自用自己的網域簽章送信。沒盤點就直接跳到退回,客戶收不到對帳單、業務收不到系統通知,兩天之內就會有人要求「先關掉再說」——而關掉之後,多數公司再也沒回來開第二次。這就是為什麼那麼多網域一停就停在只回報,一停七年。

擋得住的是冒名,擋不住的那一段在哪裡

痛點視角

這三道檢查真正在問的,是那個網域的主人有沒有替這封信說過話。

這是一個很乾淨的問題,也是一個很窄的問題。網域主人替主機背書、替簽章背書,於是機器知道這封信有出處。把它擺到 P.A.I.N. 的第一格「誰在痛」旁邊看,落差就出來了:這張圖畫得出一封信的來歷,畫不出收件人此刻的處境。它畫得出主機有沒有授權、簽章驗不驗得過、沒對齊的信該送去哪一格;它畫不出那個業務助理手上正壓著三張催貨單、老闆下午三點在等匯款回執,而她要不要為了一封「看起來一模一樣」的信,打斷所有人去打那通電話。機器這一側能做的,是把可疑的信標出來;剩下那一段路,靠的是有沒有人被允許停下來。所以把政策從只回報往上推一階,比再多發一封宣導信有用得多——它把判斷從一個很累的人身上,搬回一台不會累的機器上。

今晚就能做的一件事:打開你網域的政策設定,看它停在哪一階。停在只回報,就先去數一數有幾套系統掛著你的名字在送信——那份清單就是往上推一階的門票。

常被問到的幾件事

SPF 和 DKIM 都設好了,還需要 DMARC 嗎?

需要,因為前兩道檢查沒有任何一道在看收件人眼睛看到的那個寄件網域。攻擊者可以用自己的網域,把前兩道設得漂漂亮亮,再把顯示的寄件人寫成你的公司。DMARC 做的事,是把「通過檢查的網域」跟「顯示的寄件網域」擺在一起比對,比不上就照你設定的政策處置。少了它,前兩道檢查的結論只停在「這封信有出處」,走不到「這封信的出處就是它自稱的那家公司」。

對齊是兩條檢查都要對上,還是一條就好?

一條就好。發送路徑那條的網域對得上,或簽章那條的網域對得上,任一成立這一關就算過,不必兩條同時成立。實務上這件事很關鍵:信在轉寄或在郵件論壇繞一圈之後,發送路徑那條常常會斷掉,而簽章那條通常還活著,對齊就靠它撐住。反過來說,一封信也可能兩道檢查都通過、卻在對齊這一關全滅——那正是前面那封改帳號信的長相。

政策要一次拉到最嚴嗎?

不建議。先在只回報停一段時間,把報表真的看過,列出所有掛著你網域送信的系統,一套一套補上簽章與授權。等到報表上「沒對齊、但其實是自己人」的信歸零,再推到隔離,觀察幾週沒有客戶抱怨收不到,最後才推到退回。這段路通常要幾週到幾個月,長短取決於你有幾套系統在代寄。跳過中間那一階的公司,多半兩天內就被業務端逼著整組關掉。

我們公司不大,值得花這個力氣嗎?

值不值得,要看單筆匯款的金額與往來的密度,跟公司規模關係不大。做批發、做代理、做工程分包的公司,帳期長、單筆金額大、往來對象固定,正是這種攻擊最喜歡的形狀。設定本身多半是幾筆網域紀錄的事,真正花時間的是盤點誰在替你送信——而那份盤點就算不為了防詐,下次換信箱服務商的時候你也遲早要做一次。

今晚就能做的一件事:打開你網域的政策設定,看它停在哪一階。把同一種懷疑再往前推一格,讓每一次存取都重新判定,那是零信任的存取判定在畫的事;想看清楚信件驗證在整套治理裡坐哪一格,可以對照資安治理的功能盤點。

發現引用或事實有誤?請寫信回報,我會依更正政策修正。