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