主題: 郵件的防偽技術 (SPF, DKIM, DMARC)

 

一、概說

 

在我們現在電子郵件使用頻繁的時代,最大的困擾就是每天收到很多的垃圾郵件,但其實我們最怕的是有心人偽造我們的身份寄信給我們的客戶,

那麼到底我們應該如何避免客戶收到這些偽造的信件的機會,而且也能防止接收到釣魚郵件或垃圾郵件呢? 這就是本文要介紹目前業界最常用

的方式;整合SPF、DKIM及DMARC防偽機制。

 

二、SPF機制的說明

 

SPF機制就是把自己公司授權寄信郵件伺服器之IP或FQDN公告,並且指示收件者端的郵件伺服器針對非授權IP所寄的郵件之處理原則。

 

 

圖一、SPF架構之運作流程示意圖

 

語法: v=spf1 [<ip4>|<ip6>:<IP address>] [include:<domain name>] <enforcement rule>

*語法中的`|`符號表示or (也就是只選擇其中之一項)

  • v=spf1: 這是必要的宣告,表示為SPF version 1
  • ip4: 表示為IPV4的網路地址格式, CIDR 表示法也可以使用, 例如 ip4:192.168.1.0/24
  • ip6: 表示為IPV4的網路地址格式
  • IP address: 表示此e-mail domain會用來寄信件的伺服器IP,當然這是公司Mail Server Public IP,不是範例中的內部IP
  • domain name: 通常是指含有FQDN完整名稱的Mail Server 寄件伺服器的名稱, 尤其是代為寄信的機構之寄信伺服器之FQDN。
  • Enforcement rule:
  1. -all : hard fail,也就是不在我SPF記錄中的寄信IP均當成偽造IP,通常如果你的公司僅使用SPF 機制,且確定只有在此記錄中的IP會寄信出去,那麼建議使用這個設定,但若有使用DKIM及DMARC機制的企業,則建議使用~all。
  2. ~all: soft fail,通常是指不確定只有在SPF清單上列的寄信伺服器IP,通常會再配合DKIM及DMARC使用。
  3. ?all: neutral. 測試SPF用的語法,不建議在實際的公司環境中使用。

範例一:

v=spf1 ip4:192.168.1.1 ip4:192.168.1.2 include:spf.protection.outlook.com -all

 

範例二:

v=spf1 ip4:192.168.1.0/24 include:spf.protection.outlook.com -all

 

範例三:

v=spf1 include:spf.protection.outlook.com -all


 

 

三、DKIM機制的說明

 

DKIM 是直接在寄出的郵件的標頭加密,收到郵件的伺服器,則可以由寄件者的DNS取得public key,然後解開加密的郵件標頭,如果傳送過程沒有被修改過,則表示pass,若有被改過,則fail。

 

Office 365要啟用DKIM,只要在DNS上簡單的設定兩筆記錄後,直接在Office 365的管理中心的保護/dkim中選取你要啟用的自訂網域中的dkim啟用鍵即可。範例如下:

selector1._domainkey      IN    CNAME   selector1-xxx-com-tw._domainkey.yyy.onmicrosoft.com.

selector2._domainkey      IN    CNAME   selector2-xxx-com-tw._domainkey.yyy.onmicrosoft.com.

註:xxx為你的domain name, yyy為你在office 365的名稱

 

 圖二、Office 365 Exchange 系統管理中心 DKIM的啟用介面

 

若是一般的Mail Server則必須要產生DKIM Domain Key,且將public key發佈於DNS的記錄,然後在Mail Server中加入Private key才行,但該Mail Server必須支援DKIM才有效。

 

