Windows2003網路伺服器安全攻略

一、windows server2003的安裝

1、安裝系統最少兩需要個分區,分區格式都採用ntfs格式

2、在斷開網路的情況安裝好2003系統

3、安裝iis,僅安裝必要的 iis 組件(禁用不需要的如ftp 和 smtp 服務)。默認情況下,iis服務沒有安裝,在添加/刪除win組件中選擇“應用程式伺服器”,然後點擊“詳細信息”,雙擊internet信息服務(iis),勾選以下選項:

internet 信息服務管理器;

公用檔案;

後台智慧型傳輸服務 (bits) 伺服器擴展;

全球資訊網服務。

如果你使用 frontpage 擴展的 web 站點再勾選:frontpage 2002 server extensions

4、安裝mssql及其它所需要的軟體然後進行update。

5、使用microsoft 提供的 mbsa(microsoft baseline security analyzer) 工具分析計算機的安全配置,並標識缺少的修補程式和更新。下載地址:見頁末的連結

二、設定和管理賬戶

1、系統管理員賬戶最好少建,更改默認的管理員帳戶名(administrator)和描述,密碼最好採用數字加大小寫字母加數字的上檔鍵組合,長度最好不少於14位。

2、新建一個名為administrator的陷阱帳號,為其設定最小的許可權,然後隨便輸入組合的最好不低於20位的密碼

3、將guest賬戶禁用並更改名稱和描述,然後輸入一個複雜的密碼,當然現在也有一個delguest的工具,也許你也可以利用它來刪除guest賬戶,但我沒有試過。

4、在運行中輸入gpedit.msc回車,打開組策略編輯器,選擇計算機配置-windows設定-安全設定-賬戶策略-賬戶鎖定策略,將賬戶設為“三次登入無效”,“鎖定時瀋櫛?0分鐘”,“復位鎖定計數設為30分鐘”。

5、在安全設定-本地策略-安全選項中將“不顯示上次的用戶名”設為啟用

6、在安全設定-本地策略-用戶權利分配中將“從網路訪問此計算機”中只保留internet來賓賬戶、啟動iis進程賬戶。如果你使用了asp.net還要保留aspnet賬戶。

7、創建一個user賬戶,運行系統,如果要運行特權命令使用runas命令。

三、網路服務安全管理

1、禁止c$、d$、admin$一類的預設共享

打開註冊表,hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters,在右邊的視窗中新建dword值,名稱設為autoshareserver值設為0

2、 解除netbios與tcp/ip協定的綁定

右擊網上鄰居-屬性-右擊本地連線-屬性-雙擊internet協定-高級-wins-禁用tcp/ip上的netbios

3、關閉不需要的服務,以下為建議選項

computer browser:維護網路計算機更新,禁用

distributed file system: 區域網路管理已分享檔案,不需要禁用

distributed linktracking client:用於區域網路更新連線信息,不需要禁用

error reporting service:禁止傳送錯誤報告

microsoft serch:提供快速的單詞搜尋,不需要可禁用

ntlmsecuritysupportprovide:telnet服務和microsoft serch用的,不需要禁用

printspooler:如果沒有印表機可禁用

remote registry:禁止遠程修改註冊表

remote desktop help session manager:禁止遠程協助

四、打開相應的審核策略

在運行中輸入gpedit.msc回車,打開組策略編輯器,選擇計算機配置-windows設定-安全設定-審核策略在創建審核項目時需要注意的是如果審核的項目太多,生成的事件也就越多,那么要想發現嚴重的事件也越難當然如果審核的太少也會影響你發現嚴重的事件,你需要根據情況在這二者之間做出選擇。

推薦的要審核的項目是:

登錄事件 成功 失敗

賬戶登錄事件 成功 失敗

系統事件 成功 失敗

策略更改 成功 失敗

對象訪問 失敗

目錄服務訪問 失敗

特權使用 失敗

五、其它安全相關設定

1、隱藏重要檔案/目錄

可以修改註冊表實現完全隱藏:“hkey_local_machine\software\microsoft\windows\current-version\explorer\advanced\folder\hi-dden\showall”,滑鼠右擊“checkedvalue”,選擇修改,把數值由1改為0

2、啟動系統自帶的internet連線防火牆,在設定服務選項中勾選web伺服器。

3、防止syn洪水攻擊

hkey_local_machine\system\currentcontrolset\services\tcpip\parameters

新建dword值,名為synattackprotect,值為2

4. 禁止回響icmp路由通告報文

hkey_local_machine\system\currentcontrolset\services\tcpip\parameters \interfaces\interface

新建dword值,名為performrouterdiscovery 值為0

5. 防止icmp重定向報文的攻擊

hkey_local_machine\system\currentcontrolset\services\tcpip\parameters

將enableicmpredirects 值設為0

6. 不支持igmp協定

hkey_local_machine\system\currentcontrolset\services\tcpip\parameters

新建dword值,名為igmplevel 值為0

7、禁用dcom:

運行中輸入 dcomcnfg.exe。 回車, 單擊“控制台根節點”下的“組件服務”。 打開“計算機”子資料夾。

對於本地計算機,請以右鍵單擊“我的電腦”,然後選擇“屬性”。選擇“默認屬性”選項卡。

清除“在這台計算機上啟用分散式 com”複選框。

