綠色資源網:您身邊最放心的安全(quán)下載站! 最(zuì)新軟件|熱門排行|軟件分(fèn)類|軟件專題|廠商(shāng)大全

綠色資源(yuán)網

技術(shù)教程
您(nín)的(de)位(wèi)置:首頁服務器類Web服務器 → 應用:基於Unix的Web服務器安全指南(nán)

應(yīng)用:基於Unix的Web服務器安全指南

我要(yào)評論 2009/06/05 12:29:55 來(lái)源:綠(lǜ)色資源網(wǎng) 編輯:佚(yì)名 [ ] 評(píng)論:0 點擊:547次

在計算機網絡日益(yì)普及的今天,計算機(jī)安全不(bú)但要求防治計算機病毒,而且要提高(gāo)係統(tǒng)抵抗黑客(kè)非法入侵的(de)能力,還要提高對遠程數據(jù)傳輸的保密性,避免(miǎn)在傳輸途中(zhōng)遭受非法竊取(qǔ)。本文僅(jǐn)僅討論在(zài)構造Web服務器時可(kě)能出現的一些(xiē)情況,希望(wàng)能引起重視(shì)。

一. 安全漏洞

Web服務器上的漏洞(dòng)可以從以下(xià)幾方(fāng)麵考慮:

1.在Web服務器上你不讓人訪(fǎng)問的秘密(mì)文件、目錄或(huò)重要數據。

2.從遠程(chéng)用(yòng)戶向服(fú)務器(qì)發送信息時,特別是信用卡(kǎ)之類(lèi)東西時,中(zhōng)途遭不法分子非法攔截(jié)。

3.Web服(fú)務器本身存在一些漏洞,使得一些人能侵入到主(zhǔ)機係統,破壞一(yī)些重要的數(shù)據,甚至(zhì)造成係統(tǒng)癱(tān)瘓。

4.CGI安全方麵(miàn)的漏洞有:

(1)有意或無意在(zài)主機係統中(zhōng)遺漏Bugs給非法黑客(kè)創造條(tiáo)件。

(2)用CGI腳本編(biān)寫的程序當(dāng)涉及到(dào)遠程用戶從瀏覽器中輸入(rù)表格(Form),並(bìng)進(jìn)行檢索(Search index),或(huò)form-mail之(zhī)類在主機上直接操作命令時,或許會給Web主機係統造成危險。

5.還有(yǒu)一些簡單的從網上下載(zǎi)的(de)Web服務(wù)器,沒有過(guò)多考(kǎo)慮到一(yī)些安全因素,不能用作商(shāng)業應(yīng)用。

因此,不管是(shì)配置服務(wù)器,還是在編寫CGI程序時都要(yào)注意係統的安全性。盡量堵住任何存(cún)在的漏(lòu)洞,創造安全(quán)的環境。

二. 提高係統安全性和穩定性

Web服務器(qì)安全(quán)預防(fáng)措施:

1.限製在Web服務器開賬戶,定期刪除一些斷進程的(de)用戶。

2.對(duì)在Web服(fú)務器上開的賬戶,在口令長度及定期更(gèng)改方麵作出要求,防止被(bèi)盜用。

3.盡(jìn)量使FTP、MAIL等服務器與之分開,去掉ftp,sendmail,tftp,NIS, NFS,finger,netstat等(děng)一些無關的應用。

4.在Web服(fú)務器上去掉一些絕對不用(yòng)的如SHELL之類的解釋器,即當在你的CGI的程序中沒(méi)用(yòng)到PERL時,就盡量把PERL在係(xì)統解釋(shì)器中刪除掉。

5.定期查看服務器中的日誌(zhì)logs文件,分析一切(qiē)可(kě)疑事件。在errorlog中(zhōng)出現(xiàn)rm, login, /bin/perl, /bin/sh等(děng)之類(lèi)記錄(lù)時(shí),你(nǐ)的(de)服務器可能已經受到了一些(xiē)非(fēi)法用(yòng)戶(hù)的(de)入侵。

