21.安裝最新的MDAC(http://www.microsoft.com/data/download.htm)
說(shuō)明:MDAC為數(shù)據(jù)訪問(wèn)部件,通常程序?qū)?shù)據(jù)庫(kù)的訪問(wèn)都通過(guò)它,但它也是黑客攻擊的目標(biāo),為防止以前版本的漏洞可能會(huì)被帶入升級(jí)后的版本,建議卸載后安裝最新的版本。注意:在安裝最新版本前最好先做一下測(cè)試,因?yàn)橛械臄?shù)據(jù)訪問(wèn)方式或許在新版本中不再被支持,這種情況下可以通過(guò)修改注冊(cè)表來(lái)檔漏洞,祥見(jiàn)漏洞測(cè)試文檔。
22.設(shè)置IP拒絕訪問(wèn)列表
說(shuō)明:對(duì)于WWW服務(wù),可以拒絕一些對(duì)站點(diǎn)有攻擊嫌疑的地址;尤其對(duì)于FTP服務(wù),如果只是自己公司上傳文件,就可以只允許本公司的IP訪問(wèn)改FTP服務(wù),這樣,安全性大為提高。
23.禁止對(duì)FTP服務(wù)的匿名訪問(wèn)
說(shuō)明:如果允許對(duì)FTP服務(wù)做匿名訪問(wèn),該匿名帳戶就有可能被利用來(lái)獲取包多的信息,以致對(duì)系統(tǒng)造成危害。
24.建議使用W3C擴(kuò)充日志文件格式,每天記錄客戶IP地址,用戶名,服務(wù)器端口,方法,URI字根,HTTP狀態(tài),用戶代理,而且每天均要審查日志。(最好不要使用缺省的目錄,建議更換一個(gè)記日志的路徑,同時(shí)設(shè)置日志的訪問(wèn)權(quán)限,只允許管理員和system為Full Control)
說(shuō)明:作為一個(gè)重要措施,既可以發(fā)現(xiàn)攻擊的跡象,采取預(yù)防措施,也可以作為受攻擊的一個(gè)證據(jù)。
25.慎重設(shè)置WEB站點(diǎn)目錄的訪問(wèn)權(quán)限,一般情況下,不要給予目錄以寫入和允許目錄瀏覽權(quán)限。只給予.ASP文件目錄以腳本的權(quán)限,而不要給與執(zhí)行權(quán)限。
說(shuō)明:目錄訪問(wèn)權(quán)限必須慎重設(shè)置,否則會(huì)被黑客利用。
26.涉及用戶名與口令的程序最好封裝在服務(wù)器端,盡量少的在ASP文件里出現(xiàn),涉及到與數(shù)據(jù)庫(kù)連接地用戶名與口令應(yīng)給予最小的權(quán)限。
說(shuō)明:用戶名與口令,往往是黑客們最感興趣的東西,如果被通過(guò)某種方式看到源代碼,后果是嚴(yán)重的。因此要盡量減少它們?cè)贏SP文件中的出現(xiàn)次數(shù)。出現(xiàn)次數(shù)多得用戶名與口令可以寫在一個(gè)位置比較隱蔽的包含文件中。如果涉及到與數(shù)據(jù)庫(kù)連接,理想狀態(tài)下只給它以執(zhí)行存儲(chǔ)過(guò)程的權(quán)限,千萬(wàn)不要直接給予該用戶以修改、插入、刪除記錄的權(quán)限。
27.需要經(jīng)過(guò)驗(yàn)證的ASP頁(yè)面,可跟蹤上一個(gè)頁(yè)面的文件名,只有從上一頁(yè)面轉(zhuǎn)進(jìn)來(lái)的會(huì)話才能讀取這個(gè)頁(yè)面。
說(shuō)明:現(xiàn)在的需要經(jīng)過(guò)驗(yàn)證的ASP程序多是在頁(yè)面頭部加一個(gè)判斷語(yǔ)句,但這還不夠,有可能被黑客繞過(guò)驗(yàn)證直接進(jìn)入,因此有必要跟蹤上一個(gè)頁(yè)面。具體漏洞見(jiàn)所附漏洞文檔。
28.防止ASP主頁(yè).inc文件泄露問(wèn)題
當(dāng)存在asp 的主頁(yè)正在制作并沒(méi)有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對(duì)象,如果這時(shí)候有人利用搜索引擎對(duì)這些網(wǎng)頁(yè)進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中察看到數(shù)據(jù)庫(kù)地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié)揭示完整的源代碼。
解決方案:應(yīng)該在網(wǎng)頁(yè)發(fā)布前對(duì)其進(jìn)行徹底的調(diào)試;安全專家需要褂訕asp 包含文件以便外部的用戶不能看他們。 首先對(duì) .inc 文件內(nèi)容進(jìn)行加密,其次也可以使用 .asp 文件代替 .inc 文件使用戶無(wú)法從瀏覽器直接觀看文件的源代碼。.inc 文件的文件名不用使用系統(tǒng)默認(rèn)的或者有特殊含義容易被用戶猜測(cè)到的,盡量使用無(wú)規(guī)則的英文字母。
29.注意某些ASP編輯器會(huì)自動(dòng)備份asp文件,會(huì)被下載的漏洞
在有些編輯asp程序的工具,當(dāng)創(chuàng)建或者修改一個(gè)asp文件時(shí),編輯器自動(dòng)創(chuàng)建一個(gè)備份文件,比如:UltraEdit就會(huì)備份一個(gè).bak文件,如你創(chuàng)建或者修改了some.asp,編輯器自動(dòng)生成一個(gè)叫some.asp.bak文件,如果你沒(méi)有刪除這個(gè) bak文件,攻擊有可以直接下載some.asp.bak文件,這樣some.asp的源程序就會(huì)給下載。
在處理類似留言板、BBS等輸入框的ASP程序中,最好屏蔽掉HTML、javascript、VBScript語(yǔ)句,如無(wú)特殊要求,可以限定只允許輸入字母與數(shù)字,屏蔽掉特殊字符。同時(shí)對(duì)輸入字符的長(zhǎng)度進(jìn)行限制。而且不但在客戶端進(jìn)行輸入合法性檢查,同時(shí)要在服務(wù)器端程序中進(jìn)行類似檢查。
說(shuō)明:輸入框是黑客利用的一個(gè)目標(biāo),他們可以通過(guò)輸入腳本語(yǔ)言等對(duì)用戶客戶端造成損壞; 如果該輸入框涉及到數(shù)據(jù)查詢,他們會(huì)利用特殊查詢輸入得到更多的數(shù)據(jù)庫(kù)數(shù)據(jù),甚至是表的全部。因此必須對(duì)輸入框進(jìn)行過(guò)濾。但如果為了提高效率僅在客戶端進(jìn)行輸入合法性檢查,仍有可能被繞過(guò),因此必須在服務(wù)器端再做一次檢查。
30.防止ACCESS mdb 數(shù)據(jù)庫(kù)有可能被下載的漏洞
在用ACCESS做后臺(tái)數(shù)據(jù)庫(kù)時(shí),如果有人通過(guò)各種方法知道或者猜到了服務(wù)器的ACCESS數(shù)據(jù)庫(kù)的路徑和數(shù)據(jù)庫(kù)名稱,那么他能夠下載這個(gè)ACCESS數(shù)據(jù)庫(kù)文件,這是非常危險(xiǎn)的。
解決方法:
1>為你的數(shù)據(jù)庫(kù)文件名稱起個(gè)復(fù)雜的非常規(guī)的名字,并把他放在幾目錄下。所謂 “非常規(guī)”, 打個(gè)比方: 比如有個(gè)數(shù)據(jù)庫(kù)要保存的是有關(guān)書籍的信息, 可不要把他起個(gè)“book.mdb”的名字,起個(gè)怪怪的名稱,比如d34ksfslf.mdb, 再把他放在如./kdslf/i44/studi/的幾層目錄下,這樣黑客要想通過(guò)猜的方式得到你的ACCESS數(shù)據(jù)庫(kù)文件就難上加難了。
2>不要把數(shù)據(jù)庫(kù)名寫在程序中。有些人喜歡把DSN寫在程序中,比如:
DBPath = Server.MapPath("cmddb.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
假如萬(wàn)一給人拿到了源程序,你的ACCESS數(shù)據(jù)庫(kù)的名字就一覽無(wú)余。因此建議你在ODBC里設(shè)置數(shù)據(jù)源,再在程序中這樣寫:
conn.open "shujiyuan"
3>使用ACCESS來(lái)為數(shù)據(jù)庫(kù)文件編碼及加密。首先在選取堡具->安全->加密/解密數(shù)據(jù)庫(kù),選取數(shù)據(jù)庫(kù)(如:employer.mdb),然后接確定,接著會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)加密后另存為”的窗口,存為:employer1.mdb。 接著employer.mdb就會(huì)被編碼,然后存為employer1.mdb。
要注意的是,以上的動(dòng)作并不是對(duì)數(shù)據(jù)庫(kù)設(shè)置密碼,而只是對(duì)數(shù)據(jù)庫(kù)文件加以編碼,目的是為了防止他人使用別的工具來(lái)查看數(shù)據(jù)庫(kù)文件的內(nèi)容。
接下來(lái)我們?yōu)閿?shù)據(jù)庫(kù)加密,首先以打開(kāi)經(jīng)過(guò)編碼了的employer1.mdb, 在打開(kāi)時(shí),選擇“獨(dú)占”方式。然后選取寶能表的“工具->安全->設(shè)置數(shù)據(jù)庫(kù)密碼”, 接著 輸入密碼即可。這樣即使他人得到了employer1.mdb文件,沒(méi)有密碼他是無(wú)法看到 employer1.mdb的。
31.SQL SERVER是NT平臺(tái)上用的最多的數(shù)據(jù)庫(kù)系統(tǒng),但是它的安全問(wèn)題也必須引起重視。數(shù)據(jù)庫(kù)中往往存在著最有價(jià)值的信息,一旦數(shù)據(jù)被竊后果不堪設(shè)想。
及時(shí)更新補(bǔ)丁程序。
說(shuō)明:與NT一樣,SQL SERVER的許多漏洞會(huì)由補(bǔ)丁程序來(lái)彌補(bǔ)。建議在安裝補(bǔ)丁程序之前先在測(cè)試機(jī)器上做測(cè)試,同時(shí)提前做好目標(biāo)服務(wù)器的數(shù)據(jù)備份。
給SA一個(gè)復(fù)雜的口令。
說(shuō)明:SA具有對(duì)SQL SERVER數(shù)據(jù)庫(kù)操作的全部權(quán)限。遺憾的是,一部分網(wǎng)管對(duì)數(shù)據(jù)庫(kù)并不熟悉,建立數(shù)據(jù)庫(kù)的工作由編程人員完成,而這部分人員往往只注重編寫SQL 語(yǔ)句本身,對(duì)SQL SERVER數(shù)據(jù)庫(kù)的管理不熟悉,這樣很有可能造成SA口令為空。這對(duì)數(shù)據(jù)庫(kù)安全是一個(gè)嚴(yán)重威脅。目前具有這種隱患的站點(diǎn)不在少數(shù)。
嚴(yán)格控制數(shù)據(jù)庫(kù)用戶的權(quán)限,輕易不要給讓用戶對(duì)表有直接的查詢、更改、插入、刪除權(quán)限,可以通過(guò)給用戶以訪問(wèn)視圖的權(quán)限,以及只具有執(zhí)行存儲(chǔ)過(guò)程的權(quán)限。
說(shuō)明:用戶如果對(duì)表有直接的操作權(quán)限,就會(huì)存在數(shù)據(jù)被破壞的危險(xiǎn)。制訂完整的數(shù)據(jù)庫(kù)備份與恢復(fù)策略。
32.目前,PCANYWHERE是最流行的基于2000的遠(yuǎn)程控制工具,同樣也需要注意安全問(wèn)題。
建議采用單獨(dú)的用戶名與口令,最好采用加密手段。千萬(wàn)不要采用與NT管理員一樣的用戶名與口令,也不要使用與NT集成的口令。同時(shí)在服務(wù)器端的設(shè)置時(shí)務(wù)必采用security options中的強(qiáng)加密方式,拒絕低加密水平的連接,同時(shí)采用口令加密與傳輸過(guò)程中的用戶名與口令加密,以防止被嗅探到,還要限制連接次數(shù),另外很重要的一點(diǎn)就是一定在protect item中設(shè)置高強(qiáng)度的口令,同時(shí)一定限制不能夠讓別人看到你的host端的任何設(shè)置,即便是要察看主機(jī)端的相關(guān)設(shè)置也必須要輸入口令!
說(shuō)明:PCANYWHERE 口令是遠(yuǎn)程控制的第一個(gè)關(guān)口,如果與NT的一樣, 就失去了安全屏障。被攻破后就毫無(wú)安全可言。而如果采用單獨(dú)的口令,即使攻破了PCANYWHERE,NT還有一個(gè)口令屏障。及時(shí)安裝較新的版本。
33.實(shí)際上,安全和應(yīng)用在很多時(shí)候是矛盾的,因此,你需要在其中找到平衡點(diǎn),畢竟服務(wù)器是給用戶用而不是做OPEN HACK的,如果安全原則妨礙了系統(tǒng)應(yīng)用,那么這個(gè)安全原則也不是一個(gè)好的原則。 網(wǎng)絡(luò)安全是一項(xiàng)系統(tǒng)工程,它不僅有空間的跨度,還有時(shí)間的跨度。很多朋友(包括部分系統(tǒng)管理員)認(rèn)為進(jìn)行了安全配置的主機(jī)就是安全的,其實(shí)這其中有個(gè)誤區(qū):我只能說(shuō)一臺(tái)主機(jī)在一定的情況一定的時(shí)間上是安全的隨著網(wǎng)絡(luò)結(jié)構(gòu)的變化、新的漏洞的發(fā)現(xiàn),管理員/用戶的操作,主機(jī)的安全狀況是隨時(shí)隨地變化著的,只有讓安全意識(shí)和安全制度貫穿整個(gè)過(guò)程才能做到真正的安全。
以下是提高IIS 5.0網(wǎng)站服務(wù)器的執(zhí)行效率的八種方法:
1. 啟用HTTP的持續(xù)作用可以改善15~20%的執(zhí)行效率。
2. 不啟用記錄可以改善5~8%的執(zhí)行效率。
3. 使用 “獨(dú)立” 的處理程序會(huì)損失20%的執(zhí)行效率。
4. 增加快取內(nèi)存的保存文件數(shù)量,可提高Active Server Pages之效能。
5. 勿使用CGI程序。
6. 增加IIS 5.0電腦CPU數(shù)量。
7. 勿啟用ASP偵錯(cuò)功能。
8. 靜態(tài)網(wǎng)頁(yè)采用HTTP 壓縮,大約可以減少20%的傳輸量。
34.啟用HTTP的持續(xù)作用(Keep-Alive)時(shí),IIS與瀏覽器的連線不會(huì)斷線,可以改善執(zhí)行效率,直到瀏覽器關(guān)閉時(shí)連線才會(huì)斷線。因?yàn)榫S持“Keep-Alive”狀態(tài)時(shí),于每次用戶端請(qǐng)求時(shí)都不須重新建立一個(gè)新的連接,所以將改善服務(wù)器的效率。此功能為HTTP1.1預(yù)設(shè)的功能,HTTP 1.0加上Keep-Alive header也可以提供HTTP的持續(xù)作用功能。
啟用HTTP的持續(xù)作用可以改善15~20%的執(zhí)行效率。如何啟用HTTP的持續(xù)作用呢?步驟如下:在“Internet服務(wù)管理員”中,選取整個(gè)IIS電腦、或Web站臺(tái),于“內(nèi)容”之“主目錄”頁(yè),勾選“HTTP的持續(xù)作用”選項(xiàng)。
35.不啟用記錄可以改善5~8%的執(zhí)行效率。如何設(shè)定不啟用記錄呢?步驟如下:
在“Internet服務(wù)管理員”中,選取整個(gè)IIS電腦、或Web站臺(tái),于“內(nèi)容”之“主目錄”頁(yè),不勾選“啟用記錄”選項(xiàng)。設(shè)定非獨(dú)立的處理程序使用“獨(dú)立”的處理程序會(huì)損失20%的執(zhí)行效率,此處所謂“獨(dú)立”系指將“主目錄”、“虛擬目錄”頁(yè)之應(yīng)用程序保護(hù)選項(xiàng)設(shè)定為“高(獨(dú)立的)” 時(shí)。因此“應(yīng)用程序保護(hù)”設(shè)定為“低 (IIS處理程序)”時(shí)執(zhí)行效率較高如何設(shè)定非“獨(dú)立”的處理程序呢?步驟如下:在“Internet服務(wù)管理員”中,選取整個(gè)IIS電腦、Web站臺(tái)、或應(yīng)用程序的起始目錄。于“內(nèi)容”之“主目錄”、“虛擬目錄”頁(yè),設(shè)定應(yīng)用程序保護(hù)選項(xiàng)為“低 (IIS處理程序)”。
36.IIS 5.0將靜態(tài)的網(wǎng)頁(yè)資料暫存于快取(Cache)內(nèi)存當(dāng)中;IIS 4.0則將靜態(tài)的網(wǎng)頁(yè)資料暫存于文件當(dāng)中。調(diào)整快取(Cache)內(nèi)存的保存文件數(shù)量可以改善執(zhí)行效率。ASP指令文件執(zhí)行過(guò)后,會(huì)在暫存于快取(Cache)內(nèi)存中以提高執(zhí)行效能。增加快取內(nèi)存的保存文件數(shù)量,可提高Active Server Pages之效能。可以設(shè)定所有在整個(gè)IIS電腦、“獨(dú)立”Web站臺(tái)、或“獨(dú)立”應(yīng)用程序上執(zhí)行之應(yīng)用程序的快取內(nèi)存文件數(shù)量。如何設(shè)定快取(Cache)功能呢?步驟如下:在 “Internet服務(wù)管理員” 中選取整個(gè)IIS電腦、“獨(dú)立”Web站臺(tái)、或“獨(dú)立”應(yīng)用程序的起始目錄。于 “內(nèi)容” 之 “主目錄”、“虛擬目錄” 頁(yè),按下 “設(shè)定” 按鈕時(shí),即可由 “處理程序選項(xiàng)” 頁(yè)設(shè)定“指令檔快取內(nèi)存” 。如何設(shè)定快取(Cache)內(nèi)存文件數(shù)量呢?步驟如下:在“Internet服務(wù)管理員” 中,選取整個(gè)IIS電腦、或Web站臺(tái)的起始目錄。于 “內(nèi)容” 之“服務(wù)器擴(kuò)充程序” 頁(yè),按下 “設(shè)定” 按鈕。即可設(shè)定快取(Cache)內(nèi)存文件數(shù)量。
37.使用CGI程序時(shí),因?yàn)樘幚沓绦颍≒rocess)須不斷地產(chǎn)生與摧毀,造成執(zhí)行效率不佳。一般而言,執(zhí)行效率比較如下: 靜態(tài)網(wǎng)頁(yè)(Static):100 ISAPI:50 ASP:10 CGI:1。換句話說(shuō),ASP比CGI可能快10倍,因此勿使用CGI程序可以改善IIS的執(zhí)行效率。以彈性(Flexibility)而言:ASP > CGI > ISAPI > 靜態(tài)網(wǎng)頁(yè)(Static)。以安全(Security)而言:ASP(獨(dú)立) = ISAPI(獨(dú)立)= CGI > ASP(非獨(dú)立) = ISAPI(非獨(dú)立)= 靜態(tài)網(wǎng)頁(yè)(Static)
38.根據(jù)微軟的測(cè)試報(bào)告,增加IIS 4.0電腦CPU數(shù)量,執(zhí)行效率并不會(huì)改善多少;但是增加IIS 5.0電腦CPU數(shù)量,執(zhí)行效率會(huì)幾乎成正比地提供,換句話說(shuō),兩顆CPU的IIS5.0電腦執(zhí)行效率幾乎是一顆CPU電腦的兩倍,四顆CPU的IIS 5.0電腦執(zhí)行效率幾乎是一顆CPU電腦的四倍IIS 5.0將靜態(tài)的網(wǎng)頁(yè)資料暫存于快取(Cache)內(nèi)存當(dāng)中;IIS 4.0 則將靜態(tài)的網(wǎng)頁(yè)資料暫存于文件當(dāng)中。調(diào)整快取(Cache)內(nèi)存的保存文件數(shù)量可以改善執(zhí)行效率。
39.勿啟用ASP偵錯(cuò)功能可以改善執(zhí)行效率。如何勿啟用ASP偵錯(cuò)功能呢?步驟如下:于“Internet服務(wù)管理員” 中,選取Web站臺(tái)、或應(yīng)用程序的起始目錄,按右鍵選擇“內(nèi)容”,按 “主目錄”、“虛擬目錄” 或 “目錄” 頁(yè),按下 “設(shè)定” 按鈕,選擇 “應(yīng)用程序偵錯(cuò)” 頁(yè),不勾選 “啟用ASP服務(wù)器端指令偵錯(cuò)”、“啟用ASP用戶端指令偵錯(cuò)” 選項(xiàng)。
40.靜態(tài)網(wǎng)頁(yè)采用HTTP 壓縮,大約可以減少20%的傳輸量。HTTP壓縮功能啟用或關(guān)閉,系針對(duì)整臺(tái)IIS服務(wù)器來(lái)設(shè)定。用戶端使用IE 5.0瀏覽器連線到已經(jīng)啟用HTTP壓縮IIS5.0之Web服務(wù)器,才有HTTP壓縮功能。如何啟用HTTP壓縮功能呢?步驟如下:若要啟用HTTP壓縮功能,方法為在“Internet服務(wù)管理員”中,選取電腦之“內(nèi)容”,于“主要內(nèi)容”之下選取“WWW服務(wù)”。然后按一下“編輯” 按鈕,于“服務(wù)”頁(yè)上,選取“壓縮靜態(tài)文件”可以壓縮靜態(tài)文件,不選取“壓縮應(yīng)用程序文件”。動(dòng)態(tài)產(chǎn)生的內(nèi)容文件(壓縮應(yīng)用程序文件)也可以壓縮,但是須耗費(fèi)額外CPU處理時(shí)間,若%Processor Time已經(jīng)百分之八十或更多時(shí),建議不要壓縮。
以上是對(duì)采用IIS作為WEB服務(wù)器的一些安全相關(guān)的設(shè)置與其性能調(diào)整的參數(shù)設(shè)置,可以最大化的優(yōu)化你的IIS,不過(guò)個(gè)人認(rèn)為如果不存在障礙,還是采用apache比較好一些,漏洞少,建議采用apache 1.3.24版本,因?yàn)樽罱?jīng)測(cè)試,apache 1.3.23之前的版本都存在溢出漏洞,不要怕,這種漏洞很少的。另外,個(gè)人建議不要采用ASP安全性總不叫人放心,個(gè)人認(rèn)為還是采用JSP好一些,安全性好,功能強(qiáng)大,絕對(duì)超值,因?yàn)镻HP也存在不少的漏洞。