加固基于Windows 2003平臺的WEB服務器
加固基于Windows 2003平臺的WEB服務器
基于Windows平臺下IIS運行的網站總給人一種感覺就是脆弱。早期的IIS確實存在很多問題,不過我個人認為自從Windows Server 2003發布后,IIS6及Windows Server 2003新的安全特性、更加完善的管理功能和系統的穩定性都有很大的增強。雖然從Windows Server 2003上可以看到微軟不準備再發展ASP,特別是不再對Access數據庫的完好支持,但是面對它的那些優勢迫使我不得不舍棄Windows 2000 Server。況且我也不需要運行太多的ASP+Access,因為我的程序都是PHP+MySQL(說實話我不喜歡微軟的ASP和ASPNET),而且我確實信賴Windows Server 2003!
服務器、網站,看到這些詞大家都會想到什么,不只是性能更加關注的是它的安全問題。很多人都無法做到非常完美的安全加固,因為大部分的資料都來源互聯網,而互聯網的資料總不是那么詳盡,畢竟每個服務器的應用環境及運行程序不同。
我從事互聯網這個行業只有2年時間,其間遇到了很多問題,我所管理的服務器部分是開放式(PUBLIC)的,它是向互聯網的用戶敞開的,所以我所面臨的問題就更加的多!安全性首當其要,其次是系統的穩定性,最后才是性能。要知道服務器上存在很多格式各樣的應用程序,有些程序本身就有缺陷,輕者造成服務器當機,嚴重的會危及到服務器的整個數據安全。
舉個例子,有一臺運行著300多個網站的Windows 2000 Server,一段時間里它經常Down機,發現內存泄漏特別快,幾分鐘時間內存使用立刻飆升到900M甚至高達1.2G,這個時候通過遠程是無法訪問服務器了,但是服務器系統本身卻還在運行著。這個問題著實讓我頭疼了很長一段時間,因為如果要排查故障就要從這些網站入手,而網站的數量阻礙了我的解決進度。后來通過Filemon監控文件讀取來縮小排查范圍,之后對可疑網站進行隔離,最終找到故障點并解決。要知道一段小小的代碼就可以讓運行IIS5的 Windows 2000 Server 掛掉!而在Windows Server 2003下,應用程序的級別低中高級變更為了程序池,這樣我們就可以對一個池進行設置對內存和CPU進行保護。它的這一特性讓我減輕了很多的工作量并且系統也穩定了很多。
另外嚴重的就是安全性的問題了,無論任何文章都有一個宗旨就是盡量在服務器少開放端口,并開放必要的服務,禁止安裝與服務器無關的應用程序。在 Windows 2000 Server中,目錄權限都是Everyone,很多服務都是以SYSTEM權限來運行的,如Serv-U FTP 這款出色的FTP服務器平臺曾經害苦了不少人,它的溢出漏洞可以使入侵者輕松的獲取系統完全控制權,如果做到呢?就是因為Serv-U FTP服務使用SYSTEM權限來運行,SYSTEM的權利比Administrator的權利可大的多,注冊表SAM項它是可以直接訪問和修改的,這樣入侵者便利用這一特性輕松在注冊表中克隆一個超級管理員賬號并獲取對系統的完全控制權限。
我的目標:加固WEB服務器系統,使之提高并完善其穩定性及安全性。
系統環境:Windows Server 2003 Enterprise Edition With Service Pack 1(以下簡稱W2k3SP1),WEB平臺為IIS6,FTP平臺為Serv-U FTP Server
安裝配置操作系統
安裝操作系統,在安裝前先要先去調整服務器的BIOS設置,關閉不需要的I/O,這樣節省資源又可以避免一些硬件驅動問題。務必斷開服務器與網絡的連接,在系統沒有完成安全配置前不要將它接入網絡。在安裝過程中如果網卡是PNP類型的,那么應當為其網絡屬性只配置允許使用TCP/IP協議,并關閉在 TCP/IP上的NETBIOS,為了提供更安全的保證,應該啟用TCP/IP篩選,并不開放任何TCP端口。完成操作系統的安裝后,首次啟動 W2K3SP1,會彈出安全警告界面,主要是讓你立刻在線升級系統更新補丁,并配置自動更新功能,這個人性化的功能是W2K3SP1所獨有的,在沒有關閉這個警告窗口前,系統是一個安全運行的狀態,這時我們應當盡快完成系統的在線更新。
修改Administrator和Guest這兩個賬號的密碼使其口令變的復雜,并通過組策略工具為這兩個敏感賬號更名。修改位置在組策略中Computer Configuration-Windows Settings-Security Setting-Local Policies-Security Options下,這樣做可以避免入侵者馬上發動對此賬號的密碼窮舉攻擊。
服務器通常都是通過遠程進行管理的,所以我使用系統自帶的組件 “遠程桌面”來對系統進行遠程管理。之所以選擇它,因為它是系統自帶的組件缺省安裝只需要去啟用它就可以使用,支持驅動器映射、剪切板映射等應用,并且只要客戶端是WindowsXP PRO都會自帶連接組件非常方便,最主要還有一點它是免費的。當然第三方優秀的軟件也有如:PCAnyWhere,使用它可以解決Remote Desktop無法在本地環境模式下工作的缺點。為了防止入侵者輕易地發現此服務并使用窮舉攻擊手段,可以修改遠程桌面的監聽端口:
1. 運行 Regedt32 并轉到此項:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
注意:上面的注冊表項是一個路徑;它已換行以便于閱讀。
2. 找到“PortNumber”子項,您會看到值 00000D3D,它是 3389 的十六進制表示形式。使用十六進制數值修改此端口號,并保存新值。
要更改終端服務器上某個特定連接的端口,請按照下列步驟操作: 運行 Regedt32 并轉到此項:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\connection
注意:上面的注冊表項是一個路徑;它已換行以便于閱讀。
3. 找到“PortNumber”子項,您會看到值 00000D3D,它是 3389 的十六進制表示形式。使用十六進制數值修改此端口號,并保存新值。
注意:由于在終端服務器 4.0 版中尚未完全實現備用端口功能,因此只是“在合理的限度內盡量”提供支持,如果出現任何問題,Microsoft 可能要求您將端口重設為 3389。
原文來源:微軟知識庫KB187623。當然為了達到更加安全的訪問,還可以采用IPSec來保護遠程桌面的連接訪問。
禁用不必要的服務不但可以降低服務器的資源占用減輕負擔,而且可以增強安全性。下面列出了可以禁用的服務:
Application Experience Lookup Service
Automatic Updates
BITS
Computer Browser
DHCP Client
Error Reporting Service
Help and Support
Network Location Awareness
Print Spooler
Remote Registry
Secondary Logon
Server
Smartcard
TCP/IP NetBIOS Helper
Workstation
Windows Audio
Windows Time
Wireless Configuration
打開服務器本地計算機策略(gpedit.msc),參考以下選擇和修改對服務器進行加固:
1. 設置帳號鎖定閥值為5次無效登錄,鎖定時間為30分鐘;
2. 從通過網絡訪問此計算機中刪除Everyone組;
3. 在用戶權利指派下,從通過網絡訪問此計算機中刪除Power Users和Backup Operators;
4. 為交互登錄啟動消息文本。
5. 啟用 不允許匿名訪問SAM帳號和共享;
6. 啟用 不允許為網絡驗證存儲憑據或Passport;
7. 啟用 在下一次密碼變更時不存儲LANMAN哈希值;
8. 啟用 清除虛擬內存頁面文件;
9. 禁止IIS匿名用戶在本地登錄;
10. 啟用 交互登錄:不顯示上次的用戶名;
11. 從文件共享中刪除允許匿名登錄的DFS$和COMCFG;
12. 禁用活動桌面。
強化TCP協議棧:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000001
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"TcpMaxConnectResponseRetransmissions"=dword:00000003
"TcpMaxHalfOpen"=dword:00000100
"TcpMaxHalfOpenRetried"=dword:00000080
"TcpMaxPortsExhausted"=dword:00000005
安裝和配置IIS
進入Windows組件安裝,找到應用程序服務器,進入詳細信息,勾選ASP.NET后,IIS必須的組件就會被自動選擇,如果你的服務器需要運行ASP腳本,那么還需要進入Internet信息服務(IIS)-萬維網服務下勾選Active Server Pages。完成安裝后,應當在其他邏輯分區上單獨建立一個目錄用來存儲WEB網站程序及數據。
一臺WEB服務器上都運行著多個網站,他們之間可能互不相干,所以為了起到隔離和提高安全性,需要建立一個匿名WEB用戶組,為每一個站點創建一個匿名訪問賬號,將這些匿名賬號添加到之前建立的匿名WEB用戶組中,并在本地計算機策略中禁止此組有本地登錄權限。
最后優化IIS6應用程序池設置:
1. 禁用缺省應用程序池的空閑超時;
2. 禁用緩存ISAPI擴展;
3. 將應用程序池標識從NetworlService改為LocalService;
4. 禁用快速失敗保護;
5. 將關機時間限制從
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 如何在windows上emulate不同操作系統 2024-12-05
- [電子說] 如何在虛擬機上安裝deepin系統 2024-12-05
- [電子說] deepin文件管理器問題解答 2024-12-05
- [電子說] Linux用戶管理終極指南:從基礎到進階 2024-12-04
- [電子說] 什么是虛擬內存分頁 Windows系統虛擬內存優化方法 2024-12-04
- [電子說] Linux文件壓縮打包的各種姿勢 2024-12-02
- [電子說] 高通Windows市場增速緩慢,五年目標遙不可及 2024-11-28
- [電子說] 微軟應用商店引入騰訊應用寶專區 2024-11-27
( 發表人:admin )