安全性監控在 Windows Server 2008 上使用 SCW

Jesper M. Johansson

本文是根據 Windows Server 2008 的搶鮮版所撰寫。本文包含的所有資訊均有可能變更。

讓我們回溯到 2005 年,也就是 Microsoft 推出 Windows Server 2003 SP1 的那一年。這個 Service Pack 引進了 Windows 第一個角色導向的安全性管理工具:即「資訊安全設定精靈」(SCW)。Microsoft 設計 SCW 是希望將之作為縮小攻擊面工具的前驅。它的目的是要分析您實際上利用電腦做了哪些動作,

並且自動設定讓它支援您所需要的角色,同時停用目前不用的角色和服務。

Windows Server® 2008 保留了 SCW,雖然這個 SCW 更換了新的角色,也整合了新的 Windows® 防火牆,不過它仍然是進階的系統管理工具,這一點從未改變。

Windows Server 2008 還加入新的角色導向伺服器管理員工具及其同系列家族 ─ 「新增角色精靈」和「新增功能精靈」。Windows Server 2008 不是透過舊式的 [新增/移除 Windows 元件] 控制台來新增個別元件,而是使用角色管理工具來設定伺服器。Byron Hynes 在本期《TechNet Magazine》當中<透過伺服器管理員設定角色> 一文,都有討論這些工具。

「新增角色精靈」和「新增功能精靈」都是以適當的元件設定伺服器支援您所選擇的角色,它們同時也會設定內建防火牆,以確保這些角色能夠正常運作。既然如此,那還需要 SCW 做什麼?即使許多系統管理員已經不再使用 SCW 了,但對於兩種人來說,SCW 仍然是非常重要的工具。第一種是政風安全人員,這些人員是靠著 SCW,把安全性帶向下一等級。

「新增角色精靈」和「新增功能精靈」是採用預設伺服器,並且設定讓它安全支援您所要的角色和功能,而 SCW 是設定讓伺服器只支援您所要的角色和功能。另外,SCW 還兼具教學功能,有助您更加瞭解設定伺服器的方法。因此,只要以足夠的角色和功能設定伺服器之後,我強力推薦您執行 SCW。

至於第二種人,是想要瞭解各種元件之間關係的使用者。SCW 包含一組記錄角色和功能、服務以及網路連接埠之間關係的 XML 檔案。如果您有興趣瞭解各種元件的需求,SCW 是一個相當有用的工具。

在本文中,我將說明 SCW 的運作方法,以及如何利用它來保護您的伺服器。同時我也將比較 SCW 和伺服器管理員工具之間的異同。請注意,本文是改寫自我的著述《Windows Server 2008 Security Resource Kit》(Microsoft Press®,2008)。

資訊安全設定精靈概觀

一開始我要提出一些關於 Windows Server 2008 攻擊面的統計數據。在加入您個人挑選的角色和功能來設定伺服器之前,其實服務的數量就相當可觀。根據預設值,Windows Server 2008 有 105 個服務 — 其中 42 個是設為自動啟動,55 個是設為手動,另外 8 個則被停用。而全新安裝的 Windows Server 2003 R2 SP2,預設會安裝 86 個服務 — 其中 34 個是設為自動啟動,32 個是設為指定啟動,另外 20 個則被停用。

即使運用了角色隱喻 (Roles Metaphor),而且也減少了支援的預設角色,但是 Windows Server 2008 的角色數量仍然偏高,因此您在強化伺服器時,必須特別小心。SCW 會引領您針對特定的伺服器,建立自訂資訊安全設定。

SCW 在強化伺服器時,採取了與現有工具截然不同的方式。它使用角色隱喻來設定系統,讓系統支援那些角色及其他少數角色 (如果有的話)。SCW 除了與「新增角色精靈」和「新增功能精靈」一樣,可幫助您設定防火牆之外,也會停用不必要的服務,並且額外設定一些資訊安全設定。最後,「新增角色精靈」和「新增功能精靈」只能安裝和設定內建在 Windows 中的角色,但是 SCW 卻可以擴充。開發人員或系統管理員可以撰寫自訂角色或功能設定檔,並且使用 SCW 來設定任何產品。

SCW 是在您安裝伺服器應該具備的所有角色和功能之後才使用。如果您的伺服器上也有協力廠商應用程式,那麼在執行 SCW 之前,最好先安裝它們。

