Windows Server 2003安全最佳實踐經驗(轉)
Windows Server 2003安全最佳實踐經驗(轉)[@more@] 如果你曾經配置過Windows NT Server或是Windows 2000 Server,你也許發現這些微軟的產品預設並不是最安全的。雖然微軟提供了很多安全機制,但是依然需要你來實現它們。然而當微軟釋出Windows Server 2003的時候,改變了以往的哲學體系。新的理念是,伺服器預設就應該是安全的。這的確是一個不錯的理念,不過微軟貫徹得還不夠徹底。雖然預設的 Windows 2003安裝絕對比確省的Windows NT或 Windows 2000安裝安全許多,但是它還是存在著一些不足。下面讓我們來討論如何讓Windows Server 2003更加安全。
理解你的角色
理解伺服器角色絕對是安全程式中不可或缺的一步。Windows Server可以被配置為多種角色,Windows Server 2003 可以作為域控制器、成員伺服器、基礎設施伺服器、檔案伺服器、列印伺服器、IIS伺服器、IAS伺服器、終端伺服器等等。一個伺服器甚至可以被配置為上述角色的組合。
現在的問題是每種伺服器角色都有相應的安全需求。例如,如果你的伺服器將作為IIS伺服器,那麼你將需要開啟IIS服務。然而,如果伺服器將作為獨立的檔案或者列印伺服器,啟用IIS服務則會帶來巨大的安全隱患。
我之所以在這裡談到這個的原因是我不能給你一套在每種情況下都適用的步驟。伺服器的安全應該隨著伺服器角色和伺服器環境的改變而改變。
因為有很多強化伺服器的方法,所以我將以配置一個簡單但安全的檔案伺服器為例來論述配置伺服器安全的可行性步驟。我將努力指出當伺服器角色改變時你將要做的。請諒解這並不是一個涵蓋每種角色伺服器的完全指南。
物理安全
為了實現真正意義上的安全,你的伺服器必須被放置在一個安全的位置。通常地,這意味著將將伺服器放置在上了鎖的門後。物理安全是相當重要的,因為現有的許多管理和災難恢復工具同樣也可以被駭客利用。任何擁有這樣工具的人都能在物理接入到伺服器的時候攻擊伺服器。唯一能夠避免這種攻擊的方法是將伺服器放置在安全的地點。對於任何角色的Windows Server 2003,這都是必要的。
建立基線
除了建立良好的物理安全以外,我能給你的最佳建議是,在配置一系列Windows Server 2003的時候,應該確定你的安全需求策略,並立即部署和執行這些策略 。
實現這一目的最好的方法是建立一個安全基線(security baseline)。安全基線是文件和公認安全設定的清單。在大多數情況下,你的基線會隨著伺服器角色的不同而產生區別。因此你最好建立幾個不同的基線,以便將它們應用到不同型別的伺服器上。例如,你可以為檔案伺服器制定一個基線,為域控制器制定另一個基線,併為IAS伺服器制定一個和前兩者都不同的基線。
Windows 2003包含一個叫"安全配置與分析"的工具。這個工具讓你可以將伺服器的當前安全策略與模板檔案中的基線安全策略相比較。你可以自行建立這些模板或是使用內建的安全模板。
安全模板是一系列基於文字的INF檔案,被儲存在%SYSTEMROOT%SECURITY|TEMPLATES 資料夾下。檢查或更改這些個體模板最簡單的方法是使用管理控制檯(MMC)。
要開啟這個控制檯,在RUN提示下輸入MMC命令,在控制檯載入後,選擇新增/刪除管理單元屬性命令,Windows就會顯示新增/刪除管理單元列表。點選"新增"按鈕,你將會看到所有可用管理單元的列表。選擇安全模板管理單元,接著依次點選新增,關閉和確認按鈕。
在安全模板管理單元載入後,你就可以察看每一個安全模板了。在遍歷控制檯樹的時候,你會發現每個模板都模仿組策略的結構。模板名反映出每個模板的用途。例如,HISECDC模板就是一個高安全性的域控制器模板。
如果你正在安全配置一個檔案伺服器,我建議你從SECUREWS模板開始。在審查所有的模板設定時,你會發現儘管模板能被用來讓伺服器更加安全,但是不一定能滿足你的需求。某些安全設定可能過於嚴格或過於鬆散。我建議你修改現有的設定,或是建立一個全新的策略。透過在控制檯中右擊C: WINDOWSSecurityTemplates資料夾並在目標選單中選擇新建模板命令,你就可以輕輕鬆鬆地建立一個新的模板。
在建立了符合需求的模板後,回到新增/刪除管理單元屬性皮膚,並新增一個安全配置與分析的管理單元。在這個管理單元載入後,右擊"安全配置與分析"容器,接著在結果選單中選擇"開啟資料庫"命令,點選"開啟"按鈕,你可以使用你提供的名稱來建立必要的資料庫。
接下來,右擊"安全配置與分析"容器並在快捷選單中選擇"匯入模板"命令。你將會看到所有可用模板的列表。選擇包含你安全策略設定的模板並點選開啟。在模板被匯入後,再次右擊"安全配置與分析"容器並在快捷選單中選擇"現在就分析計算機"命令。Windows將會提示你寫入錯誤日誌的位置,鍵入檔案路徑並點選"確定"。
在這樣的情況下,Windows將比較伺服器現有安全設定和模板檔案裡的設定。你可以透過"安全配置與分析控制檯"看到比較結果。每一條組策略設定顯示現有的設定和模板設定。
在你可以檢查差異列表的時候,就是執行基於模板安全策略的時候了。右擊"安全配置與分析"容器並從快捷選單中選擇"現在就配置計算機"命令。這一工具將會立即修改你計算機的安全策略,從而匹配模板策略。
組策略實際上是層次化的。組策略可以被應用到本地計算機級別、站點級別、域級別和OU級別。當你實現基於模板的安全之時,你正在在修改計算機級別的組策略。其他的組策略不會受到直接影響,儘管最終策略可能會反映變化,由於計算機策略設定被更高階別的策略所繼承。
修改內建的使用者賬號
多年以來,微軟一直在強調最好重新命名Administrator賬號並禁用Guest賬號,從而實現更高的安全。在Windows Server 2003中,Guest 賬號是預設禁用的,但是重新命名Administrator賬號仍然是必要的,因為駭客往往會從Administrator賬號入手開始進攻。
有很多工具透過檢查賬號的SID來尋找賬號的真實名稱。不幸的是,你不能改變使用者的SID,也就是說基本上沒有防止這種工具來檢測 Administrator賬號真實名稱的辦法。即便如此,我還是鼓勵每個人重新命名Administrator 賬號並修改賬號的描述資訊,有兩個原因:
首先,誑橢械男率摯贍懿恢?勒飫喙ぞ叩拇嬖諢蛘卟換崾褂盟?恰F浯危?孛?鸄dministrator賬號為一個獨特的名稱讓你能更方便的監控駭客對此賬號的進攻。
另一個技巧適用於成員伺服器。成員伺服器有他們自己的內建本地管理員賬號,完全獨立於域中的管理員賬號。你可以配置每個成員伺服器使用不同的使用者名稱和密碼。如果某人猜測出你的本地使用者名稱和密碼,你肯定不希望他用相同的賬號侵犯其他的伺服器。當然,如果你擁有良好的物理安全,誰也不能使用本地賬號取得你伺服器的許可權。
服務賬號
Windows Server 2003在某種程度上最小化服務賬號的需求。即便如此,一些第三方的應用程式仍然堅持傳統的服務賬號。如果可能的話,儘量使用本地賬號而不是域賬號作為服務賬號,因為如果某人物理上獲得了伺服器的訪問許可權,他可能會轉儲伺服器的LSA機密,並洩露密碼。如果你使用域密碼,森林中的任何計算機都可以透過此密碼獲得域訪問許可權。而如果使用本地賬戶,密碼只能在本地計算機上使用,不會給域帶來任何威脅。
系統服務
一個基本原則告訴我們,在系統上執行的程式碼越多,包含漏洞的可能性就越大。你需要關注的一個重要安全策略是減少執行在你伺服器上的程式碼。這麼做能在減少安全隱患的同時增強伺服器的效能。
在Windows 2000中,預設執行的服務有很多,但是有很大一部分服務在大多數環境中並派不上用場。事實上,Windows 2000的預設安裝甚至包含了完全操作的IIS伺服器。而在Windows Server 2003中,微軟關閉了大多數不是絕對必要的服務。即使如此,還是有一些有爭議的服務預設執行。
其中一個服務是分散式檔案系統(DFS)服務。DFS服務起初被設計簡化使用者的工作。DFS允許管理員建立一個邏輯的區域,包含多個伺服器或分割槽的資源。對於使用者,所有這些分散式的資源存在於一個單一的資料夾中。
我個人很喜歡DFS,尤其因為它的容錯和可伸縮特性。然而,如果你不準備使用DFS,你需要讓使用者瞭解檔案的確切路徑。在某些環境下,這可能意味著更強的安全性。在我看來,DFS的利大於弊。
另一個這樣的服務是檔案複製服務(FRS)。FRS被用來在伺服器之間複製資料。它在域控制器上是強制的服務,因為它能夠保持SYSVOL資料夾的同步。對於成員伺服器來說,這個服務不是必須的,除非執行DFS。
如果你的檔案伺服器既不是域控制器,也不使用DFS,我建議你禁用FRS服務。這麼做會減少駭客在多個伺服器間複製惡意檔案的可能性。
另一個需要注意的服務是Print Spooler服務(PSS)。該服務管理所有的本地和網路列印請求,並在這些請求下控制所有的列印工作。所有的列印操作都離不開這個服務,它也是預設被啟用的。
不是每個伺服器都需要列印功能。除非伺服器的角色是列印伺服器,你應該禁用這個服務。畢竟,專用檔案伺服器要列印服務有什麼用呢?通常地,沒有人會在伺服器控制檯工作,因此應該沒有必要開啟本地或網路列印。
我相信通常在災難恢復操作過程中,列印錯誤訊息或是事件日誌都是十分必要的。然而,我依然建議在非列印伺服器上簡單的關閉這一服務。
信不信由你,PSS是最危險的Windows元件之一。有不計其數的木馬更換其可執行檔案。這類攻擊的動機是因為它是統級的服務,因此擁有很高的特權。因此任何侵入它的木馬能夠獲得這些高階別的特權。為了防止此類攻擊,還是關掉這個服務吧。
理解你的角色
理解伺服器角色絕對是安全程式中不可或缺的一步。Windows Server可以被配置為多種角色,Windows Server 2003 可以作為域控制器、成員伺服器、基礎設施伺服器、檔案伺服器、列印伺服器、IIS伺服器、IAS伺服器、終端伺服器等等。一個伺服器甚至可以被配置為上述角色的組合。
現在的問題是每種伺服器角色都有相應的安全需求。例如,如果你的伺服器將作為IIS伺服器,那麼你將需要開啟IIS服務。然而,如果伺服器將作為獨立的檔案或者列印伺服器,啟用IIS服務則會帶來巨大的安全隱患。
我之所以在這裡談到這個的原因是我不能給你一套在每種情況下都適用的步驟。伺服器的安全應該隨著伺服器角色和伺服器環境的改變而改變。
因為有很多強化伺服器的方法,所以我將以配置一個簡單但安全的檔案伺服器為例來論述配置伺服器安全的可行性步驟。我將努力指出當伺服器角色改變時你將要做的。請諒解這並不是一個涵蓋每種角色伺服器的完全指南。
物理安全
為了實現真正意義上的安全,你的伺服器必須被放置在一個安全的位置。通常地,這意味著將將伺服器放置在上了鎖的門後。物理安全是相當重要的,因為現有的許多管理和災難恢復工具同樣也可以被駭客利用。任何擁有這樣工具的人都能在物理接入到伺服器的時候攻擊伺服器。唯一能夠避免這種攻擊的方法是將伺服器放置在安全的地點。對於任何角色的Windows Server 2003,這都是必要的。
建立基線
除了建立良好的物理安全以外,我能給你的最佳建議是,在配置一系列Windows Server 2003的時候,應該確定你的安全需求策略,並立即部署和執行這些策略 。
實現這一目的最好的方法是建立一個安全基線(security baseline)。安全基線是文件和公認安全設定的清單。在大多數情況下,你的基線會隨著伺服器角色的不同而產生區別。因此你最好建立幾個不同的基線,以便將它們應用到不同型別的伺服器上。例如,你可以為檔案伺服器制定一個基線,為域控制器制定另一個基線,併為IAS伺服器制定一個和前兩者都不同的基線。
Windows 2003包含一個叫"安全配置與分析"的工具。這個工具讓你可以將伺服器的當前安全策略與模板檔案中的基線安全策略相比較。你可以自行建立這些模板或是使用內建的安全模板。
安全模板是一系列基於文字的INF檔案,被儲存在%SYSTEMROOT%SECURITY|TEMPLATES 資料夾下。檢查或更改這些個體模板最簡單的方法是使用管理控制檯(MMC)。
要開啟這個控制檯,在RUN提示下輸入MMC命令,在控制檯載入後,選擇新增/刪除管理單元屬性命令,Windows就會顯示新增/刪除管理單元列表。點選"新增"按鈕,你將會看到所有可用管理單元的列表。選擇安全模板管理單元,接著依次點選新增,關閉和確認按鈕。
在安全模板管理單元載入後,你就可以察看每一個安全模板了。在遍歷控制檯樹的時候,你會發現每個模板都模仿組策略的結構。模板名反映出每個模板的用途。例如,HISECDC模板就是一個高安全性的域控制器模板。
如果你正在安全配置一個檔案伺服器,我建議你從SECUREWS模板開始。在審查所有的模板設定時,你會發現儘管模板能被用來讓伺服器更加安全,但是不一定能滿足你的需求。某些安全設定可能過於嚴格或過於鬆散。我建議你修改現有的設定,或是建立一個全新的策略。透過在控制檯中右擊C: WINDOWSSecurityTemplates資料夾並在目標選單中選擇新建模板命令,你就可以輕輕鬆鬆地建立一個新的模板。
在建立了符合需求的模板後,回到新增/刪除管理單元屬性皮膚,並新增一個安全配置與分析的管理單元。在這個管理單元載入後,右擊"安全配置與分析"容器,接著在結果選單中選擇"開啟資料庫"命令,點選"開啟"按鈕,你可以使用你提供的名稱來建立必要的資料庫。
接下來,右擊"安全配置與分析"容器並在快捷選單中選擇"匯入模板"命令。你將會看到所有可用模板的列表。選擇包含你安全策略設定的模板並點選開啟。在模板被匯入後,再次右擊"安全配置與分析"容器並在快捷選單中選擇"現在就分析計算機"命令。Windows將會提示你寫入錯誤日誌的位置,鍵入檔案路徑並點選"確定"。
在這樣的情況下,Windows將比較伺服器現有安全設定和模板檔案裡的設定。你可以透過"安全配置與分析控制檯"看到比較結果。每一條組策略設定顯示現有的設定和模板設定。
在你可以檢查差異列表的時候,就是執行基於模板安全策略的時候了。右擊"安全配置與分析"容器並從快捷選單中選擇"現在就配置計算機"命令。這一工具將會立即修改你計算機的安全策略,從而匹配模板策略。
組策略實際上是層次化的。組策略可以被應用到本地計算機級別、站點級別、域級別和OU級別。當你實現基於模板的安全之時,你正在在修改計算機級別的組策略。其他的組策略不會受到直接影響,儘管最終策略可能會反映變化,由於計算機策略設定被更高階別的策略所繼承。
修改內建的使用者賬號
多年以來,微軟一直在強調最好重新命名Administrator賬號並禁用Guest賬號,從而實現更高的安全。在Windows Server 2003中,Guest 賬號是預設禁用的,但是重新命名Administrator賬號仍然是必要的,因為駭客往往會從Administrator賬號入手開始進攻。
有很多工具透過檢查賬號的SID來尋找賬號的真實名稱。不幸的是,你不能改變使用者的SID,也就是說基本上沒有防止這種工具來檢測 Administrator賬號真實名稱的辦法。即便如此,我還是鼓勵每個人重新命名Administrator 賬號並修改賬號的描述資訊,有兩個原因:
首先,誑橢械男率摯贍懿恢?勒飫喙ぞ叩拇嬖諢蛘卟換崾褂盟?恰F浯危?孛?鸄dministrator賬號為一個獨特的名稱讓你能更方便的監控駭客對此賬號的進攻。
另一個技巧適用於成員伺服器。成員伺服器有他們自己的內建本地管理員賬號,完全獨立於域中的管理員賬號。你可以配置每個成員伺服器使用不同的使用者名稱和密碼。如果某人猜測出你的本地使用者名稱和密碼,你肯定不希望他用相同的賬號侵犯其他的伺服器。當然,如果你擁有良好的物理安全,誰也不能使用本地賬號取得你伺服器的許可權。
服務賬號
Windows Server 2003在某種程度上最小化服務賬號的需求。即便如此,一些第三方的應用程式仍然堅持傳統的服務賬號。如果可能的話,儘量使用本地賬號而不是域賬號作為服務賬號,因為如果某人物理上獲得了伺服器的訪問許可權,他可能會轉儲伺服器的LSA機密,並洩露密碼。如果你使用域密碼,森林中的任何計算機都可以透過此密碼獲得域訪問許可權。而如果使用本地賬戶,密碼只能在本地計算機上使用,不會給域帶來任何威脅。
系統服務
一個基本原則告訴我們,在系統上執行的程式碼越多,包含漏洞的可能性就越大。你需要關注的一個重要安全策略是減少執行在你伺服器上的程式碼。這麼做能在減少安全隱患的同時增強伺服器的效能。
在Windows 2000中,預設執行的服務有很多,但是有很大一部分服務在大多數環境中並派不上用場。事實上,Windows 2000的預設安裝甚至包含了完全操作的IIS伺服器。而在Windows Server 2003中,微軟關閉了大多數不是絕對必要的服務。即使如此,還是有一些有爭議的服務預設執行。
其中一個服務是分散式檔案系統(DFS)服務。DFS服務起初被設計簡化使用者的工作。DFS允許管理員建立一個邏輯的區域,包含多個伺服器或分割槽的資源。對於使用者,所有這些分散式的資源存在於一個單一的資料夾中。
我個人很喜歡DFS,尤其因為它的容錯和可伸縮特性。然而,如果你不準備使用DFS,你需要讓使用者瞭解檔案的確切路徑。在某些環境下,這可能意味著更強的安全性。在我看來,DFS的利大於弊。
另一個這樣的服務是檔案複製服務(FRS)。FRS被用來在伺服器之間複製資料。它在域控制器上是強制的服務,因為它能夠保持SYSVOL資料夾的同步。對於成員伺服器來說,這個服務不是必須的,除非執行DFS。
如果你的檔案伺服器既不是域控制器,也不使用DFS,我建議你禁用FRS服務。這麼做會減少駭客在多個伺服器間複製惡意檔案的可能性。
另一個需要注意的服務是Print Spooler服務(PSS)。該服務管理所有的本地和網路列印請求,並在這些請求下控制所有的列印工作。所有的列印操作都離不開這個服務,它也是預設被啟用的。
不是每個伺服器都需要列印功能。除非伺服器的角色是列印伺服器,你應該禁用這個服務。畢竟,專用檔案伺服器要列印服務有什麼用呢?通常地,沒有人會在伺服器控制檯工作,因此應該沒有必要開啟本地或網路列印。
我相信通常在災難恢復操作過程中,列印錯誤訊息或是事件日誌都是十分必要的。然而,我依然建議在非列印伺服器上簡單的關閉這一服務。
信不信由你,PSS是最危險的Windows元件之一。有不計其數的木馬更換其可執行檔案。這類攻擊的動機是因為它是統級的服務,因此擁有很高的特權。因此任何侵入它的木馬能夠獲得這些高階別的特權。為了防止此類攻擊,還是關掉這個服務吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-955498/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server安全設定最佳實踐SQSQLServer
- 企業安全實踐經驗分享
- HTTPS安全最佳實踐HTTP
- Dockerfile 安全最佳實踐Docker
- MongoDB最佳安全實踐MongoDB
- Windows DHCP最佳實踐(四)Windows
- SQL Server Integration Services最佳實踐BTSQLServer
- Kubernetes 最佳安全實踐指南
- Windows Server安全配置WindowsServer
- 檢視windows server 2003 是32位還是64位WindowsServer
- 能否在Windows Server 2003上載入Oracle 8XIWindowsServerOracle
- Windows XP系統和Windows Server 2003系統原始碼遭洩露WindowsServer原始碼
- 7個API安全最佳實踐API
- 實現容器安全管理的最佳實踐
- 簡訊驗證碼“最佳實踐”
- Spring Boot 安全性最佳實踐Spring Boot
- SpringBoot微服務安全最佳實踐 - piotrminkowskiSpring Boot微服務
- 雲中SQL Server高可用性最佳實踐SQLServer
- HTTP/2之伺服器推送(Server Push)最佳實踐HTTP伺服器Server
- 資料庫安全最佳實踐:基本指南資料庫
- Python將字串轉為字典最佳實踐Python字串
- 驗證Kubernetes YAML的最佳實踐和策略YAML
- mock server 實踐MockServer
- Kubernetes(k8s)部署安全最佳實踐K8S
- [轉帖]JVM記憶體配置最佳實踐JVM記憶體
- Scrum與OKR融合實踐經驗分享ScrumOKR
- Windows Server 2022 上高階安全 Windows Defender 防火牆WindowsServer防火牆
- TensorFlow搭建神經網路最佳實踐樣例神經網路
- Java最佳實踐經驗第1條:用靜態工廠方法代替構造器Java
- 雲端儲存安全標準和最佳實踐
- MySQL 2003 - Can’t connect to MySQL server on (10060)MySqlServer
- server2003安裝金鑰 server金鑰序列號Server
- windows 2003 禁止UDP的batWindowsUDPBAT
- Sobol 序列並行化的實踐經驗並行
- 谷歌機器學習43條規則:機器學習工程的最佳實踐經驗谷歌機器學習
- vivo 短影片體驗與成本最佳化實踐
- 轉轉業務資料校驗平臺實踐分享
- AutoMapper 最佳實踐APP
- 《.NET最佳實踐》