梭子魚巧妙應對電子郵件退信攻擊
【51CTO.com 綜合消息】電子郵件系統(tǒng)的退信機制是互聯(lián)網(wǎng)運作的標準之一,幾乎所有的電子郵件系統(tǒng)都支持這項功能。所謂退信機制,即郵件系統(tǒng)在SMTP連接階段,檢查收件人是否存在,如果收件人不存在,或是接收端因為某種原因而不能接受,郵件系統(tǒng)將自動生成退信信息(NDR【Non-Delivery Report】)并自動發(fā)送給發(fā)件人。依據(jù)RFC的定義,郵件系統(tǒng)必須接受這種NDR,否則有可能導致連正常郵件都無法收取。退信攻擊就是利用郵件系統(tǒng)的這一特定產(chǎn)生的。
所謂退信攻擊,是將預攻擊的對象偽造成發(fā)件人地址,而收件人設置為一系列其他郵件域并不存在的賬號,這樣當郵件大量發(fā)送,例如通過僵尸網(wǎng)絡,由于收件人不存在,郵件系統(tǒng)將產(chǎn)生大量的退信給發(fā)件人地址。該發(fā)件人地址所屬的真實服務器將收到大量的退信,增加服務器的負荷,也容易使該公司的郵件服務器被列入黑名單。
退信攻擊在程度上有所區(qū)別,上面介紹的這種攻擊,被攻擊者可能一天之內(nèi)收到數(shù)百上千封各種退信。一般用戶碰到的退信攻擊屬于騷擾性質(zhì),垃圾郵件發(fā)送者在發(fā)送垃圾郵件時,常常隨機的設置發(fā)件人,例如其中包括bobo@abc.com,當大量發(fā)送垃圾郵件時,有些郵件可能是以bobo@abc.com發(fā)送的,則bobo就可能收到退信,有時一天只有幾封或幾十封,但總是不斷,讓人十分郁悶。
退信信息通常比較有規(guī)律,例如發(fā)件人為空,或者為MAILER-DAEMON@xxx.com,主題一般為Undelivered Mail Returned等。有些用戶采用關鍵字的技術將退信予以阻斷,或者干脆限定阻止空發(fā)件人,但是這經(jīng)常會把正常的退信也阻止掉,導致信息不暢。
一般而言,退信占一個公司的郵件量5%以上,這其中絕大部分是垃圾退信。如何防止收到這種垃圾退信,避免退信攻擊呢?
采用SPF或domain-key的技術。這兩種技術的原理相似。例如sohu.com的SPF記錄是sohu.com text = "v=spf1 ip4:61.135.130.0/23 ip4:61.135.132.0/23 (。。。sohu郵件服務器所屬IP)all";如果有人冒用sohu發(fā)送垃圾郵件,收件方如果采用了SPF過濾技術,就能判定這是假冒的垃圾郵件,將不會給sohu發(fā)送DNR了。
遺憾的是很多服務器不做SPF驗證,因此即使您的公司設置了SPF記錄,也不能阻止垃圾退信。
梭子魚垃圾郵件防火墻采用的彈回郵件驗證機制可以完美解決垃圾退信,其原理如下,在梭子魚垃圾有限防火墻外發(fā)郵件時加入時間戳和驗證密鑰,形如:20090714023838.BB1B612EEE9;這封郵件發(fā)出后產(chǎn)生了彈回信,彈回信中應包括發(fā)郵件時的時間戳和密鑰。如果不包括上述信息,則說明這封郵件不是由該設備發(fā)出的,是垃圾彈回信,予以阻斷。
附:設置方法:在管理界面過濾設置—sender authentication 中
![]() |
圖1 |
設置是否過濾非法彈回信及驗證密鑰即可。
在日志中搜索阻斷原因為Invalid Bounce可以查找到所有阻斷的垃圾退信記錄。