Win2003 Server的安全性較之Win2K確實有了很大的提高,但是用Win2003 Server作為服務器是否就真的安全了?如何才能打造一個安全的個人Web服務器?下面我們簡單介紹一下…… 一、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設置-安全設置-賬戶策略-賬戶鎖定策略,將賬戶設為“三次登陸無效”,“鎖定時間為30分鐘”,“復位鎖定計數設為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愛好者[/url] 七、配置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、將當前開放的端口抓圖或記錄下來,保存,方便以後對照查看是否開放了不明的端口。當然如果你能分辨每一個進程,和端口這一步可以省略。