為了示範這個程序,我用了三個角色 (應用程式伺服器、DNS 伺服器和網頁伺服器) 和兩項功能 (Microsoft® .NET Framework 3.0 功能和 Windows 處理程序啟動服務) 來設定伺服器。雖然這不是一組特別邏輯化的角色和功能,但卻很適合這項討論。

啟動 SCW 時,請從 [系統管理工具] 功能表執行它。這時候應該會出現 [圖 1] 所示的對話方塊。

[圖 1] SCW 一開始會先訽問您要做什麼

[圖 1]** SCW 一開始會先訽問您要做什麼 **(按影像可放大)

第一步是選擇您要建立新的安全性原則、編輯或套用現有的原則,還是復原原則,讓系統回到原始設定。這些選項都相當明確,一目了然。

當您選擇建立新的安全性原則時,SCW 會以某一部電腦作為該原則必須支援的範本,建立新的原則。它會分析這部電腦,並且決定它支援哪些功能和角色,不但確保那些功能和角色都能運作,同時也確保許多不必要的功能一律停用。

SCW 可應用在原型模型上。它使用 XML 檔案來指定角色和功能的模樣,例如要安裝哪些檔案,以及要設定哪些服務等。這也是為什麼您必須在開發原則的電腦上安裝所有一切的原因。如果您有協力廠商程式在安裝時,也一起安裝了 SCW 定義,那麼這些程式將完美的整合在一起。但是,如果協力廠商程式沒有安裝 SCW 定義,您就必須手動設定它們。

正如您所見,您可以在一個系統上建立原則,然後將它套用到許多系統上。如果您要組合許多系統建立一個網路,最好先定義個別設定的主機類別,接著就可以將其中一個類別作為原型來建立原則,再將這個原則稍加修改,甚至不需修改,輕鬆套用到其他原則上。

當您在 [圖 1] 所示的對話方塊中按 [下一步] 時,精靈會詢問您要使用哪一部電腦作為新原則的基準或原型。通常您是選擇本機電腦,不過您也可以選擇遠端電腦作為原型。

在指定要用的系統之後,接下來是分析階段。SCW 會在此處列舉您所安裝的角色和功能,然後核對角色和功能的資料庫,找出相符的項目。資料庫所含的資訊有:每一個角色和功能使用哪些服務、它們需要哪些網路連接埠,另外還包括其他重要的設定資訊。分析完畢之後,您可以按一下 [檢視設定資料庫],看看「資訊安全設定精靈」找到哪些項目。請注意,這是一種唯讀檢視,提供設定電腦完整的相關資訊。其實,如果您真的有意瞭解您電腦上有哪些東西,不妨好好花時間研究這些資訊。

以 SCW 設定您的伺服器

當您按 [下一步] 時,會進入 SCW 中四個區段的第一區段:[以角色為基礎的服務設定]。您可能會注意到,在 SCW 裡面的角色 (如 [圖 2] 所示),與在「新增角色精靈」裡面的不一樣。大部分「新增角色精靈」有的角色,這裡也都會有,另外 SCW 還會提供一些「新增角色精靈」所沒有的角色。比方說,我之前所選的應用程式伺服器角色,就是「新增角色精靈」所沒有的。這是因為 SCW 所用的角色隱喻不太一樣。稍後我會在本文詳細討論這一點。

[圖 2] 使用 SCW 來選取您希望伺服器支援的角色

[圖 2]** 使用 SCW 來選取您希望伺服器支援的角色 **(按影像可放大)

這個對話方塊通常已經選好正確的角色組,您只要驗證分析所找到的是正確的角色就行了。如果有什麼問題,請檢查該角色是否已經安裝,如果沒有安裝,請先安裝好之後再重新執行 SCW。就算犯了錯,也不至於到無法收拾的地步。SCW 中的復原功能,可將原則所做的所有變更全部復原,恢復到最開始的狀態。

您在本區段所做的回答非常重要,因為它們會決定您之後在網路區段所看到的畫面。幸好偵測邏輯相當稱職,它通常都能夠選出正確的角色組。

另外也請注意,在預設的情況下,您會看到 [已安裝的角色],只要磁碟上有足夠的的位元,伺服器都會支援這些角色。這些選出來的角色是目前支援的角色。您也可以選擇查看資料庫中所有的角色,方法是從下拉式清單中選取 [所有的角色]。如果您必須使用原型伺服器來建置原則,而這個原型伺服器尚未安裝它所需的所有角色,這個方法就可以派上用場。

