本發(fā)明涉及計算機網(wǎng)絡(luò)安全領(lǐng)域,具體涉及一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng)及內(nèi)容還原方法。
背景技術(shù):
現(xiàn)代企業(yè)之間的很多業(yè)務(wù)往來都是通過電子郵件的方式進行,但是在郵件交互過程中,很有可能會發(fā)生泄密,而現(xiàn)在越來越多的郵件服務(wù)器,開始支持SMTPS或者是STARTTLS加密方式,從郵件客戶端到郵件服務(wù)器再到最終用戶,不知不覺中就有可能會發(fā)生泄密問題?,F(xiàn)有的基于防火墻或者安全網(wǎng)關(guān)的過濾技術(shù),無法正常截獲基于SSL層加密的郵件內(nèi)容,所以就無法通過關(guān)鍵字檢索防止泄密郵件的問題。
針對上述問題,現(xiàn)有技術(shù)A提出郵件傳輸代理方法,將郵件服務(wù)器(Mail Server)的下一跳設(shè)置為MTA,在MTA上接收所有由客戶端(client)發(fā)送的郵件,在MTA上進行郵件關(guān)鍵字檢索,防止郵件泄密,如圖1所示。然而這種方法,企業(yè)內(nèi)部必須要有自己的郵箱,且郵件服務(wù)器在企業(yè)內(nèi)部,并且可設(shè)置,因為需要在郵件服務(wù)器上設(shè)置郵件代理的地址,因此對于托管的企業(yè)郵箱或者公共郵箱,則無法使用郵件傳輸代理。即使企業(yè)擁有自己的郵箱,也部署了郵件傳輸代理,但企業(yè)內(nèi)部員工同樣可以使用外部郵箱,譬如QQ郵箱,網(wǎng)易郵箱之類的繞過郵件傳輸代理,從而導致郵件泄密。
現(xiàn)有技術(shù)B提出基于SSL/TLS的數(shù)據(jù)明文采集系統(tǒng),將明文采集系統(tǒng)架設(shè)在客戶端與服務(wù)器之間,分別與客戶端和服務(wù)器建立SSL/TLS握手,共享會話密鑰,如此可以獲取建立在SMTPS連接層上的明文郵件內(nèi)容?,F(xiàn)有技術(shù)B的局限性在于只能解決基于SMTPS連接的郵件泄密問題,但現(xiàn)在有很多服務(wù)器支持STARTTLS加密傳輸,該技術(shù)與SMTPS的區(qū)別在于,SMTPS是在TCP層三次握手之后馬上就開始進行SSL/TLS握手,之后與服務(wù)器端進行的所有通信都是基于SSL/TLS傳輸層進行的,而STARTTLS在TCP三次握手之后,會與郵件服務(wù)器進行交互,獲取郵件服務(wù)器的特征支持列表,當該特征支持列表中有STARTTLS時,客戶端才會主動發(fā)起SSL/TLS握手。因此,傳統(tǒng)的基于SSL/TLS的數(shù)據(jù)明文采集系統(tǒng)無法解決STARTTLS的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng)及內(nèi)容還原方法,該郵件內(nèi)容還原系統(tǒng)可以有效的監(jiān)控企業(yè)所有的郵件內(nèi)容,都能及時發(fā)現(xiàn)企業(yè)內(nèi)部員工的郵件泄密,結(jié)合其它的技術(shù)手段,譬如TCP連接重置等方式,有效的防止郵件泄密功能。
為實現(xiàn)上述目的本發(fā)明提供了一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng),包括分流模塊、郵件服務(wù)器模擬模塊、郵件客戶端模擬模塊、報文重組模塊以及內(nèi)容識別服務(wù)器;分流模塊與郵件服務(wù)器模擬模塊通信,郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊和報文重組模塊通信,郵件客戶端模擬模塊與郵件服務(wù)器通信,報文重組模塊與信息采集系統(tǒng)通信。
所述的分流模塊將目的端口為25、465、587的網(wǎng)絡(luò)數(shù)據(jù)報文轉(zhuǎn)發(fā)給郵件服務(wù)器模擬模塊。
所述的郵件服務(wù)器模擬模塊將郵件內(nèi)容發(fā)送給郵件客戶端模擬模塊和報文重組模塊。
所述的郵件客戶端模擬模塊直接與郵件服務(wù)器相連,將郵件內(nèi)容發(fā)送給郵件服務(wù)器。
所述的報文重組模塊將郵件服務(wù)器模擬模塊發(fā)送來的郵件內(nèi)容重新組包成明文的TCP報文,然后發(fā)送至信息采集系統(tǒng)。
一種使用所述郵件內(nèi)容還原系統(tǒng)的郵件內(nèi)容還原方法,包括步驟:
A、交換機接收到用戶的請求,判斷目的端口是否為25、465、587,如果目的端口為這三個端口,則將該請求轉(zhuǎn)發(fā)給分流模塊,如果目的端口不是這三個端口,則放行該請求;
B、分流模塊將用戶請求發(fā)送到郵件服務(wù)器模擬模塊的監(jiān)聽端口;
C、郵件服務(wù)器模擬模塊接收分流端口的端口信息,判斷請求的目的端口, 如果請求的目的端口是25,檢查該請求中是否存在STARTTLS關(guān)鍵字,如果不存在,則直接將報文發(fā)送給郵件客戶端模擬模塊;如果存在,則在將請求報文發(fā)送給郵件客戶端模擬模塊的同時,準備與用戶建立SSL連接,同時通知郵件客戶端模擬模塊與郵件服務(wù)器建立SSL連接;
如果請求的目的端口是465、587,郵件服務(wù)器模擬模塊直接與用戶建立SSL連接,同時通知郵件客戶端模擬模塊與郵件服務(wù)器建立SSL連接;
D、郵件客戶端模擬模塊在郵件服務(wù)器模擬模塊的控制下,選擇與郵件服務(wù)器是否需要建立SSL連接以及合適建立SSL連接;
當連接建立完畢后,郵件服務(wù)器模擬模塊和郵件客戶端模擬模塊僅作數(shù)據(jù)中轉(zhuǎn),在數(shù)據(jù)中轉(zhuǎn)的同時,郵件服務(wù)器模擬模塊會同時拷貝一份數(shù)據(jù)給報文重組模塊;
E、報文重組模塊在收到郵件服務(wù)器模擬模塊發(fā)送來的數(shù)據(jù)后,根據(jù)語序?qū)?shù)據(jù)重組為TCP明文報文,然后發(fā)送至信息采集系統(tǒng)。
本發(fā)明與現(xiàn)有技術(shù)相比,本發(fā)明只需在企業(yè)出口交換機上設(shè)置郵件內(nèi)容還原系統(tǒng),即可解決企業(yè)內(nèi)部沒有自己的郵件服務(wù)器,而使用托管的企業(yè)郵箱時,安全網(wǎng)關(guān)或防火墻之類的軟件無法正確識別基于SSL加密層傳輸?shù)腟MTP郵件傳輸協(xié)議的問題,以及傳統(tǒng)的基于SSL/TLS的數(shù)據(jù)明文采集系統(tǒng)無法支持的STARTTLS郵件加密的問題,最終實現(xiàn)郵件內(nèi)容還原工作。并且,本發(fā)明的郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊的聯(lián)合控制技術(shù),無論是使用內(nèi)部郵箱還是托管的企業(yè)郵箱,都可以有效的監(jiān)控企業(yè)所有的郵件內(nèi)容,及時發(fā)現(xiàn)企業(yè)內(nèi)部員工的郵件泄密,結(jié)合其它的技術(shù)手段,譬如TCP連接重置等方式,有效的防止郵件泄密功能。
附圖說明
圖1是本發(fā)明現(xiàn)有技術(shù)A 的邏輯圖;
圖2是本發(fā)明實施例2 的效果圖。
具體實施方式
以下是本發(fā)明的具體實施例,對本發(fā)明的技術(shù)方案做進一步的描述,但是本發(fā)明的保護范圍并不限于這些實施例。凡是不背離本發(fā)明構(gòu)思的改變或等同替代均包括在本發(fā)明的保護范圍之內(nèi)。
實施例1
一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng),包括分流模塊、郵件服務(wù)器模擬模塊、郵件客戶端模擬模塊、報文重組模塊以及內(nèi)容識別服務(wù)器;分流模塊與郵件服務(wù)器模擬模塊通信,郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊和報文重組模塊通信,郵件客戶端模擬模塊與郵件服務(wù)器通信,報文重組模塊與信息采集系統(tǒng)通信,如圖2所示。
所述的分流模塊將目的端口為25、465、587的網(wǎng)絡(luò)數(shù)據(jù)報文轉(zhuǎn)發(fā)給郵件服務(wù)器模擬模塊。
所述的郵件服務(wù)器模擬模塊將郵件內(nèi)容發(fā)送給郵件客戶端模擬模塊和報文重組模塊。
所述的郵件客戶端模擬模塊直接與郵件服務(wù)器相連,將郵件內(nèi)容發(fā)送給郵件服務(wù)器。
所述的報文重組模塊將郵件服務(wù)器模擬模塊發(fā)送來的郵件內(nèi)容重新組包成明文的TCP報文,然后發(fā)送至信息采集系統(tǒng)。
一種使用所述郵件內(nèi)容還原系統(tǒng)的郵件內(nèi)容還原方法,包括步驟:
交換機接收到用戶的請求,判斷目的端口是否為25、465、587,如果目的端口為這三個端口,則將該請求轉(zhuǎn)發(fā)給分流模塊,如果目的端口不是這三個端口,則放行該請求;
分流模塊將用戶請求發(fā)送到郵件服務(wù)器模擬模塊的監(jiān)聽端口;
郵件服務(wù)器模擬模塊接收分流端口的端口信息,判斷請求的目的端口, 如果請求的目的端口是25,檢查該請求中是否存在STARTTLS關(guān)鍵字,如果不存在,則直接將報文發(fā)送給郵件客戶端模擬模塊;如果存在,則在將請求報文發(fā)送給郵件客戶端模擬模塊的同時,準備與用戶建立SSL連接,同時通知郵件客戶端模擬模塊與郵件服務(wù)器建立SSL連接;
如果請求的目的端口是465、587,郵件服務(wù)器模擬模塊直接與用戶建立SSL連接,同時通知郵件客戶端模擬模塊與郵件服務(wù)器建立SSL連接;
郵件客戶端模擬模塊在郵件服務(wù)器模擬模塊的控制下,選擇與郵件服務(wù)器是否需要建立SSL連接以及合適建立SSL連接;
當連接建立完畢后,郵件服務(wù)器模擬模塊和郵件客戶端模擬模塊僅作數(shù)據(jù)中轉(zhuǎn),在數(shù)據(jù)中轉(zhuǎn)的同時,郵件服務(wù)器模擬模塊會同時拷貝一份數(shù)據(jù)給報文重組模塊;
報文重組模塊在收到郵件服務(wù)器模擬模塊發(fā)送來的數(shù)據(jù)后,根據(jù)語序?qū)?shù)據(jù)重組為TCP明文報文,然后發(fā)送至信息采集系統(tǒng)。
實施例2
一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng),包括分流模塊、郵件服務(wù)器模擬模塊、郵件客戶端模擬模塊、報文重組模塊以及內(nèi)容識別服務(wù)器;分流模塊與郵件服務(wù)器模擬模塊通信,郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊和報文重組模塊通信,郵件客戶端模擬模塊與郵件服務(wù)器通信,報文重組模塊與信息采集系統(tǒng)通信。
在郵件客戶端的服務(wù)器設(shè)置頁面中,發(fā)件服務(wù)器的端口設(shè)置為25,不使用SSL和STARTTLS加密傳輸。
目的端口為25,交換機將請求轉(zhuǎn)發(fā)給分流模塊;分流模塊將請求轉(zhuǎn)發(fā)到郵件服務(wù)器模擬模塊所監(jiān)聽的端口,譬如8080;郵件服務(wù)器模擬模塊將請求發(fā)送給郵件客戶端模擬模塊,同時復制一份給報文重組模塊;郵件客戶端將請求發(fā)送給最終的郵件服務(wù)器。
實施例3
一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng),包括分流模塊、郵件服務(wù)器模擬模塊、郵件客戶端模擬模塊、報文重組模塊以及內(nèi)容識別服務(wù)器;分流模塊與郵件服務(wù)器模擬模塊通信,郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊和報文重組模塊通信,郵件客戶端模擬模塊與郵件服務(wù)器通信,報文重組模塊與信息采集系統(tǒng)通信。
在郵件客戶端的服務(wù)器設(shè)置頁面中,發(fā)件服務(wù)器的端口設(shè)置為25,不使用SSL,選擇“如果服務(wù)器支持,就使用STARTTLS加密傳輸”。
此時郵件雙方前期使用明文傳輸,后期使用加密傳輸,使用端口依然為25。前期明文階段,交換機將請求轉(zhuǎn)發(fā)給分流模塊;分流模塊將請求轉(zhuǎn)發(fā)到郵件服務(wù)器模擬模塊所監(jiān)聽的端口,譬如8080;郵件服務(wù)器模擬模塊將請求發(fā)送給郵件客戶端模擬模塊,同時復制一份給報文重組模塊;郵件客戶端將請求發(fā)送給最終的郵件服務(wù)器。在雙方會話的同時,郵件服務(wù)器模擬模塊會監(jiān)視郵件客戶端的請求內(nèi)容,當郵件客戶端發(fā)送的請求中包含STARTTLS時,郵件服務(wù)器模擬模塊將STARTTLS的請求傳遞給郵件客戶端模擬模塊,同時準備與郵件客戶端進行SSL握手建立SSL加密傳輸通道。郵件客戶端模擬模塊將STARTTLS請求發(fā)送給郵件服務(wù)器,然后向郵件服務(wù)器發(fā)送SSL握手請求。最終郵件客戶端與郵件服務(wù)器模擬模塊建立SSL加密傳輸通道,使用密文通信。郵件客戶端模擬模塊與郵件服務(wù)器建立SSL加密傳輸通道,同樣使用密文通信。而郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊之間使用明文傳輸,郵件服務(wù)器模擬模塊在將明文傳發(fā)送給郵件客戶端模擬模塊的同時,復制一份給報文重組模塊。
實施例4
一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng),包括分流模塊、郵件服務(wù)器模擬模塊、郵件客戶端模擬模塊、報文重組模塊以及內(nèi)容識別服務(wù)器;分流模塊與郵件服務(wù)器模擬模塊通信,郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊和報文重組模塊通信,郵件客戶端模擬模塊與郵件服務(wù)器通信,報文重組模塊與信息采集系統(tǒng)通信。
在郵件客戶端的服務(wù)器設(shè)置頁面中,發(fā)件服務(wù)器的端口設(shè)置為465,選擇使用SSL,此時“如果服務(wù)器支持,就使用STARTTLS加密傳輸”選項將無法選擇。
此時郵件雙方完全使用加密傳輸,使用465端口。郵件客戶端將請求發(fā)送給交換機,交換機將請求發(fā)送給分流模塊,分流模塊將請求發(fā)送給郵件服務(wù)器模擬模塊,此時郵件服務(wù)器模擬模塊與郵件客戶端建立SSL加密傳輸通道,同時通知郵件客戶端模擬模塊,郵件客戶端模擬模塊向郵件服務(wù)器發(fā)送SSL握手請求,最終建立兩條SSL加密傳輸通道,郵件客戶端與郵件服務(wù)器模擬模塊進行加密傳輸;郵件客戶端模擬模塊與郵件服務(wù)器進行加密傳輸;郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊進行明文傳輸;郵件服務(wù)器模擬模塊在將請求發(fā)送給郵件客戶端模擬模塊的同時,復制一份給報文重組模塊。
實施例5
一種基于STARTTLS/SSL/TLS郵件協(xié)議郵件內(nèi)容還原系統(tǒng),包括分流模塊、郵件服務(wù)器模擬模塊、郵件客戶端模擬模塊、報文重組模塊以及內(nèi)容識別服務(wù)器;分流模塊與郵件服務(wù)器模擬模塊通信,郵件服務(wù)器模擬模塊與郵件客戶端模擬模塊和報文重組模塊通信,郵件客戶端模擬模塊與郵件服務(wù)器通信,報文重組模塊與信息采集系統(tǒng)通信。
用戶通過任何郵件客戶端發(fā)送郵件,郵件先發(fā)送到公司的郵箱,公司的郵箱檢查郵件目的地址,發(fā)起SMTP連接,請求通過交換機轉(zhuǎn)到本系統(tǒng)上,所有流程與用戶使用外部郵箱的相同,只是郵件服務(wù)器與郵件服務(wù)器中間的連接就不會使用STARTTLS了,要么是明文,要么是加密連接,就是上文中的實施例2和實施例4,只是雙方的通信不再是郵件客戶端與郵件服務(wù)器,而是公司的內(nèi)部郵件服務(wù)器與目的郵件服務(wù)器了。