入侵對郵件伺服器的攻擊形式多種多樣:有利用緩衝區溢位漏洞進行的攻擊,還有拒絕服務攻擊和目錄收集攻擊等等。加強郵件伺服器、使用郵件過濾工具、採用被管理的服務、安裝整合軟體等措施都可以從不同的側面終止郵件伺服器所受到的攻擊。本文對上述這些措施都有具體描述。
加固郵件伺服器,首先在它前面安裝郵件過濾網路工具,或使用被管理的郵件過濾服務將有助於減輕來自垃圾郵件發送者和其它途徑的攻擊。
隨著針對最終用戶和他們的桌面系統的攻擊日漸增多,直接攻擊郵件伺服器的情況有所減少(雖然這種減少是相對的)。但是,伺服器仍然是脆弱的,因為攻擊者不斷發現微軟的EXChange server甚至Sendmail的漏洞。以下來看兩個常見的攻擊,以及減少或終止郵件伺服器遭受這些攻擊的方法。
根源之一:緩衝區溢位漏洞
當一個軟體程序,如郵件伺服器軟體,在一個資料緩衝區中儲存了超過最初允許量的更多的數據,並且未曾防備始料未及的輸入時,就會發生緩衝區溢位。攻擊者可以利用這個缺陷讓郵件伺服器執行它未計劃執行的其它程式。如果郵件伺服器的運作享有特權的話,就會危及到整個系統的安全。即便郵件伺服器不享有特權,攻擊者還是能夠危及它的安全,並獲得對它的資源的完全控制權限。
雖然緩衝區溢位是由於偶然的程式錯誤導致的,但是它對於資料完整性而言卻是一種很常見的安全漏洞。當發生緩衝區溢位情況時,多餘的資料會包含被設計用於觸發特定行為的程式碼,如:向被攻擊的伺服器發送可能損壞使用者檔案、修改資料或暴露絕密資訊的新指令。
過去攻擊者常常利用緩衝區溢位漏洞使蠕蟲在網際網路上不同的伺服器之間穿行,從而證明他們的本領。但近來,緩衝區溢位漏洞有了更明確的目標。它們讓攻擊者危及郵件伺服器的安全,以便接下來它們能夠利用郵件伺服器來發送垃圾郵件。
這種攻擊會導致兩個嚴重後果。首先,郵件伺服器被危及安全意味著攻擊者可以閱讀公司的來往郵件。結果可能是災難性的。其次,攻擊者可以使用公司的伺服器資源發送垃圾郵件。這種情況會為公司帶來壞名聲,並違反ISP合同,常常意味著服務終止。
加固郵件伺服器(以及任何其它公共伺服器),防止緩衝區溢出漏洞和其它形式的攻擊是非常重要的。還可以採取其它一些保護措施。
應對之一:伺服器加固
減少郵件伺服器的安全性受到威脅的機會的最佳方式就是加固郵件伺服器本身。在任何情況下,加固都值得努力做出。在加固過的伺服器上,特別是那些因特網上的伺服器,很少有服務會被漏洞攻擊到,那些服務通常是被「區別對待」 的。加固通常需要以下措施:
• 從實體上確保電腦的安全;
• 更新作業系統和應用軟體;
• 啟用日誌,記錄管理員存取和使用資源的操作;
• 刪除不必要的應用程式、服務和工具;
• 啟用本機防火牆服務;
• 限制有特權帳號的使用。
透過加固伺服器,可以大大減少它們的弱點。但僅僅加固郵件伺服器通常是不夠的。更好的解決方案是在加固伺服器的同時,在郵件實際抵達伺服器之前提供額外的對郵件通訊的過濾。
可以透過使用網路工具、管理服務和整合到現存的郵件系統(如:微軟的EXChange)中的軟體來預先對郵件通訊進行過濾。記得防禦要分成不同的層次-例如:加固內部郵件伺服器,同時為保護週邊環境而部署已被供應商加固的網路工具。
應對之二:網路工具
郵件過濾網路工具是部署在內部郵件伺服器前面的。這些工具通常提供兩種類型的防火牆:套件過濾防火牆和應用級防火牆。作為包過濾防火牆的網路工具只允許到郵件服務(如:SMTP,通常是POP3和IMAP)所使用的連接埠的有效TCP/IP通訊。作為應用級防火牆的工具確保發送伺服器正確地使用SMTP,並遵循相關的IEEE Requests for Comments(RFCS)和慣例(如:支援反向DNS設定)。
網路工具由於這樣幾個原因而不易受到攻擊。首先,絕大多數工具都運行在高度客製化的作業系統上。這些作業系統已經將絕大多數可能使攻擊者立足的額外服務禁止掉了(或者從最開始就專門為工具的使用而對操作系統進行了定制)。
其次,工程師在加強工具時嚴格遵守最佳實務。
最後,一個工具只允許進出郵件伺服器的限定類型的通訊(即與郵件傳輸相關的通訊),甚至這類通訊都要經過仔細的檢查。
應對之三:被管理的服務
採用被管理的服務,所有的郵件都先被發送到一個過濾郵件的offsite服務中,這個服務隨後將有效的郵件轉發到公司的郵件伺服器。
要運用這個策略有效地防止直接使用郵件協定的攻擊,內部郵件伺服器必須只接收被管理的服務發起的連接,而不接收任何其它連接。但是這些服務只對進入的郵件通訊有效。出去的郵件通訊還是直接被發送到因特網上的其它伺服器,從而激活使用郵件協議的可能漏洞(例如:在SMTP傳輸過程中一個接收郵件伺服器會攻擊發送郵件伺服器軟體中的緩衝區溢出漏洞)。
應對之四:整合軟體
最後,可以安裝整合軟體來幫助保護郵件伺服器。這個安裝在本地的軟體能防範網路攻擊,讓伺服器更穩固。整合軟體通常運行在應用層(即SMTP)來保護伺服器免受漏洞攻擊。一些整合軟體用一個客製化的加固版本來取代伺服器本地的TCP/IP棧。
但是,更常見的是本地過濾軟體和郵件軟體合作,而不是在郵件軟體和外部系統之間建立一堵牆。當攻擊者可以直接存取到郵件伺服器時(例如:如果一個內部的可信任的使用者發動攻擊),採用這種方法的整合軟體就能夠發揮作用。
應對五:拒絕服務攻擊和目錄收集攻擊
拒絕服務(Denia1 of Service,DoS)攻擊會降低目標系統的能力。比方說一個郵件伺服器,攻擊者試圖放慢它或把它搞癱瘓。攻擊者以幾種方式發動拒絕服務攻擊,包括消耗網路資源和發動目錄收集攻擊。
當攻擊者透過網路資源消耗實施拒絕服務攻擊時,攻擊常常集中在消耗目標機器的所有可取得的進入連線。因為SMTP是TCP協議,成功的漏洞攻擊只要求攻擊者請求的TCP連線的數目比能夠獲得的TCP連線數更多。也就是說,攻擊者會建立比郵件伺服器所能處理的連線數更多的指向郵件伺服器的連線。這樣郵件伺服器就不能再接受來自合法的郵件伺服器的有效的進入連線了。
幾乎找不到任何基於伺服器的解決方案能夠防止拒絕安全服務攻擊。大多數郵件伺服器運行在通常用途的作業系統上,這些作業系統不會為防止拒絕服務攻擊而做調整。即使在一個加固過的UNIX系統上,要提高伺服器耐受大量拒絕服務攻擊的能力也需要不同的網路設定。因此,公司通常會購買為發現和防止拒絕服務攻擊而特別創建的系統,或能夠接受比通常用途的郵件伺服器多得多的同時連接的加固的過濾工具。這種過濾設備通常能夠更好地發現拒絕服務攻擊,並採取防禦措施。
目錄收集攻擊是由垃圾郵件發送者發起的資源密集型攻擊,從而為將來發送垃圾郵件確定可用的有效地址。當發生目錄收集攻擊時,郵件伺服器負載會大幅增加,影響有效郵件的傳輸。此外,本地郵件伺服器會為無效位址試圖向垃圾郵件發送者所使用的From位址傳回未送達報告。
傳回未送達報告產生另外的外寄郵件通訊,消耗昂貴的頻寬,進而增加郵件伺服器的負載。因為垃圾郵件發送者使用的大多數From位址都是假的,所以傳輸未送達報告總是超時,要求郵件伺服器稍後再嘗試傳輸。總之,目錄收集攻擊是一種代價昂貴的攻擊郵件伺服器的形式。
遺憾的是,幾乎找不到減輕目錄收集攻擊危險的方法。一種解決方案是使用被管理的服務。通常被管理的服務維護的郵件伺服器的數量比一個公司所能提供的郵件伺服器的數量要多得多,因此,目錄收集攻擊並不會在很大程度上影響郵件傳輸。
另一個解決方案是安裝針對這類攻擊優化的前端過濾工具。在工具中維護一份合法郵件使用者清單(透過靜態清單或輕型目錄存取協定存取內部目錄),以便篩選器不會將發給無效用