亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

針對(duì)Linux系統(tǒng)的安全漏洞與防范措施(2)
2006-08-28   enet

今天使用最廣的E-mail傳輸協(xié)議是簡單郵件傳輸協(xié)議(SMTP)。每天,SMTP用于傳輸成千上萬的E-mail消息到世界各地。

SMTP服務(wù)器工作規(guī)程很少:

接收進(jìn)來的消息。

檢查消息的地址。

如果消息的地址為本地地址,保存消息以便檢索。

如果是遠(yuǎn)程地址,轉(zhuǎn)發(fā)該消息。

SMTP服務(wù)器功能同包路由器一樣,除了SMTP服務(wù)專用于郵件。大部分SMTP服務(wù)器可以按需要存儲(chǔ)以及轉(zhuǎn)發(fā)消息。

SMTP服務(wù)器在兩個(gè)不同任務(wù)上提出了安全要求:

保護(hù)服務(wù)器以免被攻破。必須給服務(wù)器加上防護(hù)盔甲防止外部進(jìn)攻,如果外部進(jìn)攻成功會(huì)使進(jìn)攻者未經(jīng)授權(quán)便能進(jìn)入你的系統(tǒng)。

保護(hù)SMTP服務(wù)以免錯(cuò)誤使用,例如外人利用你的電子郵件服務(wù)器發(fā)送假的郵件和垃圾。

在這當(dāng)中第二項(xiàng)問題更為可怕。有些人不假思索地使用未受保護(hù)的SMTP服務(wù)器來向Internet郵件帳號(hào)轉(zhuǎn)發(fā)成千份的廣告。如果他們使用了你的機(jī)器就會(huì)使網(wǎng)絡(luò)負(fù)擔(dān)過重。

除非特別指明,否則LINUX在安裝時(shí)會(huì)把sendmail作為你的郵件傳輸代理。可以用telnet到端口25來觀察確定sendmail的版本。輸出結(jié)果的例子如下:

[jray@pointy jray] $ telent poisontooth.com 25 
Trying 24.93.119.226… 
Conneted to poisontooth.com. 
Escape character is 
220 pointy. poisontooth.com ESMTP Sendmail 8.9.3/8.9.3 
→Sat, 10 Jul 1999 16:27:14-0400

這里可以看出pointy.poisontooth.com正在運(yùn)行sendmail/8.9.3。

入侵者對(duì)sendmail發(fā)起攻擊主要是因?yàn)椋?

sendmail是公共服務(wù),一旦它運(yùn)行,任何人都能連接和使用它。 sendmail通常以root身份運(yùn)行。因此如果入侵者發(fā)現(xiàn)了一個(gè)可利用的漏洞,就可獲得優(yōu)先級(jí)高的訪問權(quán)限。sendmail非常難配置,入侵者因此假設(shè)你會(huì)在安裝中出問題(通常都成功)。

以下是一些典型的sendmail攻擊:

首先是MIME緩沖溢出漏洞。這種攻擊不影響sendmail本身,而是sendmail發(fā)送郵件的客戶。在這里,sendmail是工具而不是目標(biāo)。計(jì)算機(jī)緊急反應(yīng)小組是這樣描述該攻擊的:

攻擊者向一個(gè)脆弱的系統(tǒng)發(fā)送一個(gè)精心設(shè)計(jì)的郵件消息,在某種情況下,攻擊者選擇的代碼會(huì)在該系統(tǒng)上執(zhí)行。另外,攻擊者可以是脆弱的郵件程序突然崩潰。根據(jù)郵件客戶正在運(yùn)行的操作系統(tǒng)以及有問題的郵件客戶程序的用戶權(quán)限,攻擊都可以使整個(gè)系統(tǒng)崩潰。如果一個(gè)權(quán)限高的用戶用一個(gè)容易受攻擊的郵件用戶代理來閱讀郵件,那么攻擊者就可以獲得進(jìn)入系統(tǒng)的管理權(quán)限。

再來看一下HELO緩沖溢出。在早于sendmail8.9的版本中,攻擊者可以利用HELO命令傳送非正常長度的字符串來偽裝自己的發(fā)起的地址。如果一個(gè)攻擊者發(fā)送HELO后面有至少1024字節(jié)的abc,那么消息頭會(huì)如下所示:

From attacker@attack.place.net Web Feb 5 22 31:51 1998 
Received: from abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab→abcabcabcabcabcabc 
Date: Wed, 5 Feb 1998 12:32:22 +0300 
From attacker@attack.place.net

非正常字符串隱藏了應(yīng)正常顯示發(fā)信者IP地址的信息。這種攻擊方法,盡管不具危險(xiǎn),但攻擊者可以利用它讓sendmail轉(zhuǎn)發(fā)郵件垃圾和創(chuàng)建難以跟蹤的郵件。

還有口令文件/Root訪問,這是一個(gè)更可怕的攻擊,它影響的是sendmail8.8.4。本地用戶可以利用鏈接來獲得root訪問。這種攻擊方法依賴于sendmail在/var/tmp/dead.letter后保存未投遞的消息。

1. 參考CA-98.10站點(diǎn)http://www.cert.org/advisories/CA-98.10.mime_buffer_overflows.htm。

所有用戶都可對(duì)/var/tmp進(jìn)行寫操作,因此本地攻擊者可在/etc/passwd和/var/tmp/dead.letter間創(chuàng)建一個(gè)硬鏈接。然后向sendmail服務(wù)器發(fā)送一個(gè)不能投遞的消息。在該消息體內(nèi),攻擊者插入可被加到口令文件的一個(gè)用戶帳號(hào)。

