觀點

從Windows 2003到2008的安全秘笈

2009 / 01 / 06
iseditor
從Windows 2003到2008的安全秘笈

深度防禦一直是資安專家所歌頌讚揚的理念,我們應該在每一個電腦網路的組成基礎上,作最基本的防禦措施。

當防火牆、IDS/IPS與安全稽核級惡意軟體掃瞄已經是網路與電腦安全的基礎關鍵工具,回過頭來看,固守你的電腦伺服器才是扞衛你商務營運的第一道門檻。
駭客通常透過一些未使用到的網路埠與服務獲取你電腦的權限,像是IIS等。我們要做的第一步就是將這些可能的進入點最小化,透過關閉一些不使用的網路埠與服務以及通訊協定來保障你的第一道防線。
微軟最近已經公布了Windows Server 2008,但是主流的作業系統以及大多數用戶還是使用Server 2003,雖然2003不是最新也不是最好安全作業系統,但是你可以採取一些基本的安全設定來強化他的安全。

第1步,從最源頭思考
建立一個安全的伺服器必須從他安裝的時候就有這樣的念頭。必須在隔離的網路區段來進行新的伺服器安裝,可以隔絕有惡意的網路流量,直到作業系統的自我武裝防禦開啟。
在安裝的初期,你必須選擇伺服器所有的磁碟檔案系統使用NTFS,
FAT是微軟早其所使用的檔案系統,而NTFS擁有更高的安全性與安全功能,包含存取控制列表(ACL)以及檔案系統歷程紀錄,可以記錄檔案變動與確保主要檔案系統的正常與異常修復。
下一步則是安裝最新的更新檔案,包含SP2以及最新的更新檔案,可以避免掉已知的系統弱點、防止遭受阻斷服務攻擊、遠端程式碼執行與跨網站腳本攻擊等。

第2步,設定你的安全政策
接下來你就得真的嚴肅面對這個步驟,因為粉多人經常忽略掉或者設定不完整,最簡單的強化Windows Server 2003的方式就是使用伺服器組態精靈(SCW, Server Configuration Wizard ),他可以幫助你制訂出基本的安全政策以及決定這台伺服器在網路上的角色。
伺服器組態精靈不做伺服器元件的安裝,他只協助你偵測網路埠與服務,以及設定註冊機碼和稽核設定。
但是伺服器組態精靈預設並不會安裝,你要透過控制台的新增移除程式來做安裝,選擇新增或移除Windows元件後,再選擇伺服器組態精靈,這樣之後就可以使用他來做管理動作。
透過伺服器組態精靈所制定的安全政策,包含服務組態、網路安全設定與特殊機碼及稽核政策是以XML格式存放,如果你有安裝IIS網站伺服器,他也可以管理網站的安全政策,你就可以使用已經設定好的XML檔案,套用在所有你要變更的伺服器上,這樣可以節省很多管理成本。如果發生新舊政策的衝突,你也可以取消套用並回復舊貌(roll-back)。
基本上伺服器組態精靈已經涵蓋了所有 Windows Server 2003的安全管理功能,他是透過一個安全組態資料庫(Security Configuration Database)來存放所有的角色、用戶設定、管理選項、服務與網路埠的相關資訊。而且這個資料庫可以提供給其他應用軟體使用,如果其他應用系統需要這些資訊進行像伺服器角色、用戶功能、自動更新、備份和Windows Firewall這些相關訊息,都可以透過這個組態資料庫作交換。例如你要設定某個應用系統執行時可以開放某個網路埠,等到該應用系統結束運作,該網路埠也會自動被關閉。
再來是關閉一些不需要的網路通訊協定,像是專門用來做網路與註冊機碼傳輸的 Server Message Block (SMB),他有一些安全簽章的功能,可以保護重要伺服器的安全設定不會被竄改,包含頻道外(Outbound)的身分鑑別設定,可以決定這些外部資訊可以被取用的等級。
最後,可以透過伺服器組態精靈來做稽核政策的管理,Server 2003他的預設稽核規則是僅針對成功完成的動作進行稽核記錄,但是一個安全的伺服器必須要將失敗的錯誤或嘗試一併記錄。透過SCW完成設定之後,記得把這些安全政策備份下來,你可以在其他地方做應用。趕快檢查你的伺服器做了沒?