6.設置好(hǎo)Web服(fú)務器上係統文(wén)件的權限和屬性(xìng),對(duì)可讓人訪(fǎng)問的文檔分配一個公用的組,如WWW,並隻分配它(tā)隻讀(dú)的權利。把(bǎ)所有的HTML文件(jiàn)歸屬WWW組,由Web管理員(yuán)管理WWW組。對於Web的(de)配(pèi)置文件僅對Web管理員有寫的(de)權利。

7.有些(xiē)Web服務器把Web的文檔目(mù)錄與FTP目錄指在同一目錄時,應該注意不要(yào)把FTP的目錄與CGI-BIN指定在一(yī)個目錄之下。這樣是(shì)為了防止一些用戶(hù)通(tōng)過FTP上載(zǎi)一些(xiē)如PERL或SH之類程序,並用Web的CGI-BIN去執行,造成(chéng)不(bú)良後果。

8.通(tōng)過(guò)限製(zhì)許可訪問用戶IP或DNS,如(rú)在NCSA中的access.conf中加上:

《Directory /full/path/to/directory》

《Limit GET POST》

order mutual-failure

deny from all

allow from 168.160.142. abc.net.cn

《/Limit》

《/Directory》

這樣隻能是以域名為(wéi)abc.net.cn或IP屬(shǔ)於168.160.142的客戶訪問該Web服務器。

對(duì)於CERN或W3C服務器可以這樣在httpd.conf中加(jiā)上(shàng):

Protection LOCAL-USERS {

GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)

}