設定角色之後,接下來就是選取您要支援的用戶端功能。功能組與「新增功能精靈」中的功能組很類似,但是不太一樣,而且功能也比較少。同樣的,隱喻也不盡相同,而且由於 SCW 可以擴充,因此您所看到的會與「新增功能精靈」不同。

當您在 SCW 的 [用戶端功能] 頁面按 [下一步] 時,會出現 [選擇系統管理和其他選項] 對話方塊,如 [圖 3] 所示。SCW 中的選項不太適合角色或功能。它也許會提供系統管理支援,也可能只是一項服務,例如互動式服務偵測。同樣的,大部分您所需要的選項,這裡應該都已經選好了。另外還值得一提的,是下拉式功能表。下拉式功能表中的選項,與您之前所選的角色和功能相關,而它也會根據電腦的不同而改變。

[圖 3] 選取 SCW 中其他的服務和功能

[圖 3]** 選取 SCW 中其他的服務和功能 **(按影像可放大)

接下來出現的是 [選擇其他服務] 對話方塊。雖然 SCW 附隨一個龐大的服務資料庫,但並非所有的服務都會在此說明。如果 SCW 在電腦上找到的服務不在資料庫中,這些服務都會顯示在 [其他服務] 頁面上。所有內建服務應該都會說明,而且除非您有安裝協力廠商的服務,否則應該看不到這個對話方塊。

接著精靈會讓您選擇要如何處理您沒有設定的服務。如果您打算採用您所建立的原則,並且將它套用到另一部電腦,就可以使用這個選項。如果該部電腦裡的服務,與您建立原則的服務不同,SCW 必須知道要如何處理它們。其中一個選擇是不管它們,這是預設的選擇。另一個選擇是停用它們,這個做法比較安全,但可能會中斷某些作業。但如果您聽取建議,只把那些原則套用到與您建立原則的伺服器完全一樣的伺服器,那麼您在本頁所做的選擇將不會有任何關聯。

現在您已經完成 SCW 的角色設定部分,而精靈會扼要概述您所完成的動作。如 [圖 4] 所示,即使您只是接受精靈的預設值,也會對電腦的攻擊面造成顯著的影響。比方說,這部電腦不是列印伺服器,而且沒有安裝印表機,因此不可能執行列印多工緩衝處理器服務。SCW 會停用所有不必要的服務。在我們的測試伺服器上,SCW 會停用 17 個被設為自動啟動的服務,並且將 42 個手動啟動服務設為停用。雖然結果會因為您對伺服器的設定方式而有所不同,但是 SCW 絕對可以讓您輕鬆打造一個您專屬伺服器特有的原則,大幅縮小它們的攻擊面。

[圖 4] SCW 會將您所做的變更製作一份摘要

[圖 4]** SCW 會將您所做的變更製作一份摘要 **(按影像可放大)

現在您即將進入可以說是 SCW 最重要的區段:[網路功能]。在一開始的歡迎畫面之後,您會看到 [網路安全性規則] 對話方塊,如**[圖 5]** 所示。其中包含一份所有 SCW 提出的防火牆規則清單,這些都是根據您在前面區段所選的角色支援而定。

[圖 5] SCW 會列出所有它認為您需要的規則

[圖 5]** SCW 會列出所有它認為您需要的規則 **(按影像可放大)

如果在 [網路功能] 區段中沒有進一步的設定,SCW 就會建置防火牆規則,來鎖定網路介面,如此一來,只有這些角色和功能會受到支援,但是所有的用戶端都可以存取它們。不過,若要真正將伺服器的安全性最佳化,在建置伺服器隔離策略時,最好將 SCW 作為完整的一部分來使用。若要瞭解伺服器隔離 (及其鄰近的同層級 ─ 網域隔離) 的其他相關資訊,請參閱 technet.microsoft.com/network/bb545651

在《Windows Server 2008 Security Resource Kit》中,有一章專門講述如何以伺服器和網域隔離來保護網路,以及如何使用網路威脅模型來分析您的網路,以協助部署伺服器隔離。而 SCW 在這個程序佔有舉足輕重的地位。

您可以選取提出的規則,並且按一下 [編輯],對它設定限制。這時候會出現 [圖 6] 所示的對話方塊。這是其中一頁,總共有四頁,這些頁面全都可以讓您對網路規則設定額外的限制。比方說,您可以要求進行 IPsec 驗證。如果您選擇此選項,也可以只將連接埠連接到特定的端點。舉個例說,您可以設定它只接受特定主機所進行的遠端系統管理。而這正是優於「新增角色精靈」和「新增功能精靈」的主要優點。

