郵箱安全第9期 | 利用協議認證手段解決郵件安全問題 發布時間:2017-12-27 00:00:00 來源:


之前我們介紹了利用商業産品解決方案解決郵箱安全問題,鑒于SMTP傳統郵件的安全性不足,我們將爲大家介紹利用SPF,DKIM,rDNS, DMARC等郵件協議認證的手段解決郵箱安全問題。本期分別爲大家做一些簡單的介紹。

1rDNS

 

rDNS是什麽?

 

rDNS(Reverse DNS)指得是反向解析,就是把IP解析成域名。反向解析在郵件服務器應用中相當于對你的郵件服務器進行身份驗證,這樣的策略可以很好的減少垃圾郵件。

 

爲什麽需要做rDNS?

 

因爲有些應用程序需要反向來認證對方,如SMTP,也就是爲什麽國外很多SMTP發往國外的郵件被退信的主要原因。做了rDNS會好很多。DNS服務器裏有兩個區域,即“正向查找區域”和“反向查找區域”,反向查找區域即是這裏所說的IP反向解析,它的作用就是通過查詢IP地址的PTR記錄來得到該IP地址指向的域名,當然,要成功得到域名就必需要有該IP地址的PTR記錄。

 

技術原理淺析

 

舉例說,有一天,danny到拜訪某用戶,他遞上一張名片,名片上寫著他來自“杭州安恒信息有限公司”以及電話號碼等信息,客戶覺得應該對danny的來曆做個簡單調查,于是打電話到danny名片上的電話號碼所屬通信部門進行查實,如果通信管理部門告訴客戶其電話號碼不屬于“安恒信息”,則客戶將拒絕danny的拜訪,如果其電話號碼的確屬于““安恒信息”,客戶可能接受danny的拜訪,也可能進一步查實,于是就打電話到““安恒信息”所屬注冊機構查詢,如果得到的答複確認確有此電話號碼,則客戶將接受danny的拜訪,否則仍將拒絕danny的拜訪。例子中,danny好比是我們的郵件服務器,客戶是對方郵件服務器,““安恒信息”就是我們郵件服務器與對方郵件服務器通信時所使用的HELO域名(不是郵件地址@後的域名),名片上的電話號碼就是我們郵件服務器出口的公網IP地址。客戶對danny進行調查的過程就相當于一個反向解析驗證過程。由此看出,反向解析驗證其實是對方服務器在進行的,如果我們沒有做反向解析,那麽對方服務器的反向解析驗證就會失敗,這樣對方服務器就會以我們是不明發送方而拒收我們發往的郵件,這也就是我們排除其它原因後(如被對方列入黑名單、沒有MX記錄、使用的是動態IP地址等等)在沒做反向解析時無法向163.com、126.com等發信的原因。

 

2SPF

 

SPF是什麽?

 

SPF(Sender Policy Framework)是以IP地址認證電子郵件發件人身份的技術,是一種通用的反垃圾技術之一。 接收郵件方會首先檢查域名的SPF記錄,來確定發件人的IP地址是否被包含在SPF記錄裏面,如果在,就認爲是一封正確的郵件, 否則會認爲是一封僞造的郵件進行退回。

 

爲什麽要用SPF?

 

SPF 出現的目的,就是爲了防止隨意僞造發件人。

 

技術原理淺析

 

假設郵件服務器收到了一封郵件,來自主機的 IP 是178.111.24.121,並且聲稱發件人爲email@example.com。爲了確認發件人不是僞造的,郵件服務器會去查詢example.com的 SPF 記錄。如果該域的 SPF 記錄設置允許 IP 爲178.111.24.121的主機發送郵件,則服務器就認爲這封郵件是合法的;如果不允許,則通常會退信,或將其標記爲垃圾/仿冒郵件。因爲不懷好心的人雖然可以「聲稱」他的郵件來自example.com,但是他卻無權操作example.com的 DNS 記錄;同時他也無法僞造自己的 IP 地址。因此 SPF 是很有效的,當前基本上所有的郵件服務提供商(例如 Gmail、QQ 郵箱等)都會驗證它。

 

3DKIM

 

DKIM是什麽?

 

DKIM(DomainKeys Identified Mail),是一種電子郵件的驗證技術,使用密碼學的基礎提供了簽名與驗證的功能。

 

 

爲什麽要用DKIM?

 

郵件的接收端將會對郵件頭中的簽名和從DNS獲取公鑰進行驗證, 檢查郵件是否被僞造。 DKIM簽名是現行通用的反垃圾技術之一,有了該配置, 郵件的到達率將會顯著提升。

 

技術原理淺析

 

DKIM的基本工作原理同樣是基于傳統的密鑰認證方式,它的具體做法是生成一對公鑰和私鑰,私鑰由發送者保存,公鑰存放在From字段指定域名的txt記錄中。郵件發送時,用私鑰加密郵件頭的某些字段,並附上郵件內容的hash值,讓用戶收到郵件時,查找此原來的公鑰,對加密的內容進行解密,然後比對相應的內容,整個過程如下圖所示。收信的服務器,將會收到夾帶在郵件頭中的私鑰和在DNS上自己獲取公鑰,然後進行比對,比較寄信者的域名是否合法,如果不合法,則判定爲垃圾郵件。

4MARC

 

DMARC是什麽?

 

DMARC 全稱是 Domain-based Message Authentication, Reporting and Conformance,是一個構建在 SPF 和 DKIM 技術之上的解決方案。

 

爲什麽要用DMARC?

 

DMARC 的核心思想是郵件的發送方通過特定方式 (DNS) 公開標明自己會用到的發件服務器 (SPF)、並對發出的郵件內容進行簽名 (DKIM),而郵件的接受方則檢查收到的郵件是否來自發送方授權過的服務器、並且核對簽名是否有效。對于未能通過前述檢查項目的郵件,接受方則按照發送方指定的策略進行處理【比如直接投入垃圾箱或者拒收】,從而有效避免僞造的釣魚郵件進入用戶的收件箱。

 

技術原理淺析

 

發件方在投遞郵件之前,先申明自己所有會用到的郵局,並且對自己的郵件加上防僞簽名。收件方郵局在接收到郵件時,會做兩件事:

1、 檢查信箋內寫的發件人地址,並根據這個地址去查對應的發件人指定了哪些郵局、這封郵件是否是從那些郵局中的某一個轉寄過來的;

2、檢查信箋的防僞簽名是否被篡改過。如果前述兩項都失敗了,接受方郵局則根據發送方指定的策略對僞造的郵件做相應的隔離或者拒收處理。當然實際部署的情況比這裏描述的要複雜得多,我們將在之後內容中重點介紹DMARC。