Protect /relative/path/to/directory/* LOCAL-USERS

9.WINDOWS下HTTPD

(1)Netscape Communications Server for NT

PERL解釋器的漏洞:

Netscape Communications Server中(zhōng)無法識別CGI-BIN下的擴展名及其應用關(guān)係(xì),如.pl文件(jiàn)是PERL的代碼程(chéng)序自動調用的解釋文件,即使(shǐ)現在也隻能(néng)把perl.exe文(wén)件存放在(zài)CGI-BIN目(mù)錄之下。執行如:/cgi-bin/perl.exe? &my_script.pl。但是這就給任何人都有執行PERL的(de)可能,當有些人在(zài)其瀏覽器(qì)的URL中加上如:/cgi-bin/perl.exe?-e unlink <*>時,有可能(néng)造(zào)成刪除服務器當(dāng)前目(mù)錄下文件(jiàn)的危(wēi)險。但是,其他(tā)如:O′Reilly WebSite或Purveyor都不存在這種(zhǒng)漏洞。

CGI執(zhí)行批(pī)處理文件的漏洞:

文件test.bat的內容如下:

@echo off

echo Content-type: text/plain

echo

echo Hello World!

如果客戶瀏覽器的URL為:/cgi-bin/test.bat?&dir,則(zé)執行調用命令解釋(shì)器完(wán)成DIR列表。這(zhè)就讓訪問(wèn)者(zhě)有(yǒu)執行其他命令可(kě)能性。

(2)O′Reilly WebSite server for Windows NT/95

在WebSite1.1B以前的版本(běn)中使用批處理文件存(cún)在著與Netscape同(tóng)樣的(de)漏(lòu)洞,但是(shì),新版關閉了.bat在CGI中的作用。支(zhī)持PERL,新版將VB和C作為CGI開發工具。

(3)Microsoft′s IIS Web Server

1996年3月5日前的IIS在NT下的BUG嚴重,可以任意使用command命令。但之後已修補了該(gāi)漏洞(dòng),你可檢查你的(de)可執(zhí)行文(wén)件的建立日(rì)期。IIS3.0還存(cún)在一些(xiē)安全BUG,主要是CGI-BIN下的(de)覆給權利。另外,許多Web服務器本(běn)身都存(cún)在一些安(ān)全(quán)上的漏洞,都(dōu)是(shì)在版(bǎn)本升級過(guò)程中被不斷更新了,在此就不一一列舉了。

三. 從CGI編程角度考(kǎo)慮安全

1.采用(yòng)編譯語言(yán)比解釋語言會更安全些,並且CGI程(chéng)序(xù)應(yīng)放在獨立於HTML存放(fàng)目錄之外的CGI-BIN下(xià),這是為(wéi)了防(fáng)止一些非法訪(fǎng)問者從(cóng)瀏(liú)覽器端取(qǔ)得解釋性語言(yán)的原代碼後從(cóng)中(zhōng)尋找漏(lòu)洞。

2.在(zài)用(yòng)C來編(biān)寫CGI程序時(shí)應盡(jìn)量少用popen()、system()、所有(yǒu)涉及/bin/sh的SHELL命令以及在PERL中的(de)system()、exec()、open()、evals()等(děng)exec或evals之類(lèi)命令。

在由用戶填寫(xiě)的form還回CGI時,不(bú)要直接調用system()之(zhī)類函數。

另外(wài),對於數據的加密與傳輸(shū),目前有SSL、SHTTP、SHEN等協議供大家研究。

四. 防火牆(Firewall)

1.防火牆(qiáng)的概(gài)念

防火(huǒ)牆(Firewall)是指(zhǐ)一個由軟(ruǎn)件或由(yóu)軟件和硬件設備組合而成,處於企業或網絡群體計算機與外界通道(Internet)之間,限製外界用戶對內部(bù)網絡的訪問及管(guǎn)理內部用戶訪問(wèn)外界網絡的權限。

2.防火(huǒ)牆的(de)措施

(1)代理(Proxy)主機(jī)

“內部網絡--代(dài)理網關(Proxy Gateway)--Internet”

這種方式(shì)是(shì)內(nèi)部(bù)網(wǎng)絡與Internet不直(zhí)接通訊。就是內部網絡計算機用戶與代理網(wǎng)關采(cǎi)用一(yī)種通訊方(fāng)式,即提供內(nèi)部網(wǎng)絡協議(Netbioses、TCP/IP 等),而網關與Internet之間采取的(de)是標(biāo)準(zhǔn)TCP/IP網絡通訊協議。這樣使得網(wǎng)絡數據(jù)包不能(néng)直接(jiē)在(zài)內(nèi)外網絡之間(jiān)進行(háng)。內部計算機必須通(tōng)過代理網關訪問Internet,這樣容易在代理服(fú)務器上對內部網絡(luò)計算機(jī)訪問外界計算機(jī)進行(háng)限製。另(lìng)外,由於(yú)代(dài)理服務器兩端(duān)采用不(bú)同協議標準也可以直(zhí)接阻止外界非法入侵(qīn)。還有,代理服務(wù)器的網關可對(duì)數據(jù)封包進行驗證和對密碼進行(háng)確認等安(ān)全(quán)管(guǎn)製。這樣,能較好地控製管理兩端的用戶,起到防火牆作用。

因為(wéi)這種防(fáng)火牆措施是(shì)采用透過(guò)代理服務器進行,在聯機用戶多時,效率必然受(shòu)到影響(xiǎng),代理服務器負擔很重,所以許多(duō)訪問Internet的客戶軟件在內部網絡計(jì)算機中可能無(wú)法正常訪問Internet。

(2)路由器加過(guò)濾器完成

“內部(bù)網絡(luò)--過濾器(Filter)--路由器(Router)--Internet”

這種(zhǒng)結構由路由器和過濾(lǜ)器共同完成從IP地址或域名上對外界計算機訪問內部(bù)網絡(luò)的限製,也可(kě)以指定或限(xiàn)製內部網絡(luò)訪(fǎng)問(wèn)Internet。路由器僅對主機上特定的(de)PORT上的數據(jù)通訊加以路由,而過濾器則執(zhí)行篩選(xuǎn)、過濾、驗證及其安全監控,這樣可以很大程(chéng)度上隔斷內外(wài)網絡間的不正常的訪問登錄。

關(guān)鍵詞:Unix,Web服務器

閱讀(dú)本文後您有(yǒu)什麽感想? 已有 人給(gěi)出評(píng)價!

  • 1 歡迎喜歡
  • 1 白(bái)癡(chī)
  • 1 拜托
  • 1 哇(wa)
  • 1 加油
  • 1 鄙(bǐ)視(shì)