前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的pop3協議主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:多核;郵件還原;Webmail;IMAP
中圖分類號:TN946;TP311.52 文獻標識碼:A 文章編號:1671-2064(2017)10-0030-01
在網絡安全方面對往來郵件的關注度日益增高,如何能在網絡安全審計系統中將前端輸入網絡數據流進行相應處理恢復得到最終直觀可讀的郵件內容。為了解決這個問題本文設計了基于Tilera多核板卡平臺開發,借助其高速收包引擎和多核并行處理的高性能進行數據流捕獲,并對libnids數據流重組進行代碼結構重寫完成數據流重組,最后對郵件相關協議pop3、STMP、IMAP、Webmail進行分析,設計還原算法,實現郵件內容獲取解析拆分重組等操作,并將內容按郵件eml標準格式輸出。
1 Tilera多核板卡收包模塊
基于Tilera平臺開發,使用高速收包引擎接口mPIPE進行開發實現大數據量的網絡數據包捕獲,收包流程如圖1。
該模塊主要通過接收用戶設置參數進行相應配置和初始化硬件資源,給多核板卡的NotifRng、buckets等進行內存分配,同時對tcp重組的部分進行初始化和回調函數注冊,最后調用mPIPE高速收包接口,peek方式收包進行網絡數據包的接入。
2 數據流重組模塊設計
該模塊(如圖2)主要重構修改libnids開源代碼,添加與mPIPE的對接接口,將網絡數據包流量引入tcp流重組模塊,同時對libnids的數據結構進行修改,加入數據還原算法需要用到的用戶字段。后進入回調函數進行郵件協議的分類判斷,根據端口走入不同的郵件還原模塊算法中。
3 郵件還原模塊設計
(1)pop3郵件還原模塊根據協議的特征設計算法,當識別到TOP或RETR協議命令時緩存郵件內容并判斷結束符,最后將完整郵件存入eml文件。
(2)stmp郵件還原模塊的算法和pop3類似,不同的是需要識別的協議命令是DATA。
(3)imap]件還原模塊根據協議交互特征,識別帶用FETCH等請求獲取郵件全部內容或部分內容的協議命令時,組合緩存郵件內容結束符,當郵件內容到達時,判斷結束符,進行單封郵件的循環拆分和eml存儲。
(4)Http郵件還原模塊根據郵箱操作的協議命令格式,每個操作對應一個或多個post或get的url命令格式,其中包含如func=mbox:listMessage"等特征標識,解析并組合其中攜帶的郵件內容,抽取mime格式中的From、To等字段信息寫入eml文件。
4 結語
本文基于Tilera多核板卡硬件平臺進行開發,結合mpipe收包引擎接口和libnids數據流重組功能,針對郵件協議特征設計算法實現POP3、STMP、IMAP、Webmail的郵件還原。
參考文獻
[1]丁岳偉.基于SMTP協議電子郵件的還原[J].小型微型計算機系統,2002(03):290-293.
關鍵詞:JavaMail; SMTP;電子郵件系統
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2011)16-3839-02
The Design and Implementation of E-mail System Based on Java
WEI Yang
(Sichuan University of Science & Engineering, School of Computer Science, Zigong 643000, China)
Abstract: In introducing the SMTP and POP3 e-mail system protocol, JavaMail API framework and based on the core classes, the author mainly deals with a combination of how to use JavaMail API to send and receive e-mail Jsp programming system to implement user accessible communication System's main features include user registration and login, receive and send mail and attachments, such as management.
Key words: JavaMail; SMTP; e-mail system
電子郵件(electronic mail,簡稱E-mail )又稱電子信箱 ,它是―種用電子手段提供信息交換的通信方式。是Internet應用最廣的服務:通過網絡的電子郵件系統,用戶可以用非常低廉的價格 ,以非??焖俚姆绞?,與世界上任何一個角落的網絡用戶聯系。如果擁有自己的電子郵件系統,會讓信息傳送的更加快捷、安全可靠,并能更大程度的滿足個性化需求。
Java Mail API是SUN為Java開發者提供的公用的Mail API框架,它支持各種電子郵件通信協議, 為Java應用程序提供了電子郵件處理的公共接口,通過定義會話、存儲、文件夾、消息和傳輸,為Java程序員提供了一套既簡單又可擴展的面向對象變成方法。JavaMail API由接口和抽象類定義,封裝了所有常規消息系統的公共特性和方法,而JavaMail的具體事項則可以實現所有的郵件協議。包括SMTP(簡單郵件傳輸協議)、POP3(郵局協議)、IMAP(Internet消息訪問協議)等。因此,應用JavaMail API可以用同樣的方法實現對各種協議的郵件系統進行訪問。
1 電子郵件系統的設計
1.1 郵件系統設計思想
本系統采用了Java Mail API和JSP相結合的方法進行開發,構成了系統的B/S結構。用戶接收和發送郵件只需通過瀏覽網頁就可以實現。后臺Java應用程序介于一個郵件服務器和盒交互的Web服務器之間,負責郵件的發送和接收以及郵件的管理。用戶可以訪問在JSP引擎中的JSP頁面產生的Web頁面,屬于數據服務層的郵件服務器存儲用戶所有的郵件和相關的資料。后臺的數據庫主要存儲用戶的相關資料和地址簿整,整個電子郵件系統結構示意圖如圖1所示。
1.2 電子郵件系統模塊
該郵件系統大致可以分成五個部分:登陸郵件服務器模塊、郵件讀取模塊、郵件發送模塊、處理郵件附件模塊和郵件通訊錄管理模塊。
1.2.1 登陸郵件服務器模塊
登陸郵件服務器模塊主要實現用戶登陸驗證,并將用戶信息保存在Session中,方便調用。如果輸入的用戶名不存在或者密碼不正確則會出現錯誤信息提示用戶。如果正確則連接郵件服務器,用戶可根據當前模塊提供的功能進行操作,比如:瀏覽郵件,發送郵件等。
1.2.2 郵件讀取模塊
該模塊負責用戶要對選中的郵件進行讀取,如果涉及到附件要打開查看的話,則連接到郵件的附件模塊。
1.2.3 郵件發送模塊
該模塊負責把用戶所要發送的郵件發送到指定地點,但是不提供附件的功能。
1.2.4 處理郵件附件模塊
附件是郵件消息的相關資源,如果用戶所接收到的郵件中含有附件,則可顯示出該附件的內容并用瀏覽器打開或用相應的應用程序打開。
1.2.5 郵件管理模塊
郵件管理模塊主要實現的郵件的刪除和移動功能。
2 電子郵件系統的實現
系統完整實現是通過各個jsp文件來共同完成的,有主頁面index.jsp調用各個功能模塊頁面。首先登陸郵件服務器要提供POP3郵件服務器和SMTP發信服務器網址,還要提供登錄服務器的用戶名和密碼。先通過制定POP3服務器和SMTP服務器的網址屬性創建一個java.mail.Session.Session類的對象,由該對象的connect()方法進行連接,就可以對服務器上的郵件進行操作了。下面主要介紹發送郵件核心類SendMail的實現服務器的連接并發送郵件。
public static void sendMail()
{
Properties props = System.getProperties();// 創建Properties 對象
props.put("mail.smtp.host", host); // 添加smtp服務器屬性
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, new Authenticator() ) // 創建郵件會話
定義郵件信息
try{
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("I hava my own mail server");
message.setText("From now, you have your own mail server, congratulation!");
session.getTransport("smtp").send(message);
} catch (MessagingException e)
{
e.printStackTrace();
} }
類SendMail是以JavaBean的形式組裝的,頁面文件SendMail.jsp調用該JavaBean組建。
3 結束語
本文著重分析了基于Java電子郵件設計與實現的相關技術,利用Java語言開發,所以可靠性高,具有易擴充性、開放性,并且可以運行在多平臺上。
參考文獻:
[1] 林宏之.Web Services 原理與開發實務[M].北京:電子工業出版社,2003.
[2] 柏亞軍.JSP編程基礎及應用實例集錦[M].北京:人民郵電出版社,2004.
[3] 孫衛琴,李洪成.Tomcat與Java Web開發技術詳解[M].北京:電子工業出版社,2004.
集中管理電子郵件
MailStore Desktop Private支持的郵件來源很廣泛,包括存儲在Outlook、Thunderbird、Outlook Express、IMAP、POP3等對象中的郵件。
在MailStore Desktop Private主窗口的工具欄中點擊“Import Messages(導入信息)”按鈕,在窗口最右側的“Create New Profile(創建賬戶)”欄中選擇郵件的來源,例如Outlook Express,在彈出窗口中的“ProfileName(賬戶名稱)”欄中輸入名稱,勾選“IncludeUnread Messages(包含未閱讀信息)”項(如圖1)。
大家一般喜歡使用Web郵箱來處理郵件,MailStoreDesktop Private同樣可以導入Web郵箱中的郵件。在“Create New Profile(創建賬戶)”欄中點擊“POP3”項,在“E-mall Address”欄中輸入郵箱地址,在“Host”欄中輸入POP3服務器地址,在“Protocal”列表中出現的協議類型,包括POP3、POP3-TLS、POP3-SSL等。在“User Name”和“Password”欄中輸入郵箱的賬戶名和密碼,點擊“Test”按鈕,可以測試該郵箱。點擊OK按鈕,在“Import Message”窗口中部點擊該導入項目,即可從指定的郵箱中導入郵件了。
快捷的郵件導出功能
在MailStore Desktop Private中除了靈活導入郵件外,還可以將存儲的郵件快速導入到不同的郵件管理對象中。當你創建了大量的導入項目后,可以隨時點擊對應的導入項目名,及時更新保存在MailStore Desktop Private中的郵件信息。在MailStore Desktop Private主窗口左上角的“MailStore”列表中顯示所有的導入項目,選中對應的導人項目中的“Inbox”項,在其下的列表中顯示該項目中的所有郵件信息。選中對應的郵件后,在窗口右側可以瀏覽該郵件的完整內容。
在郵件預覽窗口的右上角點擊“Emaal Command”按鈕,在彈出的菜單中點擊“Open in Outlook”項,可以在Outlook中打開該郵件,點擊“Open in WindowsMail/Outlook Express”項,可以在OE中瀏覽該郵件。點擊“Save”項,可以將其導出為獨立的“*eml”文件。點擊“Export”項,在彈出的分支菜單中可以將郵件導出到Outlook、OE、CD/DVD等對象中。
以導出到OE為例,MailStore Desktop Private可以在OE中創建一個名為“MailStore Export”的文件夾,將郵件導出并存儲到該文件夾中。例如選擇“SMTP Forward”項,表示將該郵件發送到指定的郵箱中。在彈出的窗口中設置郵箱地址、SMTP主機地址、賬戶名和密碼、協議類型(包括SMTP、SMTP-TLS、SMTP-SSL)等參數,即可將郵件發送到預設的郵箱中了。也可以直接將郵件導出為“*eml”文件,在上述菜單中點擊“File System/Browse”按鈕選擇輸出路徑,確認后即可將郵件導出到預設的文件夾中。當然,也可以在窗口左側的郵件列表中選擇所有的郵件,在菜單中點擊“Export(導出)”項,將選中的所有郵件導出到選定的對象中。如果還希望導出MailStore Desktop Private中的所有郵件,可以點擊工具欄上的“Administrative Tools(管理員工具)”按鈕,在打開窗口中點擊“Export All E-mail Messages”項,即可將全部郵件導出到指定的文件夾中。
靈活的郵件查詢功能
當在MailStore Desktop Private中導入了大量的郵件后,如何從中快速找到自己需要的郵件呢?利用MailStoreDesktop Prlvate內置的強悍的查找功能,即可輕松解決上述問題。在MailStore Desktop Private主窗口中點擊“Extended Search”按鈕,在郵件查詢窗口中的“Searchfor”欄中輸入查詢的內容(如圖2),在默認情況下,MailStore Desktop Private可以檢測的范圍包括郵件主題、發信人名稱、郵件的內容、附件的名稱以及內容等項目。
你可以對MailStore Desktop Private整個郵件數據庫進行查詢,也可以在“Folder”欄中點擊瀏覽按鈕,選擇對應的郵件存儲文件夾,只查詢選定的存儲文件夾。在“From”欄中輸入發信人地址,在“To/Cc/Bcc”欄中輸入“收信人/抄送人/暗送人”地址,在“Date”欄中設置郵件處理的日期范圍,包括任何日期、今天、昨天、本周,上周、本月、上月、本年、去年、定制日期范圍等。在“Size”欄中選擇郵件的尺寸,包括任何尺寸、最小尺寸、最大尺寸、定制尺寸等。
關鍵詞:病毒;網絡安全;防火墻;juniper
中圖分類號:TP393.08
1 引言
網絡安全的內容是保護數據和服務的安全。防止信息內容被嗅探監聽;維護服務器使得其能不間斷的提供服務。如果要完全的保證網絡的安全性,除非將不同的網絡完全阻斷隔離。但實際中由于信息通信的需要,很少將網絡完全隔離。在與外部網絡有了持續的數據交換后,網絡安全的目的就是使得數據竊聽、破壞服務的難度提高到他們很難達到或者難以忍受的程度。這里的難度包括硬件設別、人力物力、所需時間等多方面的因素。Juniper防火墻將傳統的硬件防火墻與入侵檢測系統整合,并可承擔網絡管理的服務,還可配置為vpn等網絡服務器。Juniper的安全策略、IPSec等功能的實現低功耗搞速率,可以適應于任何類型的網絡。Juniper的管理除了傳統的命令行界面,同時提供了可操作性強的WEB界面管理工具。
2 juniper防火墻主要技術
Juniper提供了多種網絡解決方案,適用于小型部門網絡、中型企業的邊緣網絡、大型企業的內部網絡管理,以及網絡上的各類服務器的安全保護。Juniper全功能防火墻采用實時檢測技術,可以有效的監測入侵者和防止拒絕服務的攻擊。Juniper防火墻是一種集成了ScreenOS操作系統的監控檢測防火墻。Juniper防火墻可用于防止SYN攻擊、ICMP泛濫、端口掃描(Port Scan)等各種攻擊行為,在最復雜的情況下使用硬件加速功能可以提高會話性能,保證功能的良好實現。
Juniper在多種方面保護以實現通信的內容安全,主要的應用包括深層檢測、防病毒、垃圾郵件過濾、和網頁過濾。深層檢測是指在網絡流量里的應用層里檢測攻擊,包括常見的蠕蟲病毒、木馬等,其實就是將傳統的入侵檢測和防護的功能集成到Juniper防火墻的操作系統里面。在同一時間的會話狀態的策略相匹配,基于特征的應用層攻擊的實施,并制定了相應的保護作用。Juniper防火墻匹配的應用層流量的特性進行數據分析,通過一系列的優化,降低了對數據處理能力的影響。
3 juniper防火墻防病毒設置
Juniper 防火墻的防病毒可以針對HTTP、FTP、POP3、IMAP以及SMTP等協議進行配置。
3.1 Scan Manager 的設置
3.2 配置文件的設置
Juniper防火墻的防病毒引用是基于安全策略的,我們通過引入特定的Profile來實現防病毒設置,通過內置的防病毒引擎可以實現高細致化的防病毒控制,極大地降低將防病毒對系統資源的消耗。
操作系統自帶有模板化的配置文件,用戶可以直接在安全策略里引用它,也可以根據網絡的實際需求來設置適合自身需求的配置文件。配置文件設置主要在FTP、HTTP、IMAP、POP3、SMTP等5個方面。每個特定的協議類型,都可以用Enable選項啟用或禁用防病毒引擎對與這個協議相關的流量的掃描。掃描方式的三個種選擇:全掃描、特定掃描、擴展掃描。
很多文件在傳輸時都會被壓縮以減少傳輸時間。減壓層就是用來設置防病毒引擎掃描壓縮文件的層數。防病毒引擎最多可以支持對4層壓縮文件的掃描。
在HTTP協議的配置里,可以通過Skipmime Enable啟用和禁用打開或關閉防病毒掃描。在IMAP、POP3、SMTP 等郵件協議配置里,可在發現病毒或異常后,通過Email Nortify選項開啟對用戶的郵件通知。
3.3 防病毒配置文件在安全策略中的引用
如前所述,防病毒的實現是通過在特定安全策略中引用配置文件來實現的。比如,
我們將名為av1的防病毒的配置文件應用于名ftp-scan的策略中。
(1)首先建立了名為av1的配置文件,并啟用FTP協議的掃描;由于我僅希望檢測的是FTP
應用,故關閉對其他協議的掃描。
(2)設置ftp-scan安全策略,并引用配置文件av1。
(3)引用了配置文件進行病毒掃描的策略,在action欄會有相應的圖標出現。如下圖
4 結語
計算機網絡安全是一個復雜的系統工程,針對不段變換的網絡環境和病毒攻擊手段,防火墻的配置只是其中一個主干部分而非全部,所有的防御不能完全依賴于防火墻,必須將防火墻的配置與各種安全措施結合起來,才能達到保障計算機安全的目的。同時對于juniper防火墻的病毒庫,必須實時的進行更新才能保證與實時的攻擊防御同步。
參考文獻:
[1]海陽.租個軟件防病毒[J].中國計算機用戶,2004(47).
[2]Earl Greer,劉毅.防病毒新舉措[J].中文信息,1998(Z1).
小知識
IMAP是何物?
IMAP就是Internet Message Access Protocol(互聯網郵件訪問協議)的縮寫,我們可以通過這種協議從郵件服務器上獲取郵件的信息、下載郵件等。IMAP與POP類似,都是一種郵件獲取協議。默認情況下,QQ郵箱只開啟了POP協議,我們在電子郵件客戶端的操作,是不會反饋到服務器上的,這樣就會發生文章開頭那種情況。但IMAP就不同了,電子郵件客戶端的操作都會反饋到服務器上。也就是說,IMAP是“雙向”的。
QQ郵箱設置好
打開QQ郵箱,依次進入“郵箱設置”的“賬戶”標簽頁,然后在“POP3/IMAP/SMTP服務”下勾選“開啟IMAP/SMTP服務”(圖1),單擊“保存修改”按鈕。
如果你的QQ郵箱激活時間未滿14天,是無法啟用IMAP服務的。
客戶端上開啟IMAP
我們以常見的郵件客戶端Foxmail為例,看看如何開啟IMAP支持。
Step1 啟動Foxmail,依次單擊“郵箱”菜單“新建郵箱賬戶”,在出現的窗口中輸入QQ郵箱地址和密碼(圖2),然后單擊“下一步”按鈕。
Step2 在“接收郵件服務器類型”處選擇IMAP后,“接收郵件服務器”就自動變為:imap.省略,“發送郵件服務器”則是:smtp.省略(圖3)。單擊“下一步”按鈕。
對于的郵件地址,輸入@前面部分即可;對于@vip.省略的郵件地址,須輸入完整的郵件地址。
Step3 軟件默認勾選了“郵件在服務器上保留備份,被接收后不從服務器刪除”(圖4)。大家最好不要修改這個設置。
其他客戶端設置
刀刀同學機器上的Outlook Express的設置基本和Foxmail的設置一樣。設置完畢,點擊“收件”按鈕即可。Foxmail客戶端的收信速度很快,郵箱中保存的幾百封信件數十秒就搞定了(但是收下來的信排列比較混亂,統一是當天的收信時間,無法按照QQ Web郵箱中的排列順序進行排序。)
Outlook Express收下信件后顯示的排序正確,不過收信花費的時間相當長,大約用了十幾分鐘。
當我用Foxmail回復了一封收到的郵件時。在刀刀同學機器上的Outlook Express中,該信件就立刻變為已閱讀及已經回復的狀態。而且他的“已發送郵件文件夾”中也有了我回復的郵件。同理,刀刀同學通過Outlook Express進行的操作在我的Foxmail中也能看到了。
A只要在uTorrent中將上傳速度限制低一些,例如當前的上傳速度為50KB/s,直接將其限速為30KB/s或是更低,這樣就可以確保下載速度能夠接近正常的下載水平。uTorrent中的設置方法:單擊“選項設置”,選擇“帶寬”,在右側窗口中直接將上傳速度限定為具體值即可(見圖1)。
傻博士有話說:
在網絡傳輸過程中,TCP/IP標準規定,每一個封包,都需要有acknowledge(確認)訊息的回傳,也就是說,傳輸的資料,需要有一個收到資料的訊息回復,才能決定后面的傳輸速度,并決定是否重新傳輸遺失的資料。上行的帶寬一部分就是用來傳輸這些acknowledge資料的,當上行負載過大的時候,就會影響acknowledge資料的傳送速度,并進而影響到下載速度。這對非對稱數字環路也就是ADSL這種上行帶寬遠小于下載帶寬的連接來說影響尤為明顯。試驗證明,當上傳滿載時,下載速度將會變為理想速度的40%,因此,在進行BT下載時,適當地限制上傳速度能夠提高下載速度。
播放畫面全屏后就靜止
Q在線看視頻(例如看優酷網視頻),只要將播放畫面全屏后畫面就會靜止不動,但聲音還正常。請問這是什么原因?
A這一般與顯卡驅動程序未安裝好或者損壞有關,只要按Win+R鍵打開運行對話框,輸入“devmgmt.msc”(不含外側引號)并按回車鍵,在打開的設備管理器中找到顯卡項,將驅動程序卸載并重新安裝一遍,然后重新啟動系統應該能解決問題。此外,若未開啟硬件加速、未安裝DirectX,或者Flash播放插件版本過低,也會導致類似的情況發生,在顯卡驅動正常的情況下,可以考慮以上幾種可能的原因并逐項排除。
撥號連接無法保存用戶名及密碼
Q最近我的撥號連接總是無法保存我的用戶名和密碼,在登錄對話框下面的“為下面用戶保存用戶名和密碼”區域的選項全部為灰色不可用。請問如何解決?
A可以按Win+R鍵調出運行對話框,輸入“regedit”(不含外側引號,下同)并按回車鍵打開注冊表編輯器,然后依次展開到[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RasMan\Parameters\DisableSavePassword],將該項值修改為“0”或是直接刪除“DisableSavePassword”項,按F5鍵刷新注冊表或重新啟動系統應該能解決問題。
傲游下載模塊損壞
Q我在注冊表中清理了一下迅雷的相關項,結果導致傲游瀏覽器的下載模塊損壞,重新安裝亦不能解決。請問如何修復此故障?
A請按Win+R鍵調出運行對話框,并輸入執行“regsvr32 c:\windows\system32\atl.dll”(不含外側引號)命令,一般即可解決問題。
Foxmail中總是無法設置Gmail
QFoxmail是最新版的,設置其他郵箱一切正常,但在試圖設置Gmail時在“查找接收郵件服務器(POP3)”這步無法通過。請問這是什么原因?
A要想在郵件客戶端程序中收、發Gmail郵箱中的郵件,需要在Gmail中設置開啟POP功能(當然也可以啟用IMAP協議):在Gmail中點擊“設置”,選擇“轉發和POP/IMAP”,選中“針對所有郵件啟用POP(包括已經下載的郵件)”,點擊“保存更改”保存設置即可(見圖2)。
QQ空間下載播放插件出問題
關鍵詞:大容量郵件系統;存儲設備構建模式;冗余分布式技術并發;Mail2G;WEB郵件技術
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)33-1381-02
The Large-capacity E-mail System
ZHANG Xiao-yun
(MianyangVocational and Technical College, Mianyang 621000, China)
Abstract: From the origin, the bottlenecks and other aspects of the traditional mail systems, this article stated the birth of large-capacity e-mail system, its requirements on the memory equipments, the new technologies used on it, state of affairs of its development and the evaluation methods.
Key words: large-capacity e-mail systems; models built storage devices;distributed technology with redundancy; Mail2G; Web e-mail technologies
1 引言
1969年10月LeonardKleinrock在計算機上成功地發送了“L O”,標志電子郵件的誕生。1971年Ray Tomlnson首次使用了含有@的電子郵件地址, 開創了@時代。在David H Crocker等人的不懈努力下,電子郵件在上世紀80年代從實驗室走向了商業化應用,1999年統計顯示,當時的電子郵件用戶已經達到了5.96億。本世紀初,電子郵件用戶和郵件容量急速增加,傳統電子郵件的不足凸現出來。
電子郵件系統在電子通訊網中利用電信號傳遞信件、單據等各種信息,通信雙方在ISP上申請郵件帳號,形如:username@server_address,即郵箱,利用郵箱收發信息。傳統的電子郵件系統由SMPT、POP3、IMAP和SSL協議構成。SMPT稱為簡單郵件傳輸協議,實現郵件從一個服務器到另一個服務器的傳輸。POP3稱為郵局協議,負責將郵件從郵箱中傳輸到用戶的本地計算機。IMAP為互聯網郵件訪問協議。SSL用于保護郵件安全,在郵件系統中主要完成數據加密。
在早期的郵件系統中,郵件通過單線程、雙向通道技術,實現連續的信息傳送,不支持斷點續傳,占用相當數量的帶寬,網絡資源的浪費可觀。離線傳送機制,使得郵件送達的時間較長而且不確定,受到了各種即時通訊軟件的巨大挑戰。郵件傳送機制制造了潛在的安全患,接收者被動收郵件,冒名、匿名郵件大行其道,垃圾郵件、病毒郵件漫天飛。各種郵件病毒,讓全世界數以百萬計的電腦深受禍患。字符傳送模式需要編碼和解碼,增加了服務器的開銷。傳統郵件系統還把用戶的認證和郵件存儲模式等功能固化在模塊中,不提供二次開發,固化方式阻礙了負荷分散處理和數據分布式存儲,設備擴展困難、高峰時的海量負載容易造成系統的阻塞、死鎖、坍塌。此外收發郵件所使用的客戶端郵件程序配置和管理復雜,增加了用戶負擔。以上原因阻礙了電子郵件的使用,促進了新郵件系統的研發。由于新郵件技術著力于解決巨量郵件用戶服務和大容量附件的傳輸等方面的問題,被稱為大容量郵件系統,或者第二代郵件系統。
2 大容量郵件系統對存儲設備的要求
通常,大容量郵件系統是指能為5萬以上用戶提供服務的郵件系統,存儲設備是其關鍵。首先,并行的多個服務器必須能夠共享存儲設備,存儲系統能夠完成服務器的并發讀寫,這就要求存儲設備在保證數據的一致性和完整性的基礎上能夠高速、并發讀寫數據,通常采用分布式存儲模式;其次用戶數量在不斷擴張,存儲容量隨時短缺的可能導致經常性擴容,在構建存儲設備時要充分考慮擴容,使系統的水平擴展和垂直擴展便捷(水平擴展是指通過增加服務器數量進行系統擴展;垂直擴展是指在服務器數量不變的基礎上,實現系統的重新配置);第三,商用存儲設備在可靠性、讀寫時間等方面要求較高,價格不菲,海量存儲設備是大容量郵件系統的核心,在堆疊存儲器時要合理設計,減少重復存儲,降低單位容量的成本,存儲管理可以采用分布式散列算法。
存儲設備構建模式有三種:NAS模式、DAS模式、SAN模式。大容量郵件系統在數據組織上采用了多級目錄式管理,所以在大容量郵件系統中多數采用SAN模式,當NAS和SAN都不適用時采用DAS模式。
3 在大容量郵件系統中采用的新技術
大容量郵件系統中采用了許多新技術。有的系統采用了冗余分布式技術,采用集群方式將一組相互獨立的服務器以單一模式管理,使系統在網絡中按照單一系統方式呈現,在服務器上將郵件的不同模塊分離后加載到不同的服務器或者相同的多個服務器上,系統的各個功能部分獨立工作,不同服務器上的相同模塊并行處理,有效解決了海量并發服務請求。當單臺服務器產生故障時,能夠重新分配任務,不影響系統運行,提高了服務器的平均無故障時間,還能夠實現在線的流水式備份。有的系統中增加了Prefork:生成守候進程[1],以求在最短時間內響應大量的突發請求,實現進程間隔離保護特性達到并發下的穩定可靠。還有一些系統采用了Apache服務器[2]。這種服務器可以以進程為單位,方便擴展服務器和擴展元集群節點,其開放式源代碼,對功能增減和個性化需求都比較容易滿足,提供了較好的跨平臺服務支持。
4 大容量郵件系統的發展情況
目前,許多營運商對原有的郵件系統進行了改造,市場也推出了新的郵件系統,表明了新郵件技術研究工作取得了一些階段性成果,大容量郵件系統主要朝著以下幾個方面發展:
4.1 第二代電子郵件系統Mail2G[3]
Mail2G著力于改進客戶端軟件的工作機理。在Mail2G中用IMAP4取代IMAP、多線程帶寬爭用代替單線程技術、POPost 協議取代POP3協議,實現了字節流傳送和斷點續傳,節約了帶寬,提高了郵件的傳送競爭能力,加快了傳送的時間,提高了及時送達能力;通過發送握手信號通知收件人收件,在握手信號中加入了諸如發件人信息、主題、概要等內容,讓收件人可以及時地、選擇性地接收郵件,改善了收件人被動性;在服務器端,Mail2G使用filedir模式,把用戶郵箱的內容分塊存儲,操作錯誤將局限在所在的目錄下;采用分布式存儲結構,容量擴展方便, OEPT協議實現了大容量附件的傳送。
4.2 WEB郵件技術
WEB郵件技術的理念就是讓用戶利用熟悉的瀏覽器,在任何一網的電腦上,登陸互聯網或者局域網中的郵件服務器閱讀郵件,除了瀏覽器知識以外,無額外知識要求,無需配置客戶端軟件,經常出差的用戶也能方便接收郵件,提高了郵件系統的服務質量。
4.3 多域郵件服務程序
多域郵件服務程序則可以實現一臺服務器為多個獨立注冊的互聯網域名企業或者單位提供獨立的電子郵件服務,通過提高設備的共享性和有效性,充分發揮了設備和服務的效力,降低郵件系統構建的成本。
4.4 Linux郵件服務器
Linux郵件服務器能夠向Linux系統用戶提供更加專業、優質的服務, Linux系統所采用的開放源代碼模式,使得郵件系統的研發變得容易,降低了郵件系統的價格,郵件系統功能豐富,個性化特點鮮明。
4.5 強有力的安全防護措施
為郵件系統和郵件用戶提供無威脅的服務一直是郵件技術追尋的夢想。在大容量郵件系統中,管理者使用數字證書登陸管理,增加了能夠提供鏈路加密和端對端加密的安全技術,采用了S―MIME加密協議,密碼服務器與用戶服務器分離;限制同一IP地址在同一時間中的連接數量;提供郵件概要,讓用戶能夠主動地根據概要地選擇接收郵件;對有污點的IP地址進行記錄和防范等等。
除此之外,有的大容量郵件系統還為用戶提供多種語言配置,實現了不同語言平臺間信息傳遞和交流。有些系統能夠提供遠程監控和性能調整,根據系統負載情況進行實時調整、實時優化,提高可靠性和性能。有的系統積極擴展服務種類,增加特色服務或者服務的范圍,如增加用戶模塊,提供第二次開發;增加防病毒模塊,提高病毒檢查和防護能力;增加短信模塊,向同一消息系統發展等等。
5 大容量郵件系統的測評標準和我國的大容量郵件系統發展現狀
大容量郵件系統還沒有統一國際國內的標準,如何評價或者判定一個系統是否是大容量郵件系統,眾說紛紜,判定時基本上會考慮以下幾個方面:一是系統的安全性和垃圾郵件的防范能力,二是系統的可靠性,如錯誤率、流失率等,三是郵件遷移能力,同步流水備份對系統影響情況,四是靈活性和高效率,是否在底層設防,目錄共享、遠程郵件集中存儲和收發效能,五是可擴展性,是否在理論上支持無限可擴展。
我國在上世紀末開始了大容量郵件系統研發,相繼了一些解決方案。過去的兩年中,筆者曾經參加了幾個涉及第二代電子郵件的科技項目審定,這些項目在市場推廣上都與預期相差甚遠,除去各種外部因素以外,項目本身存在缺陷,諸如在高峰時郵件丟失率高;對管理員的約束較少,用戶信息外泄潛在的危機大;服務器與存儲設備的綜合性能上有待深一步考慮;技術上的突破不顯著等等。此外技術上的合作不足也制約了這些項目的研發、推廣。技術推進產品,需求推動技術,大容量郵件系統的研究成果正在逐漸融入我們的生活。
參考文獻:
【 關鍵詞 】 互聯網;信息安全;賬號密碼;身份認證
Security Investigation on the Internet Users’ Accounts and Passwords
Xie Jin 1 Liu Fan-bao 2 Xie Tao 2
(1.The First High School of Changsha HunanChangsha 410005;
2. School of Computer Science, National University of Defense Technology HunanChangsha 410073)
【 Abstract 】 Being directed against the basic problem of information security, i.e. the security of the Internet users’ accounts and their corresponding passwords, an investigation on the security level of inland network identity authentication has been carried on for 3 years. The investigation focuses on testing the security mechanisms applied in the registration (create a new account) and sign-in procedures of some dominant inland Internet Email service providers, and testing the security mechanisms applied in the registration and sign-in procedures of some dominant inland Internet E-Business service providers. To make comparisons on the security mechanism with overseas Internet Email service providers, similar tests have also been carried out on the three dominant Internet Email service providers, namely Hotmail, Gmail and Yahoo!Mail. Research results show that, China’s current information security can be leveled as very severe, so that some emergent measures must be taken to hold up the network security as soon as possible, and the first and foremost remedy is not to send a user’s username\password over the circuit “in the clear” any more.
【 Keywords 】 internet;information security; account password; identity authentication
1 引言
與歷史上改變人類生活方式的重大技術革命一樣,網絡技術已經成為一把名副其實的雙刃劍。從模擬信號到數字信號、從有線連接到無線連接、從靜止通訊到移動通訊、從單計算機應用到多計算機互聯、從人-人互聯到人-物與物-物互聯,網絡技術發展到今天,已經無處不在、不可或缺。但由于因特網的基礎協議(TCP/IP)未考慮信息安全因素,使得在網絡信息技術飛速發展的今天,安全問題也異常突出。網絡賬號密碼泄密、網絡阻塞、網站癱瘓、郵件偽造、黑客入侵、網絡欺詐、假冒網站等信息安全問題,已經嚴重威脅電子金融、電子商務、電子政務、網絡媒體、網絡社交等互聯網絡服務的安全與信任問題。
愈演愈烈的“密碼危機”已經演變成為對網絡技術的信任危機。近年來,互聯網用戶信息泄露與入侵事件層出不窮,事件日益嚴重。例如,索尼上億用戶信息泄露,韓國SK通訊公司七成韓國人資料遭泄露,日本愛普生公司泄露3500萬用戶信息,美國銀行與美國花旗銀行信用卡信息遭泄露,華盛頓郵報百萬用戶信息遭泄露…… 近年來,我國也發生了史上最為嚴重的用戶信息泄露事件。2011年12月,CSDN上600萬用戶資料被公開,知名團購網站美團網的用戶賬號密碼信息也被宣告泄露,天涯社區、開心網、7K7K、貓撲等多個社區和游戲網站的用戶數據相繼外泄,網上公開暴露的網絡賬號密碼超過1億個。2013年3月,著名云筆記服務提供商Evernote 5000萬用戶身份密碼遭黑客泄漏。 2014年12月,中國鐵路客戶服務中心12306用戶數據在互聯網遭到大量泄漏,包括用戶賬號、明文密碼、身份證以及郵箱等。如何確保互聯網上個人、組織、服務和設備之間的虛擬服務具有與現實服務同等的可靠度與誠信度,已成為網絡安全行業在信息安全理論、技術、工程與管理上迫在眉睫、義不容辭的責任與使命。
身份認證是網絡信息安全的基本保障。網絡服務器通過身份認證與訪問控制方式對合法注冊用戶進行授權與管理。用戶首先通過注冊(賬號與密碼)成為網絡服務器的合法用戶,只有通過身份認證的用戶才能訪問/使用(閱讀、修改、下載等)網絡服務器相應角色的資源。身份認證與訪問控制是網絡信息安全的基本技術和基本研究內容。網絡信息安全涉及計算機操作系統、互聯網絡安全協議與密碼算法的安全性,其中網絡安全協議以密碼算法為基礎,采用網絡協議的形式實現兩個以上網絡實體之間的遠程身份認證、密鑰協商以及確保消息的不可抵賴性。安全協議的安全性不僅取決于密碼算法自身的安全性,同時也取決于協議形式的安全性。身份認證協議常用攻擊方法包括網絡監聽、重放攻擊、中間人攻擊、在線攻擊、離線攻擊等等,一個不安全的身份認證協議可以被黑客利用進行網絡攻擊。因此,身份認證協議的安全性是確保網絡身份認證安全的技術基礎。
2 電子郵件系統與商業網站賬號安全
我們首先對每個電子郵箱的三種登錄方式分別進行了用戶賬號密碼的傳輸方式測試,包括POP3登錄方式、IMAP登錄方式以及Web登錄方式。然后,對每個電子郵箱注冊服務過程中用戶注冊信息的傳輸方式進行測試。
2.1 電子郵箱POP3客戶端登錄安全方式調查
我們在2011年8月的調查結果表明,采用POP3客戶端登錄方式的所有國內電子郵件服務提供方默認使用明文密碼進行用戶身份認證,而且其中46%的境內郵件服務提供方(28家中的13家)僅支持明文密碼認證。我們在2012年8月的調查結果表明,采用POP3客戶端登錄方式的所有境內電子郵件服務提供方仍然默認使用明文密碼進行用戶身份認證,而且其中39%的境內郵件服務提供方(28家中的11家)僅支持明文密碼認證。一年期間,中國移動的139mail新增HTTPS支持,Tommail新增Login支持。此點說明,已經有境內電子郵件服務提供方開始認識到用戶登錄身份認證安全的重要性。調查統計結果如圖1(a)所示。
2.2 電子郵箱IMAP客戶端登錄安全方式調查
我們在2012年8月的調查結果表明,25%的境內郵件服務提供方(28家中的7家)不支持IMAP客戶端登錄。在支持IMAP客戶端登錄的境內電子郵件服務提供方中,所有提供方默認使用明文密碼進行用戶身份認證,其中33%的提供方(21家中的7家)僅支持明文密碼認證。調查統計結果如圖1(b)所示。
2.3 電子郵箱Web頁面注冊與登錄安全方式調查
我們在2012年8月的調查結果表明,除億郵(eyou.mail)關閉了注冊功能外,所有境內郵件服務提供方在用戶注冊過程中均將注冊信息(包括賬號與密碼)以明文方式傳輸至注冊服務器。在已調查的28個境內知名郵件服務提供方中有19個(比例為67.9%)為收費郵件服務(每月收取服務費用從五元至上百元不等),有9個(比例為32.1%)提供免費電子郵件服務。調查結果表明,境內郵件服務商信息安全意識不強,對用戶私密信息缺乏足夠安全保護。令人震驚的是,19家收費電子郵件系統中竟有16家(比例為84.2%)默認使用明文密碼進行登錄認證,僅有3家提供非明文密碼的登錄認證方式,而且其中一家僅僅采用極其簡單的線性掩碼變換方式對登錄密碼進行保護,另外兩家則采用安全的HTTPS方式對登錄過程中的密碼傳輸進行加密保護。由此可見,境內電子郵件系統安全性十分脆弱。在9家免費電子郵件系統中,僅有搜狐旗下的4家提供安全的HTTPS對登錄過程的密碼傳輸進行加密保護,另外三個使用用戶明文密碼進行登錄認證,剩余兩家使用單向挑戰響應認證方式對用戶賬號密碼進行有限保護。根據輕量級(非公開密鑰密碼系統)動態身份認證方式中認證服務器數據庫賬號密碼必須與用戶登錄密碼一致的原理,可以推定其中使用單向挑戰響應認證方式的兩家郵件服務商均采用明文密碼數據庫,因此容易遭受因認證數據庫泄密導致的集中泄密風險。調查統計結果如圖2所示。
2.4 國外電子郵箱系統安全性調查
作為安全性比較分析,我們對境外三大電子郵箱服務器Hotmail、Gmail和Yahoo!Mail的安全身份認證方式進行了同樣的測試工作,結果發現這些郵箱的注冊與登錄過程全部以安全HTTPS協議方式對用戶賬號密碼信息進行加密傳輸,基本上沒有明文賬號密碼傳輸認證方式選項。
境內電子郵件服務提供方僅采用最低安全級別的明文密碼傳輸方式進行身份認證,而境外電子郵件服務方一般提供安全級別很高的口令密碼加密傳輸保護方式。因此,境內電子郵件系統極易受到境內外黑客或者情報部門攻擊,并利用用戶個人私密信息進行商業牟利或政治與軍事滲透活動。重視賬號和內容安全的國內電子郵件用戶因而轉投境外電子郵件提供方。由于我們無法控制國外郵件服務器,而境外情報部門卻能輕易控制并利用境內的電子郵箱信息,致使我國在網絡信息安全技術領域處于不對稱的弱勢地位。此外,我國現有網絡服務器等網絡核心設備一般采用國外主機與操作系統,由網絡設備制造方預設的硬件后門和軟件后門所導致的安全風險也不容小覷。
2.5 商業網站賬號安全性調查
名目繁多的境內互聯網商業網站為用戶提供購物、旅游、聊天、交友等系列服務,極大便利了廣大用戶的生活。這些網站數據庫中留下了用戶的各種私密信息(愛好、消費內容和習慣、交往人群等),如果這些用戶信息發生集中泄露事件,用戶就毫無隱私可言。2011年12月期間我國系列網站賬號數據庫集中泄露事件表明,境內商業網站的賬號與密碼的安全性令人質疑。
2012年8月我們集中調查了30家知名商業網站的賬號密碼安全性。受調查的商業網站涵蓋生活、招聘、交友、團購、購物、旅游和視頻等方面,在一定程度上代表了當前服務性商業網站的主流應用。我們主要通過監控用戶注冊過程和用戶登錄過程,檢查網站是否提供必要的安全技術對用戶的賬號密碼進行保護。其中29家商業網站在用戶提交注冊信息(包含賬號密碼)的過程中均未提供任何安全保護,包括知名購物網站淘寶網,用戶設定的賬號和密碼通過明文方式經過不安全的互聯網傳送至網站服務器。京東商城使用HTTPS對注冊和登錄過程進行保護。
26家商業網站(比例86.7%)對用戶的登錄認證過程未提供任何安全保護,僅僅采用明文密碼認證方式,包括知名團購網站拉手網和美團網以及三大招聘網站,如圖3所示。僅有淘寶和京東商城提供了安全的HTTPS對用戶登錄認證過程的密碼傳輸進行加密保護,另有三家網站(58同城、開心網和新浪微博)采用單向挑戰響應認證方式對用戶在登錄認證過程中的密碼傳輸進行了有限的保護。根據動態身份認證方式中認證服務器數據庫賬號密碼必須與用戶登錄密碼一致的原理,可以推定其中使用單向挑戰響應認證方式的三家商業網站服務商采用明文密碼數據庫,因此容易遭受因認證數據庫泄密導致的集中泄密風險。調查統計結果如圖3所示。2014年8月,我們再一次對此30家知名商業網站的賬號密碼安全性進行復查,發現58同城網、CSDN論壇網、美團購物網、大公點評網以及去哪兒旅游網等幾家商業或社交網站的注冊與登錄信息傳輸已經采用HTTPS安全協議進行了加密封裝,其它網站仍然沒有進行必要的安全升級。
3 調查結論與建議
3.1 調查結論
(1)境內互聯網服務提供方用戶的身份注冊與登錄認證過程普遍默認采用靜態身份認證方式。雖然認證數據庫用戶的賬號密碼存儲方式不明,但用戶的賬號密碼卻幾乎全部采用明文密碼傳輸方式。因此,容易遭受網絡監聽泄密風險。這是導致近幾年國內外商業數據庫賬號密碼泄密的主要技術原因。
(2)絕大部分境內互聯網服務提供方的用戶注冊信息(賬號與密碼)傳輸僅僅提供唯一的明文傳輸方式,近半數境內互聯網服務提供方用戶登錄身份認證的賬號密碼傳輸僅僅提供唯一的明文傳輸方式。因此,非常容易遭受網絡監聽泄密風險。這是導致近幾年國內外商業數據庫賬號密碼泄密的主要技術原因。
(3)境外互聯網幾大專業電子郵箱服務器Hotmail、Gmail和Yahoo!Mail均采用SSL\TLS協議對口令實施加密傳輸動態認證,防止賬號口令密碼網絡明文傳輸泄密風險;認證服務器數據庫則采用賬號口令散列值加密方式,預防數據庫內部集中泄密風險。
(4)為了確保網絡身份認證數據庫安全與認證過程中認證信息傳輸的安全性,無論是國際互聯網還是包括軍網在內的各種內部專網,必須采用SSL\TLS協議將網絡身份認證過程加密封裝,在口令密碼散列值加密存儲方式下實現非對稱密碼體制下的動態身份認證。
(5)密碼算法、安全協議與網絡工程以及操作系統各專業研究領域必須緊密合作,才能保證一項互聯網應用工程中的信息安全。我國互聯網普遍存在用戶賬號密碼明文傳輸的不安全靜態認證方式,根本原因在于互聯網應用工程設計人員網絡安全意識不強,對網絡安全協議缺少研究,對常規網絡攻擊方法與行為缺乏了解,對潛在的網絡攻擊新理論與新技術更缺少關心。
根據輕量級動態身份認證的一致性原理可以推定,采用輕量級動態身份認證方式的認證數據庫一般采用用戶賬號密碼的明文存儲方式。根據一致性原理同時可以推定,安全的認證數據庫一般采用用戶賬號密碼的單向散列值影子文件加密保護,而采用SSL/TLS安全協議將靜態認證的明文密碼傳輸轉換成重量級動態認證的加密傳輸方式。這樣,網絡身份認證才能既可防止認證數據庫的內部集中泄密風險,又能防止外部網絡監聽的重放攻擊。
3.2 應急建議
(1)盡快對我國互聯網開展一次用戶身份認證方式的普查工作,檢查認證數據庫用戶的賬號密碼存儲方式與身份認證中賬號密碼的網絡傳輸方式。
(2)盡快對我國各行業內部專用互聯網(內部信息專網、政府辦公專網、金融專網、郵電專網、鐵路專網等等)開展一次用戶身份認證方式的普查工作,檢查認證數據庫用戶的賬號密碼存儲方式與身份認證中賬號密碼的網絡傳輸方式。
(3)采用SSL\TLS協議對我國互聯網用戶身份認證過程實現加密封裝,確保身份認證過程的動態性。
(4)加強網絡信息安全意識,建立互聯網攻防新技術專業實驗室,為復雜信息化環境下的軍事斗爭加緊培養既精通密碼算法與安全協議的分析方法又通曉操作系統與網絡工程技術的復合型高級專門技術人才。
參考文獻
[1] 謝濤,陳火旺,康立山. 幻方身份雙向認證與密約傳輸一體化方法.中國知識產權局,發明專利號:331608,2007年6月.
[2] 謝濤. 一種用于身份真偽鑒別的幻方簽名方法.中國知識產權局,發明專利號:695757,2010年11月.
[3] Freier A, Karlton P, Kocher P. The Secure Sockets Layer (SSL)Protocol Version 3.0. RFC 6101 (Historic). August 2011. http:///rfc/rfc6101.txt.
[4] Dierks T, Rescorla E. The Transport Layer Security (TLS) Protocol Version 1.2. RFC 5246 (Proposed Standard). August 2008. Updated by RFCs 5746, 5878, 6176, http:///rfc/rfc5246.txt.
[5] Rescorla E. HTTP Over TLS. RFC 2818 (Informational). May 2000. Updated by RFC 5785, http:///rfc/rfc2818.txt.
[6] Fielding R, Gettys J, Mogul J, et al. Hypertext Transfer Protocol-HTTP/1.1. RFC 2616 (Draft Standard). June 1999. Updated by RFCs 2817, 5785, 6266, http:///rfc/rfc2616.txt.
[7] Crispin M. INTERNET MESSAGE ACCESS PROTOCOL - VER- SION 4rev1. RFC 3501 (Proposed Standard). March 2003. Updated by RFCs 4466, 4469, 4551, 5032, 5182, 5738, 6186, http:///rfc/rfc3501.txt.
基金項目:
本文工作得到國家自然科學基金項目NSF.61070228與 NSF.61472476的連續資助以及國防科技大學XXX實驗室的大力支持。
作者簡介:
謝瑾(1997-),女,湖南長沙人, 湖南省長沙市第一中學信息技術組成員;主要研究方向和關注領域:互聯網應用創意、文學創作、數學游戲。
關鍵詞:網絡安全;校園網;防火墻;服務器
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)27-7640-03
Configuration of Firewall in Linux
YANG Yun1, ZHANG Hui2
(1.Jinan Railway Polytechnic, Ji'nan 250013, China; 2.Jinan Huangtai School, Ji'nan 250013, China)
Abstract: The article discusses the practical problem in operating campus network, and how to build a high efficient、universal and safe resolution of firewall in Linux at different applications forpacket and Proxy service.
Key words: network safe; campus network; firewall; Proxy server
Internet的迅速發展在提高了工作效率的同時,也帶來了一個日益嚴峻的問題-網絡安全。很多企業為了保障自身服務器或數據安全都采用了防火墻。
防火墻是指設置在不同網絡(如可信任的企業內部網和不可信的公共網)或網絡安全域之間的一系列部件的組合。它是不同網絡或網絡安全域之間信息的唯一出入口,能根據企業的安全政策控制(允許、拒絕、監測)出入網絡的信息流,且本身具有較強的抗攻擊能力。它是提供信息安全服務,實現網絡和信息安全的基礎設施。 在邏輯上,防火墻是一個分離器,一個限制器,也是一個分析器,有效地監控了內部網和Internet之間的任何活動,保證了內部網絡的安全。為防止Internet上的不安全因素蔓延到局域網內部,使用防火墻是一種行之有效的解決方法。下面結合我校情況介紹一下在Linux下配置防火墻的解決方案。
1 幾種主要的防火墻技術
防火墻從原理上可以分為兩大類:包過濾(packet filtering)型和服務(Proxy service)型。下面是幾種不同的防火墻配置方案。
1.1 建立包過濾防火墻
利用Linux核心中的IP鏈(IP Chains)規則建立包過濾防火墻,規則具體如下:
#先用 -F 選項清除掉所有規則
/sbin/ipchains -F
#假設服務器內網IP為192.168.0.22,公有IP為210.77.217.82
#將服務器在內網的地址除開放DNS、POP3、Route、FTP、Telnet、Web、SMTP外其他服務全部封死
/sbin/ipchains -A input -p UDP -d 192.168.0.22 53 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 192.168.0.22 110 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 192.168.0.22 520 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 192.168.0.22 1:1024 -j DENY
/sbin/ipchains -A input -p TCP -d 192.168.0.22 20 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 21 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 23 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 25 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 53 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 80 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 110 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 192.168.0.22 1:1024 -j DENY
#服務器對外僅提供POP3、FTP、Web、SMTP服務
/sbin/ipchains -A input -p UDP -d 210.77.217.82 110 -j ACCEPT
/sbin/ipchains -A input -p UDP -d 210.77.217.82 1:1024 -j DENY
/sbin/ipchains -A input -p TCP -d 210.77.217.82 20 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 21 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 25 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 80 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 110 -j ACCEPT
/sbin/ipchains -A input -p TCP -d 210.77.217.82 1:1024 -j DENY
使用IP鏈規則建立防火墻的主要原因并不是應為它是免費軟件,而是因為IP鏈規則是一套直接編譯在Linux核心中的防火墻,其運行效率是其他外掛在操作系統上的軟件防火墻所無法比擬的,因此假若希望在流量較大網絡接口安設防火墻,而又不想購買昂貴的硬件防火墻時,采用IP鏈規則建立包過濾防火墻是一個不錯的選擇。
1.2 實現內網微機透明訪問Internet
利用IP偽裝(IP Masquerade)實現內網微機透明訪問Internet。
IP偽裝是NAT(Network Address Translation網絡地址轉換)的一種方式,即當內網的機器需要訪問Internet時,具有IP偽裝功能的服務器會將內部網絡使用的非公有IP偽裝成同一個公有IP訪問Internet,這就可以使內網用戶可以透明地訪問Internet而不用安裝任何客戶端軟件,減少了許多不必要的麻煩,使用該方式可使大部分軟件能直接訪問Internet,例如使用SMTP、IMAP、POP協議的郵件客戶端軟件、使用UDP協議的ICQ、OICQ、Real Player、Windows Media Player軟件等,而且用戶使用內網任何一臺微機都可以直接Ping通Internet上的地址。測試網絡連接十分方便。IP偽裝是Linux的一項網絡功能,在IP 鏈規則中的具體實現方法如下:
#啟用 IP 轉發
/sbin/ipchains -P forward REJECT
#建立 NAT 規則,令局域網中地址為 192.168.*.* 且其目標地址不在 192.168.*.* 范圍內的機器偽裝為本機 Internet 有效 IP地址后進行轉遞
/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16 -d ! 192.168.0.0/16
但該方式并不一定可以使所有連接Internet的軟件成功使用,TCP/IP協議的天生缺陷使得極少部分軟件無法使用該方式訪問Internet,例如當內部網絡中某臺微機希望連接Internet上的一臺FTP服務器,而對方的FTP服務器禁用了或根本不支持被動方式連接,那么連接后就無法上傳或下載傳送任何數據。此時則需要使用其他方式連接了。例如后面提到的Socks。
1.3 構筑透明
利用Squid服務與防火墻規則結合構筑透明。
使用IP鏈規則可以使內網的主機不需要做任何設置就可以訪問Web,但其缺點就是當內網數臺主機先后訪問Internet上某一站點時,第一臺主機將該站點的主頁以及頁面中的圖像從Internet下載到本機,而其它幾臺主機訪問時也要重復相同的操作,即從Internet下載了同樣的內容,這樣的重復勞動自然會浪費相當多的帶寬,而使用具有Web緩存(Web Cache)的服務器時便可解決此問題,在第一臺主機訪問該站點時服務軟件將此網頁的內容緩存到本地硬盤,而后其他主機再次訪問該站時,服務器只是檢測該網頁是否有更新,若無更新便直接將本機的緩存傳送過去,這樣既可以節省帶寬又有效地提高了上網速度。例如Linux上的Squid服務就是一套高效快速的服務軟件。但麻煩的就是必須在每臺機器上設置Web 服務器,此時可以簡單地使用IP鏈規則來省略這一操作,即在規則中加入一條轉遞規則,將訪問任何地址80(HTTP)端口的封裝包都強制轉發到Linux服務器上安裝的服務器偵聽端口。即:
#假設Squid服務的偵聽端口為3128
/sbin/ipchains -A input -i eth0 -d 0/0 80 -p TCP -j REDIRECT 3128
/sbin/ipchains -A input -i eth0 -d 0/0 3128 -p tcp -j REDIRECT
這樣使內網任何用戶訪問Internet前都令其穿過服務器后再訪問,不光有效地加快了上網速度,又可以利用Squid服務過濾掉內網無效訪問和攻擊,實現了透明。
1.4 采用Socks服務
對于無法使用IP偽裝方式訪問Internet的特殊協議與軟件采用Socks服務。
Socks是一組客戶端/服務器端結構的Proxy協議。Socks的軟件組成包含Socks服務器程序及Socks客戶端應用程序庫。用戶的應用程序只要有支持Socks協議就能通過Socks服務器連接到防火墻外的網絡。
2 一個安全的防火墻系統實例
結合上面方案的分析,下面我就用一個實際例子講解建立安全防火墻系統的過程。
2.1 網絡情況
校園網有多個子網,所有的內部網絡用戶通過路由器連接防火墻,防火墻作為校園網絡的唯一出口連接到Internet。為了研究的方便,假如內部網絡只有兩個網段:192.168.1.0 /24和192.168.2.0/24。
2.2 用戶需求
用戶的需求如下:
1) 保障內部網絡安全,禁止外部用戶連接到內部網絡。
2) 保護作為防火墻的主機安全,禁止外部用戶使用防火墻的主機Telnet、FTP等項基本服務,同時要保證處于內部網絡的管理員可以使用Telnet管理防火墻。
3) 隱蔽內部網絡結構,保證內部用戶可以通過僅有的一個合法IP地址202.102.184.1連接Internet。同時要求許可內部用戶使用包括E-Mail、WWW瀏覽、News、FTP等所有Internet上的服務。
4) 要求對可以訪問Internet的用戶進行限制,僅允許特定用戶的IP地址可以訪問外部網絡。
5) 要求具備防止IP地址盜用功能,保證特權用戶的IP不受侵害。
6) 要求具備防IP地址欺騙能力。
2.3 解決方案
1) 安裝一臺Linux服務器,配置雙網卡,兩端地址分別為192.168.0.22 /255.255.255.252(內部端口ETH 0)和210.77.217.82/255.255.255.248(外部端口ETH 1)。在IPChains中去除諸如 HTTP、DNS、DHCP、NFS、SendMail之類所有不需要的服務,僅保留Telnet和FTP服務,以保證系統運行穩定,提高網絡安全性。
2) 啟動IPChains后,為保證安全性,首先將Forward Chains的策略設置為DENY,禁止所有的未許可包轉發,保障內部網安全性,以滿足需求1。命令為: ipchains -P forward DENY
3) 為滿足需求2,必須禁止所有來自外部網段對防火墻發起的低于1024端口號的連接請求。在此,做如下設定來阻止對ETH1端口請求連接小于1024端口號的TCP協議的數據報(請求連接數據報帶有SYN標記,IPChains中使用參數-y表示)。命令如下:ipchains -A input -p tcp -d210.77.217.82:1024 Cy -i eth1 -j DENY。
需要說明一點,之所以不是簡單地拒絕所有小于1024端口號的數據報,在于某些情況下服務器會回復一個小于1024接口的數據報。比如某些搜索引擎就可能在回復查詢中使用一個不常用的小于1024的端口號。此外,當使用DNS查詢域名時,如果服務器回復的數據超過512字節,客戶機將使用TCP連接從53號端口獲得數據。
4) 為滿足需求3,必須使用IP地址翻譯功能。來自內部保留地址的用戶數據包在經過防火墻時被重寫,使包看起來象防火墻自身發出的。然后防火墻重寫返回的包,使它們看起來象發往原來的申請者。采用這種方法,用戶就可以透明地使用因特網上的各種服務,同時又不會泄露自身的網絡情況。注意,對于FTP服務,需要加載FTP偽裝模塊。命令如下:insmod ip_masq_ftp
5) 為滿足需求4,可以在已經設置為DENY的Forward Chains中添加許可用戶。因為許可這部分用戶使用所有的服務,訪問所有的地址,所以不用再指定目標地址和端口號。假定許可IP地址為192.168.1.100,配置命令如下:ipchains -A forward -s 192.168.1.100 -j MASQ。
同時,必須啟動系統的IP包轉發功能。出于安全的考慮,建議在設置了Forward Chains的策略為DENY,禁止所有的未許可包轉發后再開啟轉發功能。配置命令如下:#echo 1> /proc/sys/net/ipv4/ip_forward。
6) 關于防止IP地址盜用問題,由于所有用戶都是通過路由器連接到防火墻,所以只需要在路由器中建立授權IP地址到MAC地址的靜態映射表即可。如果有客戶機直接連接到防火墻主機,就需要使用ARP命令在防火墻主機中建立IP地址到MAC地址的靜態映射表。
7) 對于需求6,只要在進入端口中設定IP地址確認,丟棄不可能來自端口的數據包就可以了。配置命令如下:ipchains -A input -i eth1 Cs 192.168.0.0/255.255.0.0 -j DENY。
至此,就算基本建立起來一個較為安全的防火墻了,再針對運行中出現的問題進行修改,調試無誤后就可以用ipchains -save命令將配置保存起來。需要再次使用時,用命令 ipchains -restore即可。