Windows NT/2000 伺服器安全設置與效率優化

Kiver 发布于2004-2-13 10:24 981 次浏览 6 位用户参与讨论   [复制分享主题]
[Point=100]現在有很多人都認為微軟的東西漏洞太多,,微軟的系統安全性極差,不過通過我在做各種系統的安全配置的過程中我總結出了一些經驗,特拿來與各位共用,其實各種系統都有很多漏洞,只不過微軟的東西用的人最多,普遍又是水平不是很高,不會作各種安全設置,所以才會讓人有現在網上的NT/2000服務性安全性都很差的感覺,其實NT/2000的伺服器如果真的做好了各項安全設置之後,其安全性絕對不會比nix系統差。 <BR><BR>1.初級篇:NT/2000系統本身的定制安裝與相關設置 <BR>??用NT(2000)建立的WEB站點在所有的網站中占了很大一部分比例,主要因為其易用性與易管理性,使該公司不必再投入大量的金錢在伺服器的管理上,這一點優於nix系統,不必請很專業的管理員,不必支付一份可以節省的高薪,呵呵,當然nix的管理員也不會失業,因為其開放源碼和windows系統無與倫比的速度,使得現在幾乎所有的大型伺服器全部採用nix系統。但對於中小型企業來說windows已經足夠,但NT的安全問題也一直比較突出,使得一些每個基於NT的網站都有一種如履薄冰的感覺,在此我給出一份安全解決方案,算是為中國的網路安全事業做出一份貢獻吧 (說明:本方案主要是針對建立Web站點的NT、2000伺服器安全,對於局域網內的伺服器並不合適。) <BR>??一、 定制自己的NT/2000 SERVER <BR>1. 版本的選擇: <BR>WIN2000有各種語言的版本,對於我們來說,可以選擇英文版或簡體中文版,我強烈建議:在語言不成為障礙的情況下,請一定使用英文版。要知道,微軟的產品是以Bug &amp;Patch而著稱的,中文版的Bug遠遠多於英文版,而補丁一般還會遲至少半個月(也就是說一般微軟公佈了漏洞後你的機子還會有半個月處於無保護狀況) <BR>2. 組件的定制: <BR>win2000在默認情況下會安裝一些常用的元件,但是正是這個默認安裝是極度危險的你應該確切的知道你需要哪些服務,而且僅僅安裝你確實需要的服務,根據安全原則,最少的服務+最小的許可權=最大的安全。典型的WEB伺服器需要的最小元件選擇是:只安裝IIS的Com Files,IIS Snap-In,WWW Server組件。如果你確實需要安裝其他元件,請慎重,特別是:Indexing Service, FrontPage 2000 Server Extensions, Internet Service Manager (HTML)這幾個危險服務。 <BR>??二、 正確安裝NT/2000 SERVER <BR>?? <BR>??不論是NT還是2000,硬碟分區均為NTFS分區; <BR>??說明: <BR>??(1) NTFS比FAT分區多了安全控制功能,可以對不同的檔夾設置不同的訪問許可權,安全性增強。 <BR>??(2) 建議最好一次性全部安裝成NTFS分區,而不要先安裝成FAT分區再轉化為NTFS分區,這樣做在安裝了SP5和SP6的情況下會導致轉化不成功,甚至系統崩潰。 <BR>??(3) 安裝NTFS分區有一個潛在的危險,就是目前大多數反病毒軟體沒有提供對軟碟啟動後NTFS分區病毒的查殺,這樣一旦系統中了惡性病毒而導致系統不能正常啟動,後果就比較嚴重,因此及建議平時做好防病毒工作。 <BR>(4)分區和邏輯盤的分配 <BR>有一些朋友為了省事,將硬碟僅僅分為一個邏輯盤,所有的軟體都裝在C驅上,這是很不好的,建議最少建立兩個分區,一個系統分區,一個應用程式分區,這是因為,微軟的IIS經常會有洩漏源碼/溢出的漏洞,如果把系統和IIS放在同一個驅動器會導致系統檔的洩漏甚至入侵者遠端獲取ADMIN。推薦的安全配置是建立三個邏輯驅動器,第一個大於2G,用來裝系統和重要的日誌檔,第二個放IIS,第三個放FTP,這樣無論IIS或FTP出了安全漏洞都不會直接影響到系統目錄和系統檔。要知道,IIS和FTP是對外服務的,比較容易出問題。而把IIS和FTP分開主要是為了防止入侵者上傳程式並從IIS中運行。 <BR>(5)安裝順序的選擇: <BR>win2000在安裝中有幾個順序是一定要注意的: 首先,何時接入網路:Win2000在安裝時有一個漏洞,在你輸入Administrator密碼後,系統就建立了ADMIN$的共用,但是並沒有用你剛剛輸入的密碼來保護它,這種情況一直持續到你再次啟動後,在此期間,任何人都可以通過ADMIN$進入你的機器;同時,只要安裝一完成,各種服務就會自動運行,而這時的伺服器是滿身漏洞,非常容易進入的,因此,在完全安裝並配置好win2000 SERVER之前,一定不要把主機接入網路。 其次,補丁的安裝:補丁的安裝應該在所有應用程式安裝完之後,因為補丁程式往往要替換/修改某些系統檔,如果先安裝補丁再安裝應用程式有可能導致補丁不能起到應有的效果,例如:IIS的HotFix就要求每次更改IIS的配置都需要安裝 <BR>[/Point]

已有(6)人评论