第3步,將不用的帳號、網路埠與服務關閉或刪除
在系統安裝之時,會有3個預設帳號被新增,包含Administrator、Guest、HelpAssistant,其中HelpAssistant大家比較沒印象,是用來做遠端協助使用的,而Administrator帳號是最危險的,等於是整個電腦的主宰者,應該要被改一個名稱讓入侵者比較難用暴力破解以及猜測。
而且,你應該將管理權限授與一個獨立的用戶帳號或者是一個群組(group),這樣入侵者就還得花時間去猜出哪個是管理者或者具管理權限的群組,這可是面對稽核人員最重大的必要作為,如果每個IT人員都有管理者權限可以登入伺服器,那肯定是一個重大(Major)缺失,最好就是把 Administrator 改成一個很難猜到的名稱,然後不要給每個人都知道。
相同的,Guest與HelpAssistant帳號也是入侵者垂涎的目標之一,你可以透過控制台管理者工具中的電腦管理選項將之關閉或更名,如果能透過網域主動目錄控制器來做,就可以一次搞定整個網域上其他的帳號設定。
一般來說,你的伺服器只要有開網路埠(ports)就有風險,總共有 65,5352的機會,在SP1中已將透過防火牆把不需要的網路埠全部關閉,包含TCP與UDP流量都無法透通,網路埠可以分成三大群,一個是well-known ports (0-1023)以及registered ports (1024-49151)和dynamic/private ports (49152-65535),對於作業系統而言大多數的服務都是在1023下的埠號,而1024-49151則是給應用系統使用,其餘的沒有限制。
你可以使用一些工具來確認哪些網路埠式開放的,像是Nmap(www.nmap.org or www.insecure.org),而SCW則是預設關閉所有的網路埠,你如果要知道哪些網路埠號碼的資訊,可以參考www.iana.org/assignments/port-numbers。最有效的伺服器強化其實就是不要在上面安裝應用程式,不過那是辦不到的,因此你必須自己了解哪些不使用的服務應該要被關閉,如果你又習慣不好在伺服器上面還裝一些收信軟體等,那就是自討苦吃。Windows Server 2003有超過一百種服務可以被關閉,像是DHCP Server不是每一台都需要使用,你就可以關掉tcpsvcs.exe,但是像Remote Procedure Call (RPC)就沒辦法說關就關,因為它可是重要的通訊協定。

第4步,實體安全防護與適當的門禁
你以為把電源開啟之後,電腦安全就等於網路上存取的安全嗎?如果你們有適當地管理伺服器的實體安全,很可能會有窮兇極惡的入侵者,直接用其他裝置重新開機,更改BIOS設定後,你還是被入侵了。
記得把BIOS 用密碼鎖起來,然後移除所有不需要的開機裝置順序(如光碟、外接磁碟或USB等),如果可以記得把硬碟也用密碼鎖起來,你不知到哪天硬碟會被偷走。同樣的,我們也要防護開機狀態下可能被放入光碟誘發自動執行(Autorun),所以請從註冊機碼將其關閉。作法是將HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom的數值改為0。因為Autorun可以用來安裝一些惡意程式、鍵盤側錄等。
接著,你要考慮用戶如何登入到系統中的身分辨識方法,像是生物特徵、token、智慧卡或動態密碼,但是大多數人還是僅用帳號與密碼,甚至都家都知道的一組密碼: p@55w0rd。如果不小心被我猜中,那表示你該換密碼了。如果你僅有密碼而沒有其他認證方式可以採用,要記得限制密碼的複雜度。登入僅是一個開端,你還有NTFS所提供的ACL可以做第二層的防禦,可以針對各別檔案作權限管理與限制,當然" Everyone"是要被避免的設定方式。
對於註冊機碼的限制要小心有些應用系統需要存取他,原則上封鎖例外開放會是一個比較合乎現況的做法。

第5步,堅持下去
保護重要伺服器是要持之以恆的,不要認為這只是一兩天設定後就可以高枕無憂,切記以下箴言:
確立嚴謹的稽核與記錄政策:針對異常的行為應該要有機合記錄的機制,這是你可以發現問題的先決條件,所以必須開啟嚴謹的稽核記錄設定。當然,現在法規要求之下,沒做好可是會違法罰錢甚至坐牢的。 各種稽核記錄包含應用系統、安全事件、目錄服務、檔案複製與DNS服務等,可以透過事件檢視器做瀏覽,了解軟硬體與系統是否有異狀。
建立一個基本款的備份:任何意外都無法預期,因此建議你在完成安裝時,就進行一個基本底限(baseline)的備份。這樣可以確保將來在需要緊急救援時可以使用,在做調查與鑑識時也有一個可以比較的基礎。
隨時注意系統帳號:管理系統帳號是必須定期檢查的,定期把不用的帳號清除或停用,刪除掉那些臨時用途的測試帳號。
記得要更新:系統更新每個月都會在第二個星期定期發佈,你可以透過自動化更新來進行,但是還是得定期檢查一下是不是有確實完成,還有要小心一些更新完成之後會需要重新啟動電腦才能生效。

Windows Server 2008 安全功能速速看
Windows Server 2008在安全上有顯著的強化,包含以下:
1. 對於服務的控制更加嚴謹: 預設安裝的服務已經最少化,少了很多惡意攻擊的目標,對於服務管理有機照不同程度分為六個等級的帳戶提供合理的控制。
2. 更好的稽核記錄管理: 新改版的事件檢視器(Event Viewer)提供更好用的稽核記錄與追蹤管理功能,你可以從不同電腦收集稽核記錄,而且可以輸出為XML檔案可以最為進階分析之用。
3. 資料保護: 透過 BitLocker Drive Encryption加密保護整個作業系統區塊,以及可以保護Windows開機過程正確性的檢驗功能。
4. 提供NAP端點防護: Windows Server 2008 提供了Network Access Protection (NAP)端點防護功能,可以檢查電腦是否符合公司安全政策與法規再決定要不要讓他連上網路或是進入隔離區。