當(dāng)消息標(biāo)記為不可投遞,就會(huì)加到/var/tmp/dead.letter里面,而在/var/tmp/dead.letter有一個(gè)與/etc/passwd的硬鏈接。這就導(dǎo)致產(chǎn)生一個(gè)擁有Root權(quán)限的新系統(tǒng)帳號(hào)。

Sendmail作為一個(gè)突出并且訪問頻繁的服務(wù)器,經(jīng)常是攻擊的目標(biāo)。最近的一個(gè)攻擊方法集中在sendmail報(bào)頭解析代碼上的一個(gè)漏洞。通過創(chuàng)建有大量TO:報(bào)頭的消息,進(jìn)攻者可使服務(wù)器停止運(yùn)行。這種攻擊方法對(duì)sendmail8.9.2和更早的版本有效,因此連最近安裝的sendmail也受到影響。

以上就是常用的對(duì)sendmail的攻擊,因?yàn)閟endmail本身安裝不方便,還有很多安全漏洞,用戶也可選擇更好的工具Qmail。

Telnet安全

不象許多其他服務(wù),telnet(或一個(gè)類似服務(wù))是絕對(duì)需要的。用telnet可以很容易完成許多工作,如果不用telnet則這些工作會(huì)難以完成。除非有更好的理由,否則不應(yīng)該允許有公共telnet或shell訪問。

普通telnet有很多安全問題,一個(gè)值得LINUX用戶注意的攻擊是傳遞環(huán)境變量攻擊。過去幾年里,安全專家已認(rèn)識(shí)到這是一個(gè)問題。因此,開發(fā)者設(shè)計(jì)了setuid 和setgid程序來忽略敏感的環(huán)境變量。例如LD_LIBRARY_PATH。

對(duì)telnet還有以下攻擊:

對(duì)于早期LINUX一些版本,攻擊者可以用telnet迫使內(nèi)核轉(zhuǎn)儲(chǔ),該轉(zhuǎn)儲(chǔ)會(huì)暴露已隱蔽的口令。[4]

在Red Hat Linux4.0,攻擊者可以通過暴力強(qiáng)迫登錄來判斷有效用戶名。在Red Hat Linux4.0中的telnet包可在連接時(shí)如果輸入無效的用戶名時(shí)切斷該連接。但如果用戶名有效而口令不正確,服務(wù)器會(huì)重新返回登錄提示符用于重新登錄。

2.可訪問http://www.hoobie.net/security/exploits/hacking/telnet_core.txt

意味著我們就可以使用標(biāo)準(zhǔn)telnet服務(wù)而不加強(qiáng)它的安全,因?yàn)閠elnet有幾個(gè)嚴(yán)重缺陷:

口令沒有加密,第三者可用嗅探器捕獲到口令。

Telnet沒有采用強(qiáng)用戶認(rèn)證。

Telnet不進(jìn)行會(huì)話完整性檢查。

Telnet會(huì)話沒有加密。

以上都是可能被惡意人員利用的漏洞。因此,如果用戶不愿意或不能使用Secure Shell就需要其它的安全telnet系統(tǒng),常用的有deslogin,SSLTelnet等。

Web服務(wù)器安全

保護(hù)Web主機(jī)安全首先就要去掉不必要的服務(wù)。去掉不必要的服務(wù)之前首先要明確的是:你要建立的是什么類型的主機(jī)。主機(jī)有三種類型:

Intranet Web主機(jī)--無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ī)則,就要用到以下命令:

#Controls who can get stuff from this server. 
Order allow,deny 
Allow from all

這些命令提供了三條控制通道,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是用來防止愛打聽的用戶(本地或遠(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è)無狀態(tài)協(xié)議不保存有關(guān)用戶的信息,因此不能證實(shí)用戶的身份。

HTTP沒有提供方法來認(rèn)證正在進(jìn)行的會(huì)話。因此不能判斷是否有第三方竊聽了會(huì)話。

為了解決這些缺陷,Netscape Communications開發(fā)了安全套接層協(xié)議SSL。

安全套接層是采用RSA和DES認(rèn)證與加密以及MD5完整性檢查而包裝起來的方法。使用這些方法,SSL解決了基于Web通訊的三個(gè)問題:

在連接期間,客戶和服務(wù)器定義和交換秘密密鑰,該密鑰用于加密傳輸?shù)臄?shù)據(jù)。因此,即使SSL的通訊可被竊聽,由于經(jīng)過加密于是難以破解。

SSL支持公開密鑰加密,因此服務(wù)器可以使用公共方案如RSA和數(shù)字簽名標(biāo)準(zhǔn)(DSS)來認(rèn)證用戶。

服務(wù)器可以使用消息摘要算法,如MD5和SHA來檢驗(yàn)正在進(jìn)行會(huì)話的完整性,因此SSL可以防止第三方劫持會(huì)話。

SSL通過兩層和兩個(gè)步驟保護(hù)數(shù)據(jù)。開始,客戶和服務(wù)器進(jìn)行握手(與TCP握手相同)。在這一過程中,它們交換密鑰并在它們之間建立并同步一個(gè)加密狀態(tài)。接下來,SSL獲得應(yīng)用數(shù)據(jù)(在記錄層)并加密數(shù)據(jù)。然后,在接收端這一過程以相反的方式執(zhí)行。這些性能使得SSL成為在所控制的服務(wù)器和未知用戶之間進(jìn)行安全電子商務(wù)交易的出色工具。

熱詞搜索:

上一篇:針對(duì)Linux系統(tǒng)的安全漏洞與防范措施(1)
下一篇:在Linux系統(tǒng)下配置WWW服務(wù)器全攻略(1)

分享到: 收藏