Kiver 发表于 2004-2-13 10:25:28 | 显示全部楼层
?? 三、 安全配置NT/2000 SERVER <BR>即使正確的安裝了WIN2000 SERVER,系統還是有很多的漏洞,還需要進一步進行細緻地配置。 <BR>1.埠: <BR>埠是電腦和外部網路相連的邏輯介面,也是電腦的第一道屏障,埠配置正確與否直接影響到主機的安全,一般來說,僅打開你需要使用的埠會比較安全,配置的方法是在網卡屬性-TCP/IP-高級-選項-TCP/IP篩選中啟用TCP/IP篩選,不過對於win2000的埠過濾來說,有一個不好的特性:只能規定開哪些埠,不能規定關閉哪些埠,這樣對於需要開大量埠的用戶就比較痛苦。 <BR>2.IIS: <BR>IIS是微軟的元件中漏洞最多的一個,平均兩三個月就要出一個漏洞,而微軟的IIS默認安裝又實在不敢恭維,所以IIS的配置是我們的重點,現在大家跟著我一起來:首先,把C盤那個什麼Inetpub目錄徹底刪掉,在D盤建一個Inetpub(要是你不放心用默認目錄名也可以改一個名字,但是自己要記得)在IIS管理器中將主目錄指向D:\Inetpub;其次,那個IIS安裝時默認的什麼scripts等虛擬目錄一概刪除,如果你需要什麼許可權的目錄可以自己慢慢建,需要什麼許可權開什麼。(特別注意寫許可權和執行程式的許可權,沒有絕對的必要千萬不要給)第三,應用程式配置:在IIS管理器中刪除必須之外的任何無用映射,必須指的是ASP,ASA和其他你確實需要用到的檔類型,例如你用到stml等(使用server side include),實際上90%的主機有了上面兩個映射就夠了,其餘的映射幾乎每個都有一個淒慘的故事:htw, htr, idq, ida……想知道這些故事?去查以前的漏洞列表吧。在IIS管理器中右擊主機-&gt;屬性-&gt;WWW服務 編輯-&gt;主目錄配置-&gt;應用程式映射,然後就開始一個個刪吧(裏面沒有全選的,嘿嘿)。接著在剛剛那個視窗的應用程式調試書簽內將腳本錯誤消息改為發送文本(除非你想ASP出錯的時候用戶知道你的程式/網路/資料庫結構)錯誤文本寫什麼?隨便你喜歡,自己看著辦。點擊確定退出時別忘了讓虛擬站點繼承你設定的屬性。安裝新的Service Pack後,IIS的應用程式映射應重新設置。(說明:安裝新的Service Pack後,某些應用程式映射又會出現,導致出現安全漏洞。這是管理員較易忽視的一點。) <BR>為了對付日益增多的cgi漏洞掃描器,還有一個小技巧可以參考,在IIS中將HTTP404 Object Not Found出錯頁面通過URL重定向到一個定制HTM檔,可以讓目前絕大多數CGI漏洞掃描器失靈。其實原因很簡單,大多數CGI掃描器在編寫時為了方便,都是通過查看返回頁面的HTTP代碼來判斷漏洞是否存在的,例如,著名的IDQ漏洞一般都是通過取1.idq來檢驗,如果返回HTTP200,就認為是有這個漏洞,反之如果返回HTTP404就認為沒有,如果你通過URL將HTTP404出錯資訊重定向到HTTP404.htm檔,那麼所有的掃描無論存不存在漏洞都會返回HTTP200,90%的CGI掃描器會認為你什麼漏洞都有,結果反而掩蓋了你真正的漏洞,讓入侵者茫然無處下手,不過從個人角度來說,我還是認為扎扎實實做好安全設置比這樣的小技巧重要的多。 <BR>最後,為了保險起見,你可以使用IIS的備份功能,將剛剛的設定全部備份下來,這樣就可以隨時恢復IIS的安全配置。還有,如果你怕IIS負荷過高導致伺服器滿負荷死機,也可以在性能中打開CPU限制,例如將IIS的最大CPU使用率限制在70%。 <BR>3.帳號策略: <BR>??(1)帳號盡可能少,且盡可能少用來登錄; <BR>??說明:網站帳號一般只用來做系統維護,多餘的帳號一個也不要,因為多一個帳號就會多一份被攻破的危險。 <BR>??(2)除過Administrator外,有必要再增加一個屬於管理員組的帳號; <BR>??說明:兩個管理員組的帳號,一方面防止管理員一旦忘記一個帳號的口令還 <BR>??有一個備用帳號;另方面,一旦黑客攻破一個帳號並更改口令,我們還有 <BR>??有機會重新在短期內取得控制權。 <BR>??(3)所有帳號許可權需嚴格控制,輕易不要給帳號以特殊許可權; <BR>??(4)將Administrator重命名,改為一個不易猜的名字。其他一般帳號也應尊循這一原則。 <BR>??說明:這樣可以為黑客攻擊增加一層障礙。 <BR>??(5)將Guest帳號禁用,同時重命名為一個複雜的名字,增加口令,並將它從 <BR>??Guest組刪掉; <BR>??說明:有的黑客工具正是利用了guest 的弱點,可以將帳號從一般用戶提 <BR>??升到管理員組。 <BR>??(6)給所有用戶帳號一個複雜的口令(系統帳號出外),長度最少在8位以上, 且必須同時包含字母、數位、特殊字元。同時不要使用大家熟悉的單詞(如microsoft)、熟悉的鍵盤順序(如qwert)、熟悉的數字(如2000)等。 <BR>??說明:口令是黑客攻擊的重點,口令一旦被突破也就無任何系統安全可言了,而這往往是不少網管所忽視的地方,據我們的測試,僅字母加數位的5位元口令在幾分鐘內就會被攻破,而所推薦的方案則要安全的多。 <BR>??(7)口令必須定期更改(建議至少兩周該一次),且最好記在心裏,除此以外不要在任何地方做記錄;另外,如果在日誌審核中發現某個帳號被連續嘗試,則必須立刻更改此帳號(包括用戶名和口令); <BR>??(8)在帳號屬性中設立鎖定次數,比如改帳號失敗登錄次數超過5次即鎖定改帳號。這樣可以防止某些大規模的登錄嘗試,同時也使管理員對該帳號提高警惕。 <BR>4.安全日誌: <BR>Win2000的默認安裝是不開任何安全審核的! <BR>那麼請你到本地安全策略-&gt;審核策略中打開相應的審核,推薦的審核是: <BR>帳戶管理 成功 失敗 <BR>登錄事件 成功 失敗 <BR>對象訪問 失敗 <BR>策略更改 成功 失敗 <BR>特權使用 失敗 <BR>系統事件 成功 失敗 <BR>目錄服務訪問 失敗 <BR>帳戶登錄事件 成功 失敗 <BR>審核專案少的缺點是萬一你想看發現沒有記錄那就一點都沒轍;審核專案太多不僅會佔用系統資源而且會導致你根本沒空去看,這樣就失去了審核的意義。 與之相關的是: <BR>在帳戶策略-&gt;密碼策略中設定: <BR>密碼複雜性要求 啟用 <BR>密碼長度最小值 6位 <BR>強制密碼歷史 5次 <BR>最長存留期 30天 <BR>在帳戶策略-&gt;帳戶鎖定策略中設定: <BR>帳戶鎖定 3次錯誤登錄 <BR>鎖定時間 20分鐘 <BR>復位鎖定計數 20分鐘 <BR>同樣,Terminal Service的安全日誌默認也是不開的,我們可以在Terminal Service Configration(遠端服務配置)-許可權-高級中配置安全審核,一般來說只要記錄登錄、登出事件就可以了。 <BR>5.目錄和檔許可權: <BR>為了控制好伺服器上用戶的許可權,同時也為了預防以後可能的入侵和溢出,我們還必須非常小心地設置目錄和檔的訪問許可權,NT的訪問許可權分為:讀取、寫入、讀取及執行、修改、列目錄、完全控制。在默認的情況下,大多數的檔夾對所有用戶(Everyone這個組)是完全敞開的(Full Control),你需要根據應用的需要進行許可權重設。 <BR>在進行許可權控制時,請記住以下幾個原則: <BR>1&gt;限是累計的:如果一個用戶同時屬於兩個組,那麼他就有了這兩個組所允許的所有權限; <BR>2&gt;拒絕的許可權要比允許的許可權高(拒絕策略會先執行)如果一個用戶屬於一個被拒絕訪問某個資源的組,那麼不管其他的許可權設置給他開放了多少許可權,他也一定不能訪問這個資源。所以請非常小心地使用拒絕,任何一個不當的拒絕都有可能造成系統無法正常運行; <BR>3&gt;文件許可權比文件夾許可權高 <BR>4&gt;利用用戶組來進行許可權控制是一個成熟的系統管理員必須具有的優良習慣之一; <BR>5&gt;僅給用戶真正需要的許可權,許可權的最小化原則是安全的重要保障; <BR>6.只安裝一種作業系統; <BR>??說明:安裝兩種以上作業系統,會給黑客以可乘之機,利用攻擊使系統重啟到另外一個沒有安全設置的作業系統(或者他熟悉的作業系統),進而進行破壞。 <BR>7.安裝成獨立的網域控制器(Stand Alone),選擇工作組成員,不選擇域; <BR>??說明:主網域控制器(PDC)是局域網中隊多台聯網機器管理的一種方式,用於網站伺服器包含著安全隱患,使黑客有可能利用域方式的漏洞攻擊站點伺服器。 <BR>?? <BR>8.將作業系統檔所在分區與WEB資料包括其他應用程式所在的分區分開,並在安裝時最好不要使用系統默認的目錄,如將\WINNT改為其他目錄; <BR>??說明:黑客有可能通過WEB站點的漏洞得到作業系統對作業系統某些程式的執行許可權,從而造成更大的破壞。同時如果採用IIS的話你應該在其設置中刪除掉所有的無用的映射,同時不要安裝索引服務,遠端站點管理與伺服器擴展最好也不要要,然後刪掉默認路徑下的www,整個刪,不要手軟,然後再硬碟的另一個硬碟建立存放你網站的檔夾,同時一定記得打開w3c日誌紀錄,切記(不過本人建議採用apache 1.3.24) <BR>系統安裝過程中一定本著最小服務原則,無用的服務一概不選擇,達到系統的最小安裝,多一個服務,多一份風險,呵呵,所以無用元件千萬不要安裝! <BR>9.關於補丁:在NT下,如果安裝了補丁程式,以後如果要從NT光碟上安裝新的Windows程式,都要重新安裝一次補丁程式, 2000下不需要這樣做。 <BR>??說明: <BR>?? <BR>??(1) 最新的補丁程式,表示系統以前有重大漏洞,非補不可了,對於局域網內伺服器可以不是最新的,但站點必須安裝最新補丁,否則黑客可能會利用低版本補丁的漏洞對系統造成威脅。這是一部分管理員較易忽視的一點; <BR>??(2) 安裝NT的SP5、SP6有一個潛在威脅,就是一旦系統崩潰重裝NT時,系統將不會認NTFS分區,原因是微軟在這兩個補丁中對NTFS做了改進。只能通過Windows 2000安裝過程中認NTFS,這樣會造成很多麻煩,建議同時做好資料備份工作。 <BR>??(3) 安裝Service Pack前應先在測試機器上安裝一次,以防因為例外原因導致機器死機,同時做好資料備份。 <BR>?? <BR>??儘量不安裝與WEB站點服務無關的軟體; <BR>??說明:其他應用軟體有可能存在黑客熟知的安全漏洞。 <BR>10.解除NetBios與TCP/IP協議的綁定 <BR>??說明:NetBois在局域網內是不可缺少的功能,在網站伺服器上卻成了黑客掃描工具的首選目標。方法:NT:控制面版——網路——綁定——NetBios介面——禁用 2000:控制面版——網路和撥號連接——本地網路——屬性——TCP/IP——屬性——高級——WINS——禁用TCP/IP上的NETBIOS <BR>?? <BR>??11.刪除所有的網路共用資源,在網路連接的設置中刪除檔和列印共用,只留下TCP/IP協議 <BR>??說明:NT與2000在默認情況下有不少網路共用資源,在局域網內對網路管理和網路通訊有用,在網站伺服器上同樣是一個特大的安全隱患。(卸載“Microsoft 網路的檔和印表機共用”。當查看“網路和撥號連接”中的任何連接屬性時,將顯示該選項。單擊“卸載”按鈕刪除該元件;清除“Microsoft 網路的檔和印表機共用”核取方塊將不起作用。) <BR>??方法: <BR>??(1)NT:管理工具——伺服器管理器——共用目錄——停止共用; <BR>??2000:控制面版——管理工具——計算及管理——共用文件夾———停止共用 <BR>??但上述兩種方法太麻煩,伺服器每重啟一次,管理員就必須停止一次 <BR>??(2)修改註冊表: <BR>??運行Regedit,然後修改註冊表在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters下增加一個鍵 <BR>??Name: AutoShareServer <BR>??Type: REG_DWORD <BR>??Value: 0 <BR>??然後重新啟動您的伺服器,磁片分區共用去掉,但IPC共用仍存在,需每次重啟後手工刪除。
Kiver 发表于 2004-2-13 10:26:00 | 显示全部楼层
游客,如果您要查看本帖隐藏内容请回复
Kiver 发表于 2004-2-13 10:27:45 | 显示全部楼层
[Money=500]附:IIS安全工具及其使用說明 <BR>一、IIS Lock Tool,快速設置IIS安全屬性 <BR>  IIS Lock Tool的推出,還要感謝紅色代碼,因為正是紅色代碼的大面積傳播,致使微軟設計發佈這款幫助管理員們設置IIS安全性的工具。 <BR>(一)、IIS Lock Tool具有以下功能和特點 <BR>  1、最基本功能,幫助管理員設置IIS安全性; <BR>  2、此工具可以在IIS4和IIS5上使用; <BR>  3、即使系統沒有及時安裝所有補丁,也能有效防止IIS4和IIS5的已知漏洞; <BR>  4、幫助管理員去掉對本網站不必要的一些服務,使IIS在滿足本網站需求的情況下運行最少的服務; <BR>  5、具有兩種使用模式:快捷模式和高級模式。快捷模式直接幫助管理員設置好IIS安全性,這種模式只適合於只有HTML和HTM靜態網頁的網站使用,因為設置完成以後,ASP不能運行;高級模式允許管理員自己設置各種屬性,設置得當,對IIS系統任何功能均沒有影響。 <BR>(二)、IIS Lock Tool的使用 <BR>  1、軟體下載和安裝 <BR>  IIS Lock Tool在微軟網站下載,下載地址: <BR><A href="http://www.microsoft.com/Downloads/...ReleaseID=32362" target="_blank" ><FONT color=#ff7796>http://www.microsoft.com/Downloads/...ReleaseID=32362</FONT></A> <BR>  安裝很簡單,需要注意的是,安裝以後,程式不會在系統的【程式】功能表出現,也不會在【管理工具】出現,需要安裝者在安裝目錄尋找運行該程式。 <BR>  2、軟體的使用 <BR>  在以下的介紹中,我們將詳細介紹每一步設置的意義和推薦設置,之所以詳細介紹,是為了我們明白這些設置到底意味著什麼,同時,和我們原來的安全設置相對照,避免出現設置完成以後,系統出現障礙。 <BR>1)Disable support Active Server Pages(ASP),選擇這種設置將使IIS不支持ASP功能;可以根據網站具體情況選擇,一般不選擇此項,因為網站一般要求運行ASP程式; <BR>  2)Disable support Index Server Web Interface(.idq,.htw,.ida),選擇這一項將不支援索引服務,具體就是不支援.idq,.htw,.ida這些檔。我們先來看看到底什麼是索引服務,然後來決定取捨。索引服務是IIS4中包含的內容索引引擎。你可以對它進行ADO調用並搜索你的站點,它為你提供了一個很好的web 搜索引擎。如果你的網站沒有利用索引服務對網站進行全文檢索,也就可以取消網站的這個功能,取消的好處是:1)減輕系統負擔;2)有效防止利用索引服務漏洞的病毒和黑客,因為索引伺服器漏洞可能使攻擊者控制網站伺服器,同時,暴露網頁檔在伺服器上的物理位置(利用.ida、.idq)。因此,我們一般建議在這一項前面打勾,也就是取消索引服務; <BR> 3)Disable support for Server Side Includes(.shtml,.shtm,.stm),取消伺服器端包含;先來看看什麼叫伺服器端包含,SSI就是HTML檔中,可以通過注釋行調用的命令或指標。SSI 具有強大的功能,只要使用一條簡單的SSI 命令就可以實現整個網站的內容更新,動態顯示時間和日期,以及執行shell和CGI腳本程式等複雜的功能。一般而言,我們沒有用到這個功能,所以,建議取消;取消可以防止一些IIS潛在地漏洞; <BR>  4)Disable for Internet Data Connector(.idc),取消Internet資料庫連接;先看Internet資料庫連接的作用,它允許HTML頁面和後臺資料庫建立連接,實現動態頁面。需要注意的是,IIS4和IIS5中基本已經不使用idc,所以,建議在此項打勾,取消idc; <BR>  5)Disable support for Internet Printing (.printer),取消Internet列印;這一功能我們一般沒有使用,建議取消;取消的好處是可以避免.printer遠端緩存溢出漏洞,這個漏洞使攻擊者可以利用這個漏洞遠端入侵IIS 伺服器,並以系統管理員(system)身份執行任意命令; <BR>  6)Disable support for .HTR Scripting(.htr),取消htr映射;攻擊者通過htr構造特殊的URL請求,可能導致網站部分檔源代碼暴露(包括ASP),建議在此項前面打勾,取消映射; <BR>  理解以上各項設置以後,我們可以根據本網站情況來決定取捨,一般網站除了ASP要求保留以外,其他均可以取消,也就是全消第一項前面的勾,其他全部打勾,按【下一步】按鈕<BR>1)Remove sample web files,刪除web例子檔;建議刪除,因為一般我們不需要在伺服器上閱讀這些檔,而且,這些檔可能讓攻擊者利用來閱讀部分網頁根源程式代碼(包括ASP); <BR>  2)Remove the Scripts vitual directory,刪除腳本虛擬目錄;建議刪除; <BR>  3)Remove the MSDAC virtual directory,刪除MSDAC虛擬目錄,建議刪除; <BR>  4)Disable Distribauted Authoring and Versioning(WebDAV),刪除WEBDAV,WebDav主要允許管理者遠端編寫和修改頁面,一般我們不會用到,建議刪除,刪除的好處是可以避免IIS5的一個WebDav漏洞,該漏洞可能導致伺服器停止。 <BR>  5)Set file permissions to prevent the IIS anouymous user from executing system utilities(such as cmd.exe,tftp.exe),防止匿名用戶運行可執行檔,比如cmd.exe和tftp.exe;建議選擇此項,因為紅色代碼和尼姆達均利用了以上所說的匿名執行可執行檔的功能; <BR>  6)Set file permissions to prevent the IIS anouymous user from writing to content directories,防止匿名用戶對目錄具有寫許可權,這個不要解釋,建議選擇; <BR>  設置以上選項以後,按【下一步】按鈕<BR>要求確認是否接受以上設置,選擇【是】<BR><BR>二、URLScan Tool――過濾非法URL訪問 <BR>  仔細觀察IIS的漏洞,我們幾乎可以得出這樣一個結論,所有利用這些漏洞實現對網站攻擊的手段均是構造特殊的URL來訪問網站,一般有以下幾種類型的URL可以利用漏洞: <BR>  1、特別長的URL,比如紅色代碼攻擊網站的URL就是這樣: <BR>GET/default.idaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <BR>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <BR>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <BR>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u <BR>9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u <BR>00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a 200; <BR> 2、特殊字元或者字串的URL,比如在URL後面加::$DATA可以看到網頁(ASP)源代碼; <BR>  3、URL中含有可執行檔案名,最常見的就是有cmd.exe; <BR>  既然這些攻擊利用特殊的URL來實現,所以,微軟提供了這款專門過濾非法URL的安全工具,可以達到禦敵於國門之外的效果,這款工具有以下特點和功能: <BR>  1、基本功能:過濾非法URL請求; <BR>  2、設定規則,辨別那些URL請求是合法的;這樣,就可以針對本網站來制定專門的URL請求規則;同時,當有新的漏洞出現時,可以更改這個規則,達到防禦新漏洞的效果; <BR>  3、程式提供一套URL請求規則,這個規則包含已經發現的漏洞利用特徵,幫助管理員設置規則; <BR>(一)、軟體的下載與安裝 <BR>  URLScan可以在微軟的網站上下載,位址如下: <BR><A href="http://download.microsoft.com/downl...-US/UrlScan.exe" target="_blank" ><FONT color=#ff7796>http://download.microsoft.com/downl...-US/UrlScan.exe</FONT></A> <BR>  和一般軟體一樣安裝,但是,此軟體不能選擇安裝路徑,安裝完成以後,我們可以在System32/InetSvr/URLScan目錄下找到以下檔: <BR>  urlscan.dll:動態連接庫檔; <BR>  urlscan.inf:安裝資訊檔; <BR>  urlscan.txt:軟體說明文件; <BR>  urlscan.ini:軟體配置檔,這個檔很只要,因為對URLScan的所有配置,均有這個檔來完成。 <BR>(二)、軟體的配置 <BR>  軟體的配置由urlscan.ini檔來完成,在配置此檔以前,我們需要瞭解一些基本知識。 <BR> 1、urlscan配置檔的構造形式 <BR>  urlscan配置檔必須遵從以下規則: <BR>  (1)此檔案名必須為urlscan.ini; <BR>  (2)配置檔必須和urlscan.dll在同一目錄; <BR>  (3)配置檔必須是標準ini檔結構,也就是由節,串和值組成; <BR>  (4)配置檔修改以後,必須重新啟動IIS,使配置生效; <BR>  (5)配置檔由以下各節組成: <BR>  [Option]節,主要設置節; <BR>  [AllowVerbs]節,配置認定為合法URL規則設定,此設定與Option節有關; <BR>  [DenyVerbs]節,配置認定為非法URL規則設定,此設定與Option節有關; <BR>  [DenyHeaders]節,配置認定為非法的header在設立設置; <BR>  [AllowExtensions]節,配置認定為合法的檔副檔名在這裏設置,此設定與Option節有關; <BR>  [DenyExtensions]節,配置認定為非法的檔副檔名在這裏設置,此設定與Option節有關; <BR><BR><BR>2、具體配置 <BR>  (1)Option節的配置,因為Option節的設置直接影響到以後的配置,因此,這一節的設置特別重要。此節主要進行以下屬性的設置: <BR>  UseAllowVerbs:使用允許模式檢查URL請求,如果設置為1,所有沒有在[AllowVerbs]節設置的請求都被拒絕;如果設置為0,所有沒有在[DenyVerbs]設置的URL請求都認為合法;默認為1; <BR>  UseAllowExtensions:使用允許模式檢測檔副檔名;如果設置為 1,所有沒在[AllowExtensions]節設置的檔副檔名均認為是非法請求;如果設置為0,所有沒在[DenyExtensions]節設置的副檔名均被認為是合法請求;默認為0; <BR>  EnableLogging:是否允許使用Log檔,如果為1,將在urlscan.dll的相同目錄設置名為urlscan.log的檔記錄所有過濾; <BR>  AllowLateScanning:允許其他URL過濾在URLScan過濾之前進行,系統默認為不允許\0; <BR>  AlternateServerName:使用服務名代替;如果此節存在而且[RemoveServerHeader]節設置為0,IIS將在這裏設置的伺服器名代替默認的“Server”; <BR>  NormalizeUrlBeforeScan:在檢測URL之前規格化URL;如果為1,URLScan將在IIS編碼URL之前URL進行檢測;需要提醒的是,只有管理員對URL解析非常熟悉的情況下才可以將其設置為0;默認為1; <BR>  VerifyNormalization:如果設置為1,UrlScan將校驗URL規則,默認為1;此節設定與NormalizeUrlBeforeScan有關; <BR>  AllowHighBitCharacters:如果設置為1,將允許URL中存在所有位元組,如果為0,含有非ASCII字元的URL將拒絕;默認為1; <BR>  AllowDotInPath:如果設置為1,將拒絕所有含有多個“.”的URL請求,由於URL檢測在IIS解析URL之前,所以,對這一檢測的準確性不能保證,默認為0; <BR>  RemoveServerHeader:如果設置為1,將把所有應答的服務頭清除,默認為0; <BR>  (2)[AllowVerbs]節配置 <BR>  如果UseAllowVerbs設置為1,此節設置的所有請求將被允許,一般設置以下請求: <BR>  GET、HEAD、POST <BR>  (3)[DenyVerbs]節配置 <BR>  如果UseAllowVerbs設置為0,此節設置的所有請求將拒絕,一般設置以下請求: <BR>  PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK <BR>  (4)[AllowExtensions]節設置 <BR>  在這一節設置的所有副檔名檔將被允許請求,一般設置以下請求: <BR>  .asp、.htm、.html、.txt、.jpg、.jpeg、.gif,如果需要提供檔下載服務,需要增加.rar、.zip <BR>  (5)[DenyExtensions]節設置 <BR>  在這一節設置的所有副檔名檔請求將被拒絕,根據已經發現的漏洞,我們可以在這一節增加內容,一般為以下設置: <BR>.asa、可執行檔、批次檔案、日誌檔、罕見擴展如:shtml、.printer等。 <BR>三、總結 <BR>  以上兩個工具功能強大,可以真正實現對IIS的保護。IIS Lock Tool簡單,相對而言,只是被動的防衛;UrlScan設置比較難,建議對IIS非常熟悉的管理員使用,只要設置得當,UrlScan的功能更加強大。在使用UrlScan的時候,切記不要設置一次萬事大吉,需要不停跟蹤新出現的漏洞,隨時修改URLScan的配置檔。 <BR><BR>3。高級篇:NT/2000的高級安全設置 <BR>1.禁用空連接,禁止匿名獲得用戶名列表 <BR>Win2000的默認安裝允許任何用戶通過空用戶得到系統所有帳號/共用列表,這個本來是為了方便局域網用戶共用檔的,但是一個遠端用戶也可以得到你的用戶列表並使用暴力法破解用戶密碼。很多朋友都知道可以通過更改註冊表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1來禁止139空連接,實際上win2000的本地安全策略(如果是域伺服器就是在域伺服器安全和域安全策略中)就有這樣的選項RestrictAnonymous(匿名連接的額外限制),這個選項有三個值: 0:None. Rely on default permissions(無,取決於默認的許可權 1 :Do not allow enumeration of SAM accounts and shares(不允許枚舉SAM帳號和共用) 2:No access without explicit anonymous permissions(沒有顯式匿名許可權就不允許訪問) 0這個值是系統默認的,什麼限制都沒有,遠端用戶可以知道你機器上所有的帳號、組資訊、共用目錄、網路傳輸列表(NetServerTransportEnum等等,對伺服器來說這樣的設置非常危險。 1這個值是只允許非NULL用戶存取SAM帳號資訊和共用資訊。 2這個值是在win2000中才支援的,需要注意的是,如果你一旦使用了這個值,你的共用估計就全部完蛋了,所以我推薦你還是設為1比較好。 好了,入侵者現在沒有辦法拿到我們的用戶列表,我們的帳戶安全了 <BR>2。禁止顯示上次登陸的用戶名HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\winlogon項中的Don’t Display Last User Name串資料改成1,這樣系統不會自動顯示上次的登錄用戶名。將伺服器註冊表HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\ <BR>WindowsNT\CurrentVersion\Winlogon項中的Don't Display Last User Name串資料修改為1,隱藏上次登陸控制臺的用戶名。其實,在2000的本地安全策略中也存在該選項 <BR>Winnt4.0修改註冊表: <BR>??HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon 中增加DontDisplayLastUserName,將其值設為1。 <BR>[/Money]
Kiver 发表于 2004-2-13 10:28:09 | 显示全部楼层
2.預防DoS: <BR>在註冊表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以幫助你防禦一定強度的DoS攻擊 SynAttackProtect REG_DWORD 2 <BR>EnablePMTUDiscovery REG_DWORD 0 NoNameReleaseOnDemand REG_DWORD 1 <BR>EnableDeadGWDetect REG_DWORD 0 KeepAliveTime REG_DWORD 300,000 <BR>PerFORMRouterDiscovery REG_DWORD 0 EnableICMPRedirects REG_DWORD 0 <BR>在Win2000中如何關閉ICMP(Ping) <BR>  3.針對ICMP攻擊 <BR>ICMP的全名是Internet Control and Message Protocal即網際網路控制消息/錯誤報文協定,這個協定主要是用來進行錯誤資訊和控制資訊的傳遞,例如著名的Ping和Tracert工具都是利用ICMP協議中的ECHO request報文進行的(請求報文ICMP ECHO類型8代碼0,應答報文ICMP ECHOREPLY類型0代碼0)。 <BR>  ICMP協議有一個特點---它是無連結的,也就是說只要發送端完成ICMP報文的封裝並傳遞給路由器,這個報文將會象郵包一樣自己去尋找目的地址,這個特點使得ICMP協議非常靈活快捷,但是同時也帶來一個致命的缺陷---易偽造(郵包上的寄信人位址是可以隨便寫的),任何人都可以偽造一個ICMP報文並發送出去,偽造者可以利用SOCK_RAW編程直接改寫報文的ICMP首部和IP首部,這樣的報文攜帶的源位址是偽造的,在目的端根本無法追查,(攻擊者不怕被抓那還不有恃無恐?)根據這個原理,外面出現了不少基於ICMP的攻擊軟體,有通過網路架構缺陷製造ICMP風暴的,有使用非常大的報文堵塞網路的,有利用ICMP碎片攻擊消耗伺服器CPU的,甚至如果將ICMP協定用來進行通訊,可以製作出不需要任何TCP/UDP埠的木馬(參見揭開木馬的神秘面紗三)......既然ICMP協議這麼危險,我們為什麼不關掉它呢? <BR>  我們都知道,Win2000在網路屬性中自帶了一個TCP/IP篩檢程式,我們來看看能不能通過這裏關掉ICMP協議,桌面上右擊網上鄰居-&gt;屬性-&gt;右擊你要配置的網卡-&gt;屬性-&gt;TCP/IP-&gt;高級-&gt;選項-&gt;TCP/IP過濾,這裏有三個篩檢程式,分別為:TCP埠、UDP埠和IP協議,我們先允許TCP/IP過濾,然後一個一個來配置,先是TCP埠,點擊"只允許\\",然後在下面加上你需要開的埠,一般來說WEB伺服器只需要開80(www),FTP伺服器需要開20(FTP Data),21(FTP Control),郵件伺服器可能需要打開25(SMTP),110(POP3),以此類推......接著是UDP,UDP協定和ICMP協定一樣是基於無連結的,一樣容易偽造,所以如果不是必要(例如要從UDP提供DNS服務之類)應該選擇全部不允許,避免受到洪水(Flood)或碎片(Fragment)攻擊。最右邊的一個編輯框是定義IP協議過濾的,我們選擇只允許TCP協議通過,添加一個6(6是TCP在IP協議中的代碼,IPPROTO_TCP=6),從道理上來說,只允許TCP協議通過時無論UDP還是ICMP都不應該能通過,可惜的是這裏的IP協議過濾指的是狹義的IP協議,從架構上來說雖然ICMP協定和IGMP協定都是IP協定的附屬協定,但是從網路7層結構上ICMP/IGMP協定與IP協定同屬一層,所以微軟在這裏的IP協議過濾是不包括ICMP協議的,也就是說即使你設置了“只允許TCP協議通過”,ICMP報文仍然可以正常通過,所以如果我們要過濾ICMP協定還需要另想辦法。 <BR>  剛剛在我們進行TCP/IP過濾時,還有另外一個選項:IP安全機制(IP Security),我們過濾ICMP的想法就要著落在它身上。 <BR>打開本地安全策略,選擇IP安全策略,在這裏我們可以定義自己的IP安全策略。一個IP安全篩檢程式由兩個部分組成:過濾策略和過濾操作,過濾策略決定哪些報文應當引起篩檢程式的關注,過濾操作決定篩檢程式是“允許”還是“拒絕”報文的通過。要新建IP安全篩檢程式,必須新建自己的過濾策略和過濾操作:右擊本機的IP安全策略,選擇管理IP篩檢程式,在IP篩檢程式管理列表中建立一個新的過濾規則:ICMP_ANY_IN,源位址選任意IP,目標位址選本機,協定類型是ICMP,切換到管理篩檢程式操作,增加一個名為Deny的操作,操作類型為"阻止"(Block)。這樣我們就有了一個關注所有進入ICMP報文的過濾策略和丟棄所有報文的過濾操作了。需要注意的是,在位址選項中有一個鏡像選擇,如果選中鏡像,那麼將會建立一個對稱的過濾策略,也就是說當你關注any IP-&gt;my IP的時候,由於鏡像的作用,實際上你也同時關注了my IP-&gt;any IP,你可以根據自己的需要選擇或者放棄鏡像。再次右擊本機的IP安全策略,選擇新建IP過濾策略,建立一個名稱為ICMP Filter的篩檢程式,通過增加過濾規則嚮導,我們把剛剛定義的ICMP_ANY_IN過濾策略指定給ICMP Filter,然後在操作選框中選擇我們剛剛定義的Deny操作,退出嚮導視窗,右擊ICMP Filter並啟用它,現在任何位址進入的ICMP報文都會被丟棄了。 <BR>  雖然用IP sec能夠對ICMP報文進行過濾,不過操作起來太麻煩,而且如果你只需要過濾特定的ICMP報文,還要保留一些常用報文(如主機不可達、網路不可達等),IP sec策略就力不從心了,我們可以利用Win2000的另一個強大工具路由與遠端存取控制(Routing &amp; Remote Access)來完成這些複雜的過濾操作。 <BR>  路由與遠端存取控制是Win2000用來管理路由表、配置VPN、控制遠端存取、進行IP報文過濾的工具,默認情況下並沒有安裝,所以首先你需要啟用它,打開"管理工具"-&gt;"路由與遠端存取",右擊伺服器(如果沒有則需要添加本機)選擇"配置並啟用路由及遠端存取",這時配置嚮導會讓你選擇是什麼樣的伺服器,一般來說,如果你不需要配置VPN伺服器,那麼選擇"手動配置"就可以了,配置完成後,主機下將出現一個IP路由的選項,在"常規"中選擇你想配置的網卡(如果你有多塊網卡,你可以選擇關閉某一塊的ICMP),在網卡屬性中點擊"輸入篩選器",添加一條過濾策略"from:ANY to:ANY 協議:ICMP 類型:8 :編碼 丟棄"就可以了(類型8編碼0就是Ping使用的ICMP_ECHO報文,如果要過濾所有的ICMP報文只需要將類型和編碼都設置為255) <BR>  細心的朋友剛才可能已經發現,在輸入、輸出篩檢程式的下面,還有一個"碎片檢查"功能,這個功能使用來應付IP碎片攻擊的,這已經超出了本文所討論的範圍,我會在以後的拒絕服務攻擊的文章中繼續和大家一起探討的。Win2000的路由及遠端存取是一個功能非常強大的工具集 <BR>4.改變windows系統的一些預設值(例如:資料包的生存時間(TTL)值,不同系統有不同的值,有經驗的人可以根據TTL的不同的值判斷對方使用的是何種作業系統(例如windows 2000預設值128),我改改改,看你怎麼看) <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>DefaultTTL REG_DWORD 0-0xff(0-255 十進位,預設值128) <BR>說明:指定傳出IP資料包中設置的默認生存時間(TTL)值.TTL決定了IP資料包在到達 <BR>目標前在網路中生存的最大時間.它實際上限定了IP資料包在丟棄前允許通過的路由 <BR>器數量.有時利用此數值來探測遠端主機作業系統. <BR>5.防止ICMP重定向報文的攻擊 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>EnableICMPRedirects REG_DWORD 0x0(預設值為0x1) <BR>說明:該參數控制Windows 2000是否會改變其路由表以回應網路設備(如路由器)發送給它的ICMP重定向消息,有時會被利用來幹壞事.Win2000中預設值為1,表示回應ICMP重定向報文. <BR>6.禁止回應ICMP路由通告報文 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface <BR>PerformRouterDiscovery REG_DWORD 0x0(預設值為0x2) <BR>說明:“ICMP路由公告”功能可造成他人電腦的網路連接異常,資料被竊聽,電腦被用於流量攻擊等嚴重後果.此問題曾導致校園網某些局域網大面積,長時間的網路異常.因此建議關閉回應ICMP路由通告報文.Win2000中預設值為2,表示當DHCP發送路由器發現選項時啟用 <BR>7.防止SYN洪水攻擊 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>SynAttackProtect REG_DWORD 0x2(預設值為0x0) <BR>說明:SYN攻擊保護包括減少SYN-ACK重新傳輸次數,以減少分配資源所保留的時 <BR>間.路由緩存項資源分配延遲,直到建立連接為止.如果synattackprotect=2, <BR>則AFD的連接指示一直延遲到三路握手完成為止.注意,僅在TcpMaxHalfOpen和 <BR>TcpMaxHalfOpenRetried設置超出範圍時,保護機制才會採取措施. <BR>8.禁止C$、D$一類的缺省共用 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters <BR>AutoShareServer、REG_DWORD、0x0 <BR>9.禁止ADMIN$缺省共用 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters <BR>AutoShareWks、REG_DWORD、0x0 <BR>10.限制IPC$缺省共用 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa <BR>restrictanonymous REG_DWORD 0x0 缺省 <BR>0x1 匿名用戶無法列舉本機用戶列表 <BR>0x2 匿名用戶無法連接本機IPC$共用 <BR>說明:不建議使用2,否則可能會造成你的一些服務無法啟動,如SQL Server <BR>11.不支援IGMP協定 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters <BR>IGMPLevel REG_DWORD 0x0(預設值為0x2) <BR>說明:記得Win9x下有個bug,就是用可以用IGMP使別人藍屏,修改註冊表可以修正這個 <BR>bug.Win2000雖然沒這個bug了,但IGMP並不是必要的,因此照樣可以去掉.改成0後用 <BR>route print將看不到那個討厭的224.0.0.0項了. <BR>12.設置arp緩存老化時間設置 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒數,預設值為120秒) <BR>ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒數,預設值為600) <BR>說明:如果ArpCacheLife大於或等於ArpCacheMinReferencedLife,則引用或未引用的ARP緩存項在ArpCacheLife秒後到期.如果ArpCacheLife小於阿ARPCacheMinReferencedLife,未引用項在ArpCacheLife秒後到期,而引用項在ArpCacheMinReferencedLife秒後到期.每次將出站資料包發送到項的IP位址時,就會引用ARP緩存中的項。 <BR>13.禁止死閘道監測技術 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>EnableDeadGWDetect REG_DWORD 0x0(預設值為ox1) <BR>說明:如果你設置了多個閘道,那麼你的機器在處理多個連接有困難時,就會自動改用備份閘道.有時候這並不是一項好主意,建議禁止死閘道監測. <BR>14.不支援路由功能 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>IPEnableRouter REG_DWORD 0x0(預設值為0x0) <BR>說明:把值設置為0x1可以使Win2000具備路由功能,由此帶來不必要的問題. <BR>15.做NAT時放大轉換的對外埠最大值 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters <BR>MaxUserPort REG_DWORD 5000-65534(十進位)(預設值0x1388--十進位為5000) <BR>說明:當應用程式從系統請求可用的用戶埠數時,該參數控制所使用的最大埠數.正常情況下,短期埠的分配數量為1024-5000.將該參數設置到有效範圍以外時,就會使用最接近的有效數值(5000或65534).使用NAT時建議把值放大點. <BR>16.修改MAC地址 <BR>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ <BR>找到右視窗的說明為"網卡"的目錄, <BR>比如說是{4D36E972-E325-11CE-BFC1-08002BE10318} <BR>展開之,在其下的0000,0001,0002...的分支中找到"DriverDesc"的鍵值為你網卡的說明,比如說"DriverDesc"的值為"Intel(R) 82559 Fast Ethernet LAN on Motherboard"然後在右視窗新建一字串值,名字為"Networkaddress",內容為你想要的MAC值,比如說是"004040404040"然後重啟動電腦,ipconfig /all看看. <BR>17.防止密碼被DUMP,你只需在服務裏面關掉Remote regisitery services <BR><BR>
ufree 发表于 2004-11-10 04:59:20 | 显示全部楼层
能学到很多东西呢
opopop 发表于 2004-11-10 05:29:34 | 显示全部楼层
晕了,,,,,,
您需要登录后才可以回帖 登录 | 註冊

本版积分规则

快速
回复
返回
列表
返回
顶部