註:3-6項內容我採用的是server2000設定,沒有測試過對2003是否起作用。但有一點可以肯定我用了一段的時間沒有發現其它副面的影響。

六、配置 iis 服務:

1、不使用默認的web站點,如果使用也要將 將iis目錄與系統磁碟分開。

2、刪除iis默認創建的inetpub目錄(在安裝系統的盤上)。

3、刪除系統盤下的虛擬目錄,如:_vti_bin、iissamples、scripts、iishelp、iisadmin、iishelp、msadc。

4、刪除不必要的iis擴展名映射。

右鍵單擊“默認web站點→屬性→主目錄→配置”,打開應用程式視窗,去掉不必要的應用程式映射。主要為.shtml, .shtm, .stm

5、更改iis日誌的路徑

右鍵單擊“默認web站點→屬性-網站-在啟用日誌記錄下點擊屬性

6、如果使用的是2000可以使用iislockdown來保護iis,在2003運行的ie6.0的版本不需要。

7、使用urlscan

urlscan是一個isapi篩選器,它對傳入的http數據包進行分析並可以拒絕任何可疑的通信量。目前最新的版本是2.5,如果是2000server需要先安裝1.0或2.0的版本。下載地址見頁未的連結

如果沒有特殊的要求採用urlscan默認配置就可以了。

但如果你在伺服器運行asp.net程式,並要進行調試你需打開要%windir%\system32\inetsrv\urlscan

資料夾中的urlscan.ini 檔案,然後在userallowverbs節添加debug謂詞,注意此節是區分大小寫的。

如果你的網頁是.asp網頁你需要在denyextensions刪除.asp相關的內容。

如果你的網頁使用了非ascii代碼,你需要在option節中將allowhighbitcharacters的值設為1

在對urlscan.ini 檔案做了更改後,你需要重啟iis服務才能生效,快速方法運行中輸入iisreset

如果你在配置後出現什麼問題,你可以通過添加/刪除程式刪除urlscan。

8、利用wis (web injection scanner)工具對整個網站進行sql injection 脆弱性掃描.

下載地址:vb.net愛好者

七、配置sql伺服器

1、system administrators 角色最好不要超過兩個

2、如果是在本機最好將身份驗證配置為win登入

3、不要使用sa賬戶,為其配置一個超級複雜的密碼

4、刪除以下的擴展存儲過程格式為:

use master

sp_dropextendedproc '擴展存儲過程名'

xp_cmdshell:是進入作業系統的最佳捷徑,刪除

訪問註冊表的存儲過程,刪除

xp_regaddmultistringxp_regdeletekeyxp_regdeletevaluexp_regenumvalues

xp_regread  xp_regwrite  xp_regremovemultistring

ole自動存儲過程,不需要刪除

sp_oacreate   sp_oadestroysp_oageterrorinfosp_oagetproperty

sp_oamethodsp_oasetpropertysp_oastop

5、隱藏 sql server、更改默認的1433連線埠

右擊實例選屬性-常規-網路配置中選擇tcp/ip協定的屬性,選擇隱藏 sql server 實例,並改原默認的1433連線埠。

八、如果只做伺服器,不進行其它操作,使用ipsec

1、管理工具—本地安全策略—右擊ip安全策略—管理ip篩選器表和篩選器操作—在管理ip篩選器表選項下點擊

添加—名稱設為web篩選器—點擊添加—在描述中輸入web伺服器—將源地址設為任何ip地址——將目標地址設為我的ip地址——協定類型設為tcp——ip協定連線埠第一項設為從任意連線埠,第二項到此連線埠80——點擊完成——點擊確定。

2、再在管理ip篩選器表選項下點擊

添加—名稱設為所有入站篩選器—點擊添加—在描述中輸入所有入站篩選—將源地址設為任何ip地址——將目標地址設為我的ip地址——協定類型設為任意——點擊下一步——完成——點擊確定。

3、在管理篩選器操作選項下點擊添加——下一步——名稱中輸入阻止——下一步——選擇阻止——下一步——完成——關閉管理ip篩選器表和篩選器操作視窗

4、右擊ip安全策略——創建ip安全策略——下一步——名稱輸入數據包篩選器——下一步——取消默認激活回響原則——下一步——完成

5、在打開的新ip安全策略屬性視窗選擇添加——下一步——不指定隧道——下一步——所有網路連線——下一步——在ip篩選器列表中選擇新建的web篩選器——下一步——在篩選器操作中選擇許可——下一步——完成——在ip篩選器列表中選擇新建的阻止篩選器——下一步——在篩選器操作中選擇阻止——下一步——完成——確定

6、在ip安全策略的右邊視窗中右擊新建的數據包篩選器,點擊指派,不需要重啟,ipsec就可生效.

九、建議

如果你按本文去操作,建議每做一項更改就測試一下伺服器,如果有問題可以馬上撤消更改。而如果更改的項數多,才發現出問題,那就很難判斷問題是出在哪一步上了。

十、運行伺服器記錄當前的程式和開放的連線埠

1、將當前伺服器的進程抓圖或記錄下來,將其保存,方便以後對照查看是否有不明的程式。

2、將當前開放的連線埠抓圖或記錄下來,保存,方便以後對照查看是否開放了不明的連線埠。當然如果你能分辨每一個進程,和連線埠這一步可以省略。