LINUX是一種當(dāng)今世界上廣為流行的免費(fèi)操作系統(tǒng),它與UNIX完全兼容,但以其開放性的平臺(tái),吸引著無(wú)數(shù)高等院校的學(xué)生和科研機(jī)構(gòu)的人員紛紛把它作為學(xué)習(xí)和研究的對(duì)象。這些編程高手在不斷完善LINUX版本中網(wǎng)絡(luò)安全功能。下面介紹Linux的Internet安全漏洞與防范措施,希望對(duì)大家有一定的幫助。 在LINUX的Internet安全中,主要包括的就是FTP安全、電子郵件安全、Telnet安全、Web服務(wù)器安全和安全Web協(xié)議。
Web服務(wù)器安全
保護(hù)Web主機(jī)安全首先就要去掉不必要的服務(wù)。去掉不必要的服務(wù)之前首先要明確的是:你要建立的是什么類型的主機(jī)。主機(jī)有三種類型:
Intranet Web主機(jī)--無(wú)Internet連接的主機(jī),通常與一個(gè)局域網(wǎng)連接。
私人或外部Web主機(jī)--與Internet相連但只對(duì)非常有限的客戶提供服務(wù)的主機(jī)。
公共或犧牲Web主機(jī)--知道或不知道的用戶可以通過Internet,全天候公共訪問的普通Web主機(jī)。
每種不同的主機(jī)類型就決定了要提供不同的服務(wù),不需要的服務(wù)一律屏蔽掉。這是因?yàn)閷⑦\(yùn)行的服務(wù)很可能會(huì)打開安全漏洞。對(duì)于要運(yùn)行的服務(wù),就要實(shí)施訪問控制,可以使用TCPWrapper工具包,這個(gè)工具提供對(duì)遠(yuǎn)程服務(wù)基于模式匹配的訪問控制,可以利用它禁止或允許對(duì)某些用戶的服務(wù)。減少服務(wù)后,就應(yīng)在Web服務(wù)器上建立訪問控制和認(rèn)證。Apache是在LINUX中最流行的Web服務(wù)器。為網(wǎng)絡(luò)訪問控制建立規(guī)則,就要用到以下命令:
|
這些命令提供了三條控制通道,allow命令控制哪臺(tái)主機(jī)可以連接,deny控制哪臺(tái)主機(jī)不可以連接,order命令則控制allow/deny命令執(zhí)行的順序。通過這些命令可以明確允許授權(quán)主機(jī)和阻止未授權(quán)主機(jī)。
Apache的安全設(shè)置有很多選項(xiàng),這些設(shè)置已足夠嚴(yán)格,但是選項(xiàng)的不同配置方法都會(huì)引起安全問題。例如,ExecCGI選項(xiàng),是選擇是否允許CGI程序運(yùn)行,CGI程序很不安全,所以,能不用執(zhí)行CGI程序,就盡量不執(zhí)行。還有別的選項(xiàng)會(huì)有不同的問題,安裝時(shí)要注意。目前Apache除了提供基本類型認(rèn)證,還支持使用MD5的基于摘要的加密認(rèn)證。
安全Web協(xié)議
上文所提到的安全Shell是用來(lái)防止愛打聽的用戶(本地或遠(yuǎn)程)用嗅探器捕獲系統(tǒng)口令,可以極大地增強(qiáng)內(nèi)部網(wǎng)絡(luò)安全。但是如果把LINUX系統(tǒng)作為一個(gè)電子商務(wù)服務(wù)器,就必須向客戶提供從服務(wù)器外部的Web瀏覽器向服務(wù)器建立安全連接。
一般基于Web的通信有幾個(gè)弱點(diǎn):
HTTP沒有提供加密機(jī)制,因此第三方可以在客戶和服務(wù)器之間竊聽通訊。
HTTP是一個(gè)無(wú)狀態(tài)協(xié)議不保存有關(guān)用戶的信息,因此不能證實(shí)用戶的身份。
HTTP沒有提供方法來(lái)認(rèn)證正在進(jìn)行的會(huì)話。因此不能判斷是否有第三方竊聽了會(huì)話。
為了解決這些缺陷,Netscape Communications開發(fā)了安全套接層協(xié)議SSL。 安全套接層是采用RSA和DES認(rèn)證與加密以及MD5完整性檢查而包裝起來(lái)的方法。使用這些方法,SSL解決了基于Web通訊的三個(gè)問題:
在連接期間,客戶和服務(wù)器定義和交換秘密密鑰,該密鑰用于加密傳輸?shù)臄?shù)據(jù)。因此,即使SSL的通訊可被竊聽,由于經(jīng)過加密于是難以破解。
SSL支持公開密鑰加密,因此服務(wù)器可以使用公共方案如RSA和數(shù)字簽名標(biāo)準(zhǔn)(DSS)來(lái)認(rèn)證用戶。
服務(wù)器可以使用消息摘要算法,如MD5和SHA來(lái)檢驗(yàn)正在進(jìn)行會(huì)話的完整性,因此SSL可以防止第三方劫持會(huì)話。
SSL通過兩層和兩個(gè)步驟保護(hù)數(shù)據(jù)。開始,客戶和服務(wù)器進(jìn)行握手(與TCP握手相同)。在這一過程中,它們交換密鑰并在它們之間建立并同步一個(gè)加密狀態(tài)。接下來(lái),SSL獲得應(yīng)用數(shù)據(jù)(在記錄層)并加密數(shù)據(jù)。然后,在接收端這一過程以相反的方式執(zhí)行。這些性能使得SSL成為在所控制的服務(wù)器和未知用戶之間進(jìn)行安全電子商務(wù)交易的出色工具電子郵件安全