電子郵件系統的退信機制是互聯網運作的標准之一,幾乎所有的電子郵件系統都支持這項功能。所謂退信機制,即郵件系統在SMTP連接階段,檢查收件人是否存在,如果收件人不存在,或是接收端因為某種原因而不能接受,郵件系統將自動生成退信信息(NDR【Non-Delivery Report】)並自動發送給發件人。依據RFC的定義,郵件系統必須接受這種NDR,否則有可能導致連正常郵件都無法收取。退信攻擊就是利用郵件系統的這一特定產生的。
所謂退信攻擊,是將預攻擊的對象偽造成發件人地址,而收件人設置為一系列其他郵件域並不存在的賬號,這樣當郵件大量發送,例如通過僵屍網絡,由於收件人不存在,郵件系統將產生大量的退信給發件人地址。該發件人地址所屬的真實服務器將收到大量的退信,增加服務器的負荷,也容易使該公司的郵件服務器被列入黑名單。
退信攻擊在程度上有所區別,上面介紹的這種攻擊,被攻擊者可能一天之內收到數百上千封各種退信。一般用戶碰到的退信攻擊屬於騷擾性質,垃圾郵件發送者在發送垃圾郵件時,常常隨機的設置發件人,例如其中包括[email protected],當大量發送垃圾郵件時,有些郵件可能是以[email protected]發送的,則bobo就可能收到退信,有時一天只有幾封或幾十封,但總是不斷,讓人十分郁悶。
退信信息通常比較有規律,例如發件人為空,或者為[email protected],主題一般為Undelivered Mail Returned等。有些用戶采用關鍵字的技術將退信予以阻斷,或者干脆限定阻止空發件人,但是這經常會把正常的退信也阻止掉,導致信息不暢。
一般而言,退信占一個公司的郵件量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發送垃圾郵件,收件方如果采用了SPF過濾技術,就能判定這是假冒的垃圾郵件,將不會給sohu發送DNR了。
遺憾的是很多服務器不做SPF驗證,因此即使您的公司設置了SPF記錄,也不能阻止垃圾退信。
梭子魚垃圾郵件防火牆采用的彈回郵件驗證機制可以完美解決垃圾退信,其原理如下,在梭子魚垃圾有限防火牆外發郵件時加入時間戳和驗證密鑰,形如:20090714023838.BB1B612EEE9;這封郵件發出後產生了彈回信,彈回信中應包括發郵件時的時間戳和密鑰。如果不包括上述信息,則說明這封郵件不是由該設備發出的,是垃圾彈回信,予以阻斷。