[圖 6] SCW 容許您建置防火牆和 IPsec 規則

[圖 6]** SCW 容許您建置防火牆和 IPsec 規則 **(按影像可放大)

根據您所選的角色來建置連接安全性規則的這項功能,有兩大用途。第一,它提供重要的學習機會,讓您瞭解您的伺服器在做什麼。您甚至不需要建置伺服器,只要執行精靈、做出不同的選擇,然後看看這些選擇對稍後出現的頁面選項會產生什麼影響就行了。第二,它讓您將相當抽象的連接埠概念,與比較邏輯化的服務概念連接起來,根據系統實際的行動來設定網路限制。

一切正確無誤的話,就能夠為您的伺服器開發一個相當嚴密的設定。SCW 的 [網路功能] 區段肯定是您在建置伺服器的安全性原則時,應該花最多時間的地方。

SCW 的其餘部分,則可讓您設定稽核以及幾項登錄設定。這些參數的預設值,對於大部分的公司而言已綽綽有餘,除非您有特殊需求,否則不必在此琢磨。

建立原則之後,就可以將它儲存起來,並套用到您所使用的電腦,或者將它套用到其他電腦。您還可以使用 scwcmd.exe /transform 命令,將原則轉換為群組原則物件 (GPO)。

但是,如果原則當中有電腦特有的設定,這個動作就不一定行得通了 — 說不定還會得出很奇怪的結果。比方說,如果您在 [網路功能] 區段建立內含本機介面卡的端點限制,這個原則會被視為電腦特有,而且無法順利轉換。這是因為那些介面卡必須使用 GUID 加以指定。某電腦上的介面卡的 GUID,對另一部電腦並沒有什麼意義。

因此,您最好是依照不同的伺服器使用 SCW,以及將它用作為學習的工具。如果是大型的伺服器陣列,則可以利用 SCW 作為瞭解電腦及開發基本原則的途徑。接著您可以採用這個原則,使用您設定伺服器所用的工具 ─ 例如,群組原則或企業管理系統 (例如 Microsoft Systems Center),重新建立它。

SCW 與伺服器管理員

讀到這裡,您應該知道角色和功能所用的隱喻是不同的。SCW 中的「功能」,是指電腦以用戶端的身分所做的動作,而「角色」則是指它以伺服器的身分所做的動作。

這與伺服器管理員工具中所用的隱喻不同,伺服器管理員工具的角色是指服務與功能的集合,可視為一個單位,而功能則是支持角色的動作。基本上,伺服器管理員把角色視為您購買伺服器,要求伺服器負責的工作。功能雖然很重要,但並不是您購買伺服器的目的。這兩種隱喻以及對同一詞彙的兩種用法,很容易讓人混淆不清。所以在切換使用工具之前,一定要先仔細想清楚。

此外,伺服器管理員工具是無法擴充的,它們只能管理 Windows 所附隨的元件。相較之下,您所安裝的協力廠商程式,則可以在 SCW 加入角色和功能,您甚至可以撰寫自己的角色和功能。至於怎麼做,《擴充資訊安全設定精靈》(英文) 這本白皮書 (可在 go.microsoft.com/fwlink/?LinkId=107397 取得) 有相關的解說。

SCW 也會停用您不需要的元件。而伺服器管理員工具只負責部署您所要求的元件,不會碰電腦上的其他東西。如果您希望有人幫助您判斷哪些元件不需要,還是應該求助 SCW。

此外,雖然伺服器管理員工具和 SCW 都會設定您的網路,但 SCW 在這方面的功效要來得顯著許多。如果您要建立一套伺服器隔離策略,SCW 是一個取之不盡的資訊金礦,也是您在部署時的最佳伙伴。雖然這個主題講的是進階安全性系統管理,不過 SCW 其實是一個進階安全性工具。

最後,SCW 也會設定一些伺服器管理員工具不會設定的安全性設定。不過它們絕大多數在 Windows Server 2008 已被更有效的控制項所取代 — 或是預設都已經設定好了。

Jesper M. Johansson 是負責軟體安全性問題的安全性工程師,也是《TechNet Magazine》的特約編輯之一。他擁有 MIS 博士學位,並且在安全性領域有超過 20 年的經驗。

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.