Open Source的Mail Server(例如Linux Base的Centos 7,可採用OPEN DKIM套件進行設定,而Domain-Key可以由open ssl產生,至於產生的key長度大約會選擇1024及2048兩種方式,

可是一些舊的firewall有可能不支援mail標頭2048這個長度的key,要留意。不過不用太擔心,現在的firewall基本上都支援。網路上雖有online產生Domain-key及DKIM DNS記錄的方式,

但站在資安的角度上,強烈不建議如此做。因為你無法確保對方不會保留你在線上產生的private key,若是惡意的網站,則你對防釣魚及防偽造郵件所做的努力將白費力氣!

 

 

圖三、DKIM 架構運作流程示意圖


 

四、DMARC機制的說明

DMARC可以整合SPF及DKIM進行偽造的郵件之處理。

SPF是檢查envelope-from 或者叫5321.MailFrom(出現在SMTP Command的MAIL FROM command)的e-mail address。而DMARC則可以確認SPF pass後

再檢查5322.From這個一般人看得到的寄件者e-mail address。也就是因為SPF不會檢查我們一般人看得到的寄件者這個欄位,所以有心人士就可以利用

合法掩護非法,5321.MailFrom (SMTP command)寫的是偽造者在他公告的SPF記錄的e-mail address,但在5322.from: (寄件者欄位)則寫的是假的

e-mail address(被偽造的寄件者e-mail address),所以配合DMARC的Alignment check,它會進行這個查核,也就是兩者應一致才pass。

 

 圖四、DMARC機制運作流程示意圖

 

表一是實施DMARC的收件端伺服器會定期的傳送DMARC報表,讓你瞭解寄信的狀況。(這報表是將收到的xml檔由https://mxtoolbox.com 的Dmarc Report Analyzer分析的圖表。

表一、DMARC 定期的report

 

 

 

DMARC的DNS記錄,設定範例如下:

_dmarc  IN TXT  "v=DMARC1; rua=mailto:Email住址會使用灌水程式保護機制。你需要啟動Javascript才能觀看它; p=quarantine; pct=100; sp=none"

 

標記

必要性

用途

v

必要

 DMARC1,表示DMARC version 1

p

必要

none (無):可疑郵件記錄於每日報告中。

quarantine (隔離):將郵件標示為垃圾郵件。

reject (拒絕):要求收件伺服器拒絕郵件。

pct

選用

設定沒通過檢查,要套用DMARC policy的百分比。(1<值<100)

rua

選用

接收DMARC report的e-mail address,例如:mailto:Email住址會使用灌水程式保護機制。你需要啟動Javascript才能觀看它,如要設多個e-mail address,則以逗號區分。

sp

選用

為子網域設定不同的 DMARC 政策。

none (無):可疑郵件記錄於每日報告中。

quarantine (隔離):將郵件標示為垃圾郵件。

reject (拒絕):要求收件伺服器拒絕郵件。

adkim

選用

設定 DKIM alignment:

s:表嚴格。寄件者的網域名稱與 DKIM 郵件標頭中 d=name 必須完全符合。

r:表寬鬆(預設值)。允許部分比對吻合,接受 DKIM 郵件標頭 d=domain 的子網域名稱。

aspf

選用

設定 SPF alignmetn:

s:表嚴格。郵件的 from: 標頭(寄件者)與 SMTP MAIL FROM 指令中的email domain name 必須完全符合。

r:表寬鬆(預設值)。允許部分比對吻合,可接受 domain name 的子網域名稱。

表二、 DMARC DNS記錄的參數說明

 

 

五、使用Exchange Server的企業之建議方案

 

  • Microsoft office 365方案:

 

            雲端方案A:  Microsoft office 365或Exchange online完整支援SPF、DKIM及DMARC的機制,而且設定簡便。

 

           雲端方案B: 如果企業採用混合雲的方案,則應將mx記錄指向微軟的雲端收信伺服器入口IP。

 

           雲端方案C: 若企業不想購買雲端office 365,也不想採用混合雲的方案,也可以購買微軟的EOP產品,由微軟雲端過濾後再寄至公司的郵件伺服器。

 

  • Nopam Anti-SPAM Mail Gateway:

          此產品完全支援SPF、DKIM及DMARC機制,能夠降低企業的郵件被偽造的風險。

 

參考文件:

 

        SPF的文件

       DKIM的文件

       DMARC的文件

 

 

 

*以上的方案,本公司均提供完整的規劃及服務。

如有以上的需求,請連絡我們,我們將派專人規劃及說明。

長成資訊顧問股份有限公司

(04)2234-2560 轉業務部

 

Read 5170 times Last modified on 週一, 12 八月 2019 14:00