保護 SMS 的安全 (Microsoft Systems Management Server 2003 的方案和處理程序:安全強化指南)

保護 SMS 的安全

發佈日期: 2004 年 9 月 1 日

每個組織都需要評估自己可以承擔多少風險。如果不願承擔高風險,則部署 Systems Management Server (SMS) 時需要注意下列四項設定,這些是成就安全 SMS 環境的基石:

  • 將所有站台及用戶端都升級至 SMS 2003 SP1。

  • 使用進階安全性而非標準安全性。

  • 使用進階用戶端 (Advanced Client),不要用繼承用戶端 (Legacy Client)。

  • 擴充 Active Directory 架構容入 SMS,並且啟用 Active Directory 發行。

已經安裝好的 SMS 不論現行設定為何,都可隨時升級成前述設定。

important.gif  重要事項
「進階安全性」與「進階用戶端」無關。您可以設定僅啟用其一,但是為最安全的設定,應同時啟用兩者。

本頁內容

把所有站台及用戶端都升級至 SMS 2003 SP1

使用進階安全性而非標準安全性

使用進階用戶端 (Advanced Client),不要用繼承用戶端 (Legacy Client)

配合 SMS 架構及 SMS 發行部署於 Active Directory

建立安全的階層架構

提升 SMS 通訊安全性

保護 SMS 站台系統的安全

提升 SMS 功能安全性

把所有站台及用戶端都升級至 SMS 2003 SP1

SMS 2003 SP1 增加了一些新的安全性功能。

note.gif  注意
只要搜尋 "*SP" 即可找到 SMS 2003 SP1 專屬的資訊。

使用進階安全性而非標準安全性

SMS 2003 進階安全性模式會使用 SMS 伺服器上的 LocalSystem 帳戶來執行 SMS 服務或套用變更。進階安全性不用使用者帳戶,而是用電腦帳戶與其他電腦連線或套用變更。請儘量使用進階安全性模式,因為如此不但能提升 SMS 安全性至最高,也能減少安全性維護工作至最輕。只是前提要符合進階安全性模式的需求。

進階安全性的需求

要設定 SMS 2003 網路使用進階安全性,SMS 站台伺服器和所有的 SMS 站台系統都必須使用 Windows 2000 SP2 或更新,或是 Windows Server 2003 系列作業系統,隸屬於 Active Directory 網域才行,進階安全性站台不能用於 Windows NT 4.0 網域。SMS 站台資料庫伺服器則必須使用 Microsoft SQL Server™ 2000 或更新版本。

note.gif  注意
如果您從 SQL Server 7.0 升級至 SQL Server 2000 或更新,必須先重新開機再把 SMS 安全性模式改成進階安全性。這樣 SQL Server 才會通知 SMS 已經升級至有支援的版本。

階層架構裡可以混用進階與標準安全模式的站台,但是進階安全性站台的上級也必須是進階安全性站台。進階安全模式支援下列的階層配置:

  • SMS 2003 進階安全性站台隸屬於 SMS 2003 進階安全性中央站台

  • SMS 2003 標準安全性站台隸屬於 SMS 2003 進階安全性站台

  • SMS 2.0 站台隸屬於 SMS 2003 進階安全性站台

相關程序請見<附錄 E:SMS 安全性程序>的<遷移至進階安全性>。

使用進階用戶端 (Advanced Client),不要用繼承用戶端 (Legacy Client)

繼承用戶端常用到網域帳戶連往 SMS 用戶端電腦進行重要作業,例如要安裝軟體,登入的使用者帳戶權限卻不足,便使用系統管理員內容來安裝。反觀進階用戶端,則是設計使用 LocalSystem 安全性內容和電腦帳戶來執行這些作業,進而減少帳戶管理的困難。進階用戶端能夠驗證管理點訊息裡的數位簽章,以防止攻擊者從未授權管理點攔截用戶端。

建議您務必要為所有 SMS 用戶端電腦設定優先選用進階用戶端,尤其是那些使用 Windows 2000 或更新的電腦。不過 Windows NT 4.0 以及 Windows 98 用戶端就只能用繼承用戶端了。這裡因為繼承用戶端不算是最安全的環境,所以把其安全性相關討論移至<附錄 D:繼承用戶端安全性環境>。

important.gif  重要事項
SMS 2003 SP1 不會讓繼承用戶端裝進 Windows 2000 或更新的作業系統。如果您現用 Windows 2000 或更新的電腦已經裝有繼承用戶端,就必須規劃升級,作為 SMS 2003 部署計畫的一步。

配合 SMS 架構及 SMS 發行部署於 Active Directory

只要是網域環境就會比工作群組環境安全,同理,Active Directory 網域也會比 Windows NT 4.0 網域安全。

SMS 2003 並不支援工作群組。 *SPSMS 2003 SP1 對工作群組的電腦支援有限,並有條件與例外如次:

  • 工作群組支援限用進階用戶端。

  • 用戶端必須使用 NetBIOS 名稱解析。

  • 安裝 SMS 用戶端軟體需要系統管理員身分。

  • 不支援 Active Directory 探索或是目標使用者。

  • 不支援全球漫遊。

工作群組環境裡可以使用信任以及加密探索和目錄資料。 *SP

SMS 不用架構擴充模組也行,但用了可以建立更安全的環境。如果 Active Directory 架構裡含有 SMS 擴充模組,也有授與發行權限,那麼管理點就能夠在 Active Directory 發行自己的憑證和位置,用戶端也就能從可信的來源辨識出有授權的管理點。Active Directory 也能儲存跨站台資料傳輸用到的公開金鑰。若執行還原時公開金鑰有變,新的金鑰也會自動傳給上下層級的站台。

要擴充 Active Directory 架構的話,可以用 SMS 安裝程式或是用命令列工具 ExtADSch.exe,安裝 SMS 之前或之後都可以用。修改架構作業複雜,應由有經驗的程式設計師和系統管理員動手。屬性及類別一旦建立了就不能刪除,最多只能修改或停用。修改架構請依照網路變更及設定管理程序規定。關於擴充架構,請查看 [說明及支援中心]。

擴充架構及授與發行權要遵守最低權限原則

只有屬於根網域裡 Schema Admins (架構管理員) 群組的管理員才能擴充 Active Directory 架構至 SMS 2003。如果您不是 Schema Admins 群組的成員,可以請該群組成員執行 ExtADSch.exe,然後檢視 %system% 根目錄下的 ExtADSch.log。如果您是根網域的網域管理員,安裝 SMS 之前便可直接把 SMS Administrator (SMS 系統管理員) 帳戶加入Schema Admins 群組,或是使用 ExtADSch.exe;不過完成架構擴充後,依最佳實務做法要立即退出 Schema Admins 群組。

important.gif  重要事項
架構擴充並不會自動授與 SMS 權限,讓 SMS 在 Active Directory 發行資訊,權限要手動設定。如果您不授與所需的權限,SMS 就不會發行任何資訊給 Active Directory,只會記錄錯誤訊息。

要讓 SMS 發行資訊給 Active Directory,必須先建立 System Management (系統管理) 容器,並授與 SMS 所有該容器及子物件的控制權。如果用的是進階安全性,SMS 就會用站台的電腦帳戶發行資訊;如果用的是標準安全性,則會用 SMS Service 帳戶。

如果 SMS 已經擁有 System (系統) 容器及子物件的所有控制權,就會自動在 System 容器裡建立前述的 System Management 容器。為保障安全,建議您用 ADSIEdit 管理工具手動建立 System Management 容器,完整控制權也僅限在 System Management 容器,不要授與 System 容器的控制權。

important.gif  重要事項
每個 SMS 站台都需要個別授與權限,才能發行資訊至 Active Directory 的 System Management 容器。子站台並不會繼承 System Management 容器的權限。

關於擴充架構的詳細做法以及 Active Directory 發行所需的權限設定,請參閱 Microsoft 下載網站裡的白皮書:《Active Directory 針對 Systems Management Server 2003 的架構修改與發佈》(英文)。

note.gif  注意
管理點也會發行憑證至 Active Directory。SMS 取得 System Management 容器及子物件的完整控制權之後,便會自動建立管理點所需物件,並授與管理點電腦帳戶所需的管理點物件權限。

*SP 設定進階用戶端使用 [僅 Active Directory] 模式

進階用戶端如果用 Active Directory 找不到管理點,預設的設定是改用 Windows 網際網路名稱服務 (WINS)。WINS 解析比較不安全,不像網域名稱服務 (DNS),更新 WINS 資料的權限並未用存取控制清單加以控管。不過攻擊者還是會需要有 WINS 系統管理員權限才能建立或修改 WINS 用來尋找預設管理點的靜態 WINS 資料。

您可以設定進階用戶端使用 [僅 Active Directory] 模式:安裝用戶端時加入 SMSDIRECTORYLOOKUP= NOWINS 的設定即可。

important.gif  重要事項
要設定現有的進階用戶端改用 [僅 Active Directory] 模式,必須重新安裝用戶端,不支援其他修改方式。

啟用 [僅 Active Directory] 模式之後,如果 Active Directory 解析失敗,該進階用戶端就無法連上管理點,必須等待 Active Directory 上線把管理點資訊發行至通用類別目錄。

note.gif  注意
在管理點執行進階用戶端時,不能使用 [僅 Active Directory] 模式。

關於進階用戶端安裝程式,請參閱《Microsoft Systems Management Server 2003 的方案和處理程序:規劃及部署》的<附錄 I:安裝與設定 SMS 用戶端>。關於目錄查閱的模式,請見<附錄 B:SMS 憑證基礎結構>的<用戶端驗證管理點>。 *SP

有了安全的 SMS 做為基礎,接著要進行的是:

  • 建立安全的階層架構

  • 保護 SMS 通訊的安全

  • 保護 SMS 站台系統的安全

  • 保護 SMS 功能的安全

建立安全的階層架構

階層架構裡,SMS 站台的設置與否及地點決定等都有可能受安全性考量所影響,部署用戶端也是一樣。規劃部署計畫階段要儘早加入安全性的考量,才能兼顧 SMS 功能與安全性。如果您已經部署完 SMS,也請重新審視設計決策,從安全性的角度分析。

不要讓 SMS 站台跨越樹系

Active Directory 裡,網域並不視為安全性的界限,而是用於委派管理工作。域網裡未授權的系統管理員有辨法能夠取得樹系根部的管理權限,進而取得整個樹系的權限。Active Directory 裡確保管理界限的唯一方法,就是分開建立樹系。

雖然可以設計 SMS 站台跨越樹系,但是 SMS 2003 不支援這種站台設計。SMS 站台伺服器必須擁有所有站台系統的管理權限,但是若把一個樹系的站台系統管理權限授與在另一個樹系的 SMS 帳戶,就違反這個安全性界限了。因此每個樹系至少要有一個 SMS 站台,每個 SMS 站台也都要受限在自己的樹系裡。

如果要在多個 Active Directory 樹系設置多個 SMS 站台,則每個樹系必須有至少一個主要站台,因為次要子站台不能隸屬於不同樹系的主站台。

站台愈少愈好

站台數量多風險就比較低,但是站台愈少,受攻擊面也就愈小,這點不可不察。站台數量的決定,應在安全性與其他設計要點之間做取捨,例如頻寬、效能以及用戶端設定等等。僅使用單一個站台是最安全的選擇,因為如此便不用:

  • 在站台間傳輸資料

  • 管理站台間的寄件帳戶

  • 信任其他站台的管理員

SMS 2003 的效能已有改善,單一站台因此能支援更多用戶端;以往為效能而分開的站台現在也能考慮合併了。如果您已經有了多站台的 SMS 配置,改用進階用戶端可能就可以支援更多用戶端。有些較小的站台或許也能用有保護的發佈點代替,如果這樣與其他的設計目標一致的話。

關於 SMS 2003 的設計及部署,請參閱 Microsoft TechNet 的《Microsoft Systems Management Server 2003 的方案和處理程序:規劃及部署

SMS 裝在成員伺服器而非網域控制站

SMS 並不需要裝在網域控制站。網域控制站除了網域資料庫之外,並沒有其他的本機安全性帳戶管理 (SAM) 資料庫。SMS 裝在成員伺服器上的話,就可以把 SMS 帳戶存在本機 SAM 資料庫而不是網域資料庫裡。

不與無法簽署資料的站台往來

SMS 2.0 站台如果還沒更新至 SP5,就無法簽署跨站台通訊。沒有簽章的跨站台通訊可能會讓攻擊者把未授權軟體推給子站台,是個不可忽視的風險。請儘快把所有站台升級至 SMS 2.0 SP5 或是 SMS 2003。

管理點愈少愈好

進階用戶端只能隸屬於擁有管理點的站台。每個主要站台都加上管理點並沒有太大的風險,但是管理點愈少,受攻擊面也愈小。管理點需要用到網際網路資訊服務 (IIS)。有的公司政策偏向減少 IIS 伺服器數量,縮小網路受攻擊面。如果這個考量很重要,也是可以儘量減少管理點的數量。

理論上,所有進階用戶端都可以隸屬於同一個站台,就算實機是位於不同站台的界限裡。如此該站台就會成為整個階層架構唯一的管理點。位於任何其他站台的進階用戶端就算不離開原本的站台,也會被當作漫遊用戶端。這是因為這些用戶端與管理點不在相同的站台範圍裡。

進階用戶端尋找管理點時,因為自身的位置沒有管理點,所以會連往指定的站台尋找指定的管理點,然後要求原則、上載目錄資料、要求封裝來源位置、上載狀態訊息。進階用戶端還是能從實機站台上的發佈點取用封裝,如果所需內容存在的話。但是如此的配置會嚴重影響頻寬。減少 IIS 伺服器數量,應與其他設計決策一起考量,取得平衡。

進階用戶端不能隸屬於次要站台。如果有設置次要站台,可以在次要站台上設定代理管理點,改善 SMS 進階用戶端的頻寬使用。代理管理點必須能夠從從父站台或是其他地方存取 SMS 站台資料庫。次要站台不加上代理管理點會比較安全,因為可以減少受攻擊面;不過這個風險不大,如果有需要效能上的優點,是可以視為可承擔的風險。

不使用 SMS Administrator 主控台的 Create Secondary Site 精靈來遠端安裝或解除安裝次要站台 (僅進階安全性)

建立次要站台時,可用下列方法安裝次要站台:

  • 從次要站台伺服器執行安裝程式

  • 從主要站台使用 SMS Administrator 主控台。

在進階模式裡,大多數的 SMS 作業用的都是站台伺服器的電腦帳戶。如果要用主站台的 SMS Administrator 主控台來執行 Create Secondary Site 精靈,就必須在次要站台裡,把主站台的電腦帳戶加入本機系統管理員群組。這樣的權限遠超出正常作業需求。應該從次要站台伺服器執行安裝程式,便可改用非 Administrative Site Address 帳戶。

不要安裝其他使用 Local System (本機系統) 帳戶的服務 (僅進階安全性)

站台伺服器及站台系統上儘量少用 LocalSystem 帳戶,不要安裝其他有用到 LocalSystem 帳戶的服務。如此便可避免其他的程序利用系統的電腦帳戶權限,透過這些系統存取 SMS 檔案或資料。如果您在站台伺服器上使用 SQL Server,可設定 SQL Server 以網域使用者帳戶身分執行。

建立服務接續計畫

系統安全人員設計電腦系統,通常都會考量到保密性、完整性和可用性。如果要維持 SMS 階層架構服務不中斷,就必須規劃好服務接續計畫,時常測試。

設計容錯站台

通常站台離線造成的風險不高,除非是急需套用重大更新。SMS 站台伺服器離線也並不一定會中斷所有的 SMS 作業。

表格 1   容錯作業

站台伺服器

站台資料庫

管理點/CAP

發佈點

結果

離線

線上

線上

線上

無法管理站台,也不能建立新通告。  

管理點或 CAP 會收集用戶端資訊暫存,等待站台伺服器上線。

現有通告仍會執行,用戶端也找得到發佈點。

線上

離線

線上

線上

無法管理站台,也不能建立新通告。

如果進階用戶端已接受新原則指定,而管理點也已經暫存原則內容,該進階用戶端便可要求原則內容並取回內容。不能進行新的原則指定

如果進階用戶端要執行程式,則必需要是已經被偵測到的進階用戶端,相關來源檔也要先暫存在用戶端本機,才能執行。

繼承用戶端可以執行所有現有通告,並從 CAP 接收所有現有設定。

線上

線上

離線

線上

可以建立新通造,但是用戶端不會收到通告,要等管理點或 CAP 上線才行。

用戶端還是會收集目錄、軟體計量以及狀態訊息儲存在本機,等待管理點或 CAP 再上線。

如果進階用戶端要執行程式,則必需要是已經被偵測到的進階用戶端,相關來源檔也要先暫存在用戶端本機,才能執行。

線上

線上

線上

離線

進階用戶端可以執行通告,不過僅限於相關來源檔案已經下載回來的通告。

繼承用戶端無法執行任何需要來源檔案的通告。

設置多個發佈點及報告點。規劃備援管理點,預設管理點出問題可以接手。我們不支援把執行 SQL Server 的電腦做叢集。要再提高容錯力,可以建置複份 SQL Server 資料庫;執行 SQL Server 的電腦離線時即可重新導向管理點連往複份表格。這裡假設 SQL Server 電腦出問題之前就已經完成備份。

規劃有容錯力的 Active Directory 架構,同時連線多個網域控制站及至少兩個通用類別目錄伺服器。用 Active Directory 整合式網域名稱系統 (DNS) 架設容錯 DNS 服務。

建立備份及還原計畫

SMS 站台修復是很複雜的作業。相關資訊請參閱 Microsoft 下載網站的《Microsoft Systems Management Server 2003 的方案和處理程序:維護、備份及還原》(英文)。

保護好備份資料

SMS 備份作業會複製登錄資料、檔案結構以及 SMS 站台資料庫。攻擊者如果取得備份資料,就可能取得網路重要資料,例如 IP 位址、Active Directory 網站名稱以及所有用戶端電腦的狀態等等。牽連備份資料的攻擊,其危險性不下於針對伺服器本身的攻擊。SMS 備份資料要存放在安全的地方,建立起控管程序定期檢查還原資料。這一點就像其他的備份資料一樣。

提升 SMS 通訊安全性

SMS 作業向來不是侷限於單一電腦的,例如:

  • 站台伺服器與所有站台系統間的通訊

  • 用戶端與管理點或是用戶端存取點的通訊

  • 所有網域成員與網域控制站的通訊,進行驗證及授權。

  • 網站階層架樣可以跨越廣域網路 (WAN),包含防火牆及虛擬私人網路 (VPN) 等。

如果不保護好站台間的 SMS 通訊,便可能讓用戶端被攔截,高權限身分可能會曝光,甚或 SMS 站台資料庫可能被插入假資料。

*SP SMS 2003 SP1 的報告功能已更新,支援 HTTPS。有了用戶端簽章與加密,用戶端資料跨越網路時便不易被隨意處理。 *SP

禁止網站間使用未簽署通訊,就算是單網站的階層架構

SMS 2003 所有的站台間通訊都會用公開私密金鑰組簽章。未升級至 SP5 的 SMS 2.0 站台不會簽署資料,也就無法與 SMS 2003 站台進行安全通訊。如果 SMS 階層裡不得不支援 SMS 2.0 SP4 的站台,不要接受該站台送回父站台的未簽署通訊。如此雖然會遺失一些 SMS 2.0 SP4 子站台送來的資料,卻可以避免因收到偽造通訊而被安裝未授權軟體的風險。規劃將所有站台升級至 SMS 2.0 SP5 或是 SMS 2003。

note.gif  注意
SMS 2.0 站台的父站台升級至 SMS 2003 之前,要先把子站台升級到 SMS 2.0 SP4 或更新版本。

就算整個階層架構只有一個站台,也應關閉未簽署的通訊,降低風險,避免攻擊者從根本不存在的父或子站台送出假的站台控制檔案。

相關程序請見<附錄 E:SMS 安全性程序>裡的<停用站台間未簽署的通訊>。關於站台間的有簽署通訊,請見<附錄 B:SMS 憑證基礎結構>裡的<站台間的通訊簽署>。

要求安全金鑰交換

預設的主站台設定使用較不安全的金鑰交換演算法,讓 SMS 2003 站台交換簽署資料傳輸時用的金鑰。SMS 2.0 站台未升級至 SP5 就不能使用安全金鑰交換。就算整個階層架構只有一個站台,也應要求安全金鑰交換,降低風險,避免攻擊者從根本不存在的父或子站台送出假的站台控制檔案。啟用這個設定之後,SMS 就會用 Active Directory 交換金鑰,這是如果已經有擴充其架構、SMS 也有權限能夠發行資料給 Active Directory。如果還沒有擴充架構,或是 SMS 沒有發行至 Active Directory 的權限,系統管理員就必需手動交換金鑰。

important.gif  重要事項
不論是否有擴充 Active Directory 架構,父站台與新安裝的次站台首次交換金鑰都必須手動進行。如果不手動交換金鑰,次要站台還是能安裝成功,但是會無法與父站台建立連線。手動交換金錀之後,次要站台便能連上父站台,也就能從父站台管理次要站台了。連上之後把新的次要站台設定改成 [要求安全金鑰交換],以後便可直接用 Active Directory 交換金鑰了 (如果有做好架構擴充的話)。

相關程序請見<附錄 E:SMS 安全性程序>裡的<要求安全金鑰交換以及手動交換站台金鑰>。關於 SMS 的金鑰交換,請見<附錄 B:SMS 憑證基礎結構>裡的<站台間的通訊簽署>。

確認進階用戶端安裝後即持有信任的根金鑰 (未擴充架構才需要)

如果您還未擴充 Active Directory 架構,用戶端就只能用信任的根金鑰驗證管理點真假。沒有信任的根金鑰,用戶端便無法檢驗管理點是否有授權,攻擊者也就能把用戶端導向至未授權的管理點。SMS 2003 (未安裝 SP1) 安裝時用戶端不會收到信任的根金鑰,而會向管理點要求一份。在 SMS 2003 SP1,用下列方法安裝的用戶端會自動收到一份信任的根金鑰,不需要額外作業。

  • 登入指令碼啟動的用戶端安裝 (Capinst.exe)

  • 手動用戶端安裝 (Ccmsetup.exe)

  • 用戶端發送安裝

Windows 群組原則安裝 (Client.msi) 則需要額外步驟讓進階用戶端收到信任的根金鑰。步驟請見<附錄 E:SMS 安全性程序>裡的<安裝信任的根金鑰:Windows 群組原則安裝 (Client.msi)>。

如果進階用戶端已部署完成,其中卻沒有安裝信任的根金鑰,那麼用戶端很可能已經取得有效的金鑰,與授權的管理點的通訊安全也無虞。如果要確認信任的根金鑰有安裝好,請見<附錄 E:SMS 安全性程序>裡的<確認安裝信任的根目錄金鑰>。

如果要把用戶端移往不同的階層架構,必須先移除金鑰再移動用戶端到新的階層架構,否則會無法與新管理點通訊。移除金鑰後要再強制安裝新站台的金鑰。相關程序請見<附錄 E:SMS 安全性程序>裡的<移除與重新安裝信任的根金鑰>。

用 IPSec 加密站台系統與站台伺服器的通訊

SMS 站台系統被冒用,可能會危害到整個 SMS 架構。IPsec 可以用來防護這類的攻擊,攻擊者利用未授權的站台系統來冒用真正的站台系統,然後用信任連線取得站台伺服器或是站台系統資料庫的控制權。要降低這個威脅,就要在大部分的 SMS 站台系統間設定好 IPsec 通訊。並不是所有站台系統都應成為 SMS IPsec 群組成員。

在下列電腦之間執行網際網路通訊協定安全性 (IPsec):

  • 主站台伺服器

  • 次要站台伺服器

  • 管理點

  • 報告點

  • 伺服器搜尋點

  • 用戶端存取點 (CAP)

  • 遠端 SMS 站台資料庫電腦

不要加入發佈點,除非啟用發佈點角色的電腦有兼做其他應加入 IPsec 的站台系統角色。也不要加入網域控制站。

在有需要的電腦間建立 IPsec 原則,要求使用 ESP/3DES。用 HOSTS 及 LMHOSTS 檔案,不要用網域名稱服務 (DNS) 或 Windows 網際網路名稱服務 (WINS),避免攻擊者用名稱解析攻擊冒用真正的站台系統。用 SMS IPsec 原則,對 IPsec 網際網路金鑰交換 (IKE) 可驗證的電腦做限制,即可控制對指定電腦的存取動作。限制存取動作最安全的方式,就是用憑證驗證,配合離線根憑證授權 (CA),並讓該 CA 專職負責發出 SMS IPsec 所需的憑證。

關於建議的 SMS IPsec 設定,請見<附錄 G:建議的 SMS IPsec 設定>。

設定防火牆允許 SMS 通訊

一個站台可能含有許多不同的防火牆。大多數的網路都會加上外圍防火牆防止未授權外來傳輸進入內部網路,但也有很多網路會在內部多加防火牆建立安全網路區域。例如在實驗室網路加上防火牆,防止實驗資料誤入公司網路。用戶端電腦也可以用個人防火牆加強防護。

外圍防火牆

安全性最佳實務要求拒絕所有連接埠通訊,只開啟特別指定的連接埠。SMS 是個很複雜的產品,需要開啟很多連接埠才能正常作業。要取得 SMS 通訊所需連接埠完整清單,請見 Microsoft 知識庫文件編號 826852

note.gif  注意
SMS 2003 (未安裝 SP1) 進階用戶端及管理點程式本身指定使用連接埠 80 連往管理點及伺服器搜尋點,不可變更。SMS 2003 SP1 則可以變更連接埠。相關資料請見後面章節<考慮設定進階用戶端使用非預設 HTTP 連接埠>。

用戶端個人防火牆

Microsoft Windows® XP 有內建網際網路連線防火牆。到了 Windows XP SP2,則又進一步升級程式並更名為「Windows 防火牆」。預設的 Windows 防火牆設定會妨礙某些 SMS 作業,減少 Windows 防火牆限制可以提高 SMS 管理能力,但是也會增加風險。把 SMS 連接埠或是程式加入例外清單後,再把範圍改成自訂清單,只允許必要的 SMS 電腦通訊。考慮使用群組原則,為所有 Windows XP SP2 用戶端防火牆建立一致的設定。

表格 2   可能受 Windows XP SP2 影響的 SMS 功能

功能

問題

解決辨法

控制台的 SMS 項目

Windows XP SP2 Beta 對 DCOM 加上限制,使用者不可使用控制台的 [執行已公告程式] 或是 [程式下載監視器]。另外,也不能使用控制台 [系統管理] 的 [動作] 索引標籤。

套用 hotfix 修正這個問題。關於此 hotfix 請參閱 Microsoft 知識庫文件編號 832862。若要用 SMS 軟體發佈來部署 hotfix,必須先把通告程式用戶端代理程式的倒數功能關閉。

用 BITS 下載封裝

Windows XP SP2 Beta 會妨礙進階用戶端用 BITS 下載封裝。用 BITS 下載原則不會受影響。

套用 hotfix 至採用 BITS 的發佈點。關於此 hotfix 請參閱 Microsoft 知識庫文件編號 832860

遠端協助

不可從 SMS Administrator 主控台發起遠端協助工作階段,但是可以接受用戶端要求的遠端協助工作階段。

Windows XP SP2 用戶端的 Windows 防火牆「程式和服務」要新增程式 helpsvc.exe、新增連接埠 TCP 135。

遠端控制

SMS 遠端工具無法從遠端管理 Windows XP SP2 的 SMS 用戶端。

建議的最佳實務作法是在支援遠端協助的用戶端電腦改用遠端協助,如 Windows XP。

從 SMS Administrator 主控台執行 Windows 事件檢視器、效能監視器、Windows 診斷

SMS Administrator 主控台無法存取 Windows XP SP2 的 Windows 事件檢視器或是 Windows 效能監視器。

只要開啟 Windows XP 用戶端 ICF 設定的 [檔案及印表機共用] 即可。目前沒有辨法從 SMS Administrator 主控台存取 Windows 診斷。

用戶端發送安裝

Windows XP SP2 用戶端電腦無法完成用戶端發送安裝。

開啟 Windows XP 用戶端裡,Windows 防火牆設定的 [檔案及印表機共用] 即可。

SMS Administrator 主控台

如果 Windows 防火牆設成 [開啟且無例外狀況],SMSAdministrator 主控台就無法從該用戶端連往任何 SMS 站台資料庫。如果 Windows 防火牆設成 [開啟 (建議選項)],SMS Administrator 主控台則是會無法顯示主控台樹狀目錄裡的某些項目。

如果 Windows 防火牆設成 [開啟且無例外狀況],就沒有解決辨法,這是設計原意。

如果 Windows 防火牆是設成 [開啟 (建議選項)],那麼只要把 unsecapp.exe 以及連接埠 TCP 135 加進 Windows 防火牆設定的程式和服務清單即可 (控制台裡 Windows 防火牆項目的 [例外] 索引標籤)。

查詢

如果從 Windows XP SP2 執行 SMS Administrator 主控台,首次進行查詢會失敗。

失敗一次之後作業系統會顯示對話方塊詢問是否要解除封鎖 statview.exe。只要解除封鎖,以後便可照常進行查詢動作。另外也可以預先把 statview.exe 加入 Windows 防火牆程式和服務例外清單 (控制台裡 Windows 防火牆項目的 [例外] 索引標籤)。

關於設定 Windows XP SP2 的 Windows 防火牆,請參閱 Windows XP [說明及支援中心]。

*SP 考慮設定進階用戶端使用非預設 HTTP 連接埠

SMS 2003 SP1 可以變更設定,用不同的 TCP 連接埠連往管理點、伺服器搜尋點以及採用 BITS 的發佈點等等。許多組織也會關閉 TCP 連接埠 80 加強安全性。

每個站台可以設定各自要用的連接埠。但是如果不設定讓階層架構裡的站台都用相同的連接埠,漫遊進階用戶端便可能出問題。要使用不同的連接埠:

  1. 現有進階用戶端全部升級至 SP1。

  2. 設定階層架構裡所有站台預設使用新連接埠。

  3. 部署 portswitch.vbs 指令碼的封裝,讓新用戶端使用新連接埠。

  4. 確認所有的進階用戶端都是用新連接埠。

  5. 設定階層架構裡所有站台都不要使用舊連接埠。

要變更站台系統使用的連接埠,只要修改站台內容屬性的 [連接埠] 索引標籤即可。如果階層架構裡還沒有部署任何進階用戶端,就可以直接新增新連接埠,設定為預設連接埠,然後從清單刪除連接埠 80。新安裝的進階用戶端會設定使用預設連接埠。在 [連接埠] 索引標籤的設定對現有的進階用戶端沒有作用。

用 SMS 光碟裡的 Portswitch.vbs 指令碼變更現有進階用戶端的用戶端連接埠。用軟體發佈封裝把 Portswitch.vbs 部署出去,設定 [Run with administrative rights]。發佈封裝之後,開啟 SMS_def.mof 裡的 [SMS Advanced Client Ports] 類別,從硬體目錄收集進階用戶端連接埠資訊。

important.gif  重要事項
如果從站台內容屬性移除連接埠 80,現有設定使用該連接埠的進階用戶端會被孤立。

關於變更進階用戶端 TCP 連接埠的程序,請參閱<附錄 E:SMS 安全性程序>裡的<設定進階用戶端 TCP 連接埠>。關於 Portswitch.vbs 的細節,請見產品光碟裡與該指令碼隨附的說明文件。 *SP

*SP 啟用進階用戶端資料簽署及加密

SMS 2003 SP1 進階用戶端預設不會簽署或加密訊息。網路上的用戶端目錄及探索資料記錄 (DDR) 通常不算是高風險的資料,但是高安全性的環境裡應該要把所有用戶端發起的通訊加密,如目錄及 DDR 等。從未授權的用戶端收到錯誤資料,對站台安全來說屬高風險事件,但這類攻擊困難度比較高。啟用進階用戶端目錄簽章可以降低這個風險。

啟用目錄訊息加密之前,先確認站台及用戶端已升級到 SMS 2003 SP3,否則未升級的用戶端目錄會被拒收。

important.gif  重要事項
站台上啟用用戶端目錄簽章後就不能再關閉。只要收到有簽章的用戶端資料,以後該用戶端就必需簽署所有資料,因為末簽章的資料有可能是攻擊者送出的。

關於啟用用戶端驗證及加密,請見<附錄 E:SMS 安全性程序>裡的<啟用清單資料的用戶端簽署與加密>。

其他關於用戶端簽章及加密的資訊,請見<附錄 B:SMS 憑證基礎結構>。

note.gif  注意
SMS 2003 SP1 只支援 Windows 2000 SP2 或更新,但是也可能可以安裝於較舊版的 Windows 2000。SMS 所用的密碼編譯服務提供者會無法啟動,用戶端也就不會加密通訊內容。不過用戶端通訊還是可以加上簽章。

開啟所有站台的用戶端簽章,避免拒收變更所屬站台的用戶端

嚴格來說不一定要開啟階層架構裡所有站台的用戶端簽章。但是如此一來,如果把用戶端從需要簽章的站台指派給另一個不需要簽章的站台,SMS 就會拒收該用戶端的目錄及探索資料記錄 (DDR)。

重新指派用戶端 (也就是改變其所屬站台) 時,用戶端會把辨識金鑰用 DDR 送去新管理點,管理點再把 DDR 送至站台伺服器。就算新站台不需要用戶端簽章,探索資料管理員 (Discovery Data Manager) 也還是會把金鑰插入 SMS 站台資料庫,作為該用戶端的辨識金鑰。其後所有該用戶端 GUID 送出的訊息都必須簽署前述金鑰,不論站台原則是否要求簽章。但是被指派進新站台後,用戶端會收到新的站台原則說明站台不需要簽章,用戶端便不再簽署訊息。雖然站台不需要用戶端簽章,但是因為站台伺服器之前就有收到金鑰存入資料庫,便會拒收該用戶端所有未簽章的目錄資料。站台伺服器會要求重新同步用戶端目錄,但是卻會拒收用戶端收來的未簽章目錄同步資料。狀態訊息編號 682 代表檔案有簽章,但是驗證金鑰不符合資料庫裡該用戶端的金鑰,所以拒收資料。

如果一定要把用戶端從需要簽章的站台重新指派給階層架構裡不需要簽章的站台,請務必依下列步驟進行:

  1. 等到整個階層架構裡都沒有該用戶端送出的擱置中目錄。

  2. 取消指派該用戶端目前的站台。

  3. 從該站台及所有父站台刪除該用戶端記錄。

    important.gif  重要事項
    一定要從階層架構刪除所有該用戶端的記錄,才能移除所有資料庫裡關於該用戶端身分辨識的資訊。如果只從舊站台刪除用戶端記錄,父站台就還有可能殘留該用戶端身分資料,並拒收日後未簽章資料,不管較下層站台是否會接受這些資料。

  4. 把用戶端指派給新站台。

如果有漫遊用戶端,先把所有站台升級至 SMS SP1 再啟用所有站台的用戶端簽章及加密。

SMS 2003 (未安裝 SP1) 不支援用戶端簽章及加密。如果有混用 SP1 站台及未安裝 Service Pack 的站台,漫遊用戶端目錄資料可能會被拒收。用戶端簽章及加密預設關閉,升級 SP1 之後也不變。 *SP

保護 SMS 站台系統的安全

SMS 含有許多不同的站台系統,各有專職。進階用戶端與管理點互動,管理點與站台伺服器及 SMS 站台資料庫伺服器互動,而用戶端又可能需要有伺服器搜尋點才找得到管理點。如此必然會增加 SMS 在企業各處的受攻擊面。如果不保護好站台伺服器、管理點、CAP 以及 SMS 站台資料庫,攻擊者就可能冒用站台系統散佈未授權軟體給 SMS 用戶端。不安全的站台系統也可能導致站台伺服器被入侵。要降低這些威脅,就要加強每一個站台系統的安全性。

所有的站台系統都應使用 Windows Server 2003

Windows Server 2003 是 Microsoft 最安全的作業系統,也是第一個自「高可信度電腦運算計畫」受益的作業系統。Windows Server 2003 本身設計就注重安全性,所以要做好防護也比 Windows Server 2000 簡單。另外,Windows 2003 Server 附有 IIS 6.0,安全度比 IIS 5.0 還要好許多。

站台系統實行角色區隔

雖然是可以把所有站台系統角色都安裝在同一台電腦上,但是通常不建議如此,因為會成為單一失敗點。不過,角色區隔的概念也還是有些例外。

通常建議在站台伺服器電腦上一起安裝專屬的 SQL Server 作為 SMS 站台資料庫伺服器。如此 SMS 對 SQL 設定的控制權最完整,簡化 SQL Server 的安全性設定。

站台伺服器上預設會安裝一個用戶端存取點 (CAP),就算已經沒有繼承用戶端了,也還是不能把最後一個 CAP 刪除。如果沒有繼承用戶端,可以留下站台系統上的 CAP 角色,並依後面章節最佳實務作法關閉 CAP 的用戶端存取。

減少攻擊目標

把各個站台系統角色獨立裝入不同的伺服器,便可避免攻擊者利用一個站台系統的弱點攻擊另一個站台系統。不過有許多站台系統角色都需要安裝 IIS,而安裝 IIS 卻會增加受攻擊面。如果為了降低硬體預算不得不把一些角色安裝在一起,可以把同樣需要 IIS 的角色一起安裝。

改善還原能力

小型網站常會把所有角色都安裝在站台伺服器上。但是這樣一旦站台伺服器無法使用,所有 SMS 功能也隨之中斷。儘可能與站台伺服器分開設置一個管理點,提高可用性。設定數個報告點及發佈點。網站只能有一個預設管理點,但是這方面可以用 RAID 或是其他容錯功能來彌補。或者也可以另外架設一個管理點,一個管理點離線就把另一個設為預設管理點。

note.gif  注意
SMS 2003 不支援站台系統角色的叢集,包括 SMS 站台資料庫伺服器。

中央網站若沒有 Active Directory 架構擴充模組及發行,務必使用獨立管理點

如果還沒擴充 Active Directory 架構,SMS 也沒有 Active Directory 的發行權限,就會用信任根金鑰對用戶端驗證管理點的身分。管理點憑證會用存在中央站台伺服器的信任根金鑰簽署。如果中央網站要還原,用戶端就會繼續信任管理點,等到新中央網站產生新的信任根金鑰。如果是管理點要還原,用戶端則是等到管理點憑證簽署信任根金鑰就立即信任新的管理點。

如果中央網站同時也是網站管理點,回報中央網站的用戶端就可能會出問題。這裡做站台伺服器還原會產生新的信任根金鑰及新管理點的新憑證。但是因為用戶端已經沒有信任的管理點或是信任根金鑰,所以必須先把用戶端的舊信任根金鑰刪除才能取得新的金鑰。只要擴充 Active Directory 架構並啟用網站發行即可避免這個問題,否則應避免把管理點角色裝在有用戶端報告的中央網站。這種狀況最常見於只有一個網站的小型 SMS 部署。

更多資訊請參閱<附錄 B:SMS 憑證基礎結構>。

IIS 伺服器

有些伺服器角色需要用到 IIS。做好 IIS 防護,便可讓 SMS 作用正常並降低風險。依實際情況儘可能減少需要 IIS 的伺服器。例如把管理點整合,減少管理點數量。環境裡用單一個伺服器搜尋點即可。

關閉不需要的 IIS 功能

依情況安裝最低限度需要的 IIS 功能,支援要用的伺服器角色。IIS 5.0 預設會安裝大多數的元件,但是在 IIS 6.0 改成必須手動安裝所有元件。請參閱<附錄 E:SMS 安全性程序>裡的<確認已安裝的 IIS 元件程序>。

表格 3   站台系統角色以及 IIS 元件

站台系統角色

是否需要 IIS

所需的 IIS 元件

站台伺服器

 

SMS 站台資料庫伺服器

 

管理點 (包含代理管理點)

BITS 伺服器擴充模組

伺服器搜尋點

預設 IIS

報告點

動態伺服器頁面。若要在報告裡使用圖表,必須安裝 Office Web 元件 (Microsoft Office 2000 SP2 或是 Microsoft Office XP)。

發佈點

 

採用 BITS 的發佈點

IIS 及 WebDAV

用戶端存取點

 

important.gif  重要事項
管理點、伺服器搜尋點以及發佈點不要開啟安全通訊端層 (SSL)。SMS 2003 SP1 報合點可以開啟 HTTPS 存取。更多資訊請參閱後文<啟用報告點 HTTPS 存取>。

站台伺服器不要裝在有 IIS 的電腦

如前所述,角色區隔有助降低攻擊傷害,提升還原能力。如果站台伺服器角色與另一個需要 IIS 的角色合併,使用進階安全性模式時尚有額外幾點要注意。實行角色區隔有助降低下列風險:

  • 站台伺服器的電腦帳戶擁有其他電腦的系統管理員權限。IIS 會用 LocalSystem 帳戶執行,但是這也是唯一有權使用電腦帳戶的帳戶。這個情況通常限於站台伺服器。

  • 使用進階安全性,SMS 站台伺服器會用 LocalSystem 帳戶管理本機檔案及登錄項目。而用 IIS 的 LocalSystem 帳戶內容執行的程式便也擁有這些檔案及登錄的存取權限。

IIS 6.0 使用 Windows Server 2003

IIS 6.0 比舊版安全。Windows 2000 Server 內附有 IIS 5.0,預設也會自動安裝。從 Windows 2000 Server 升級至 Windows Server 2003 會自動升級 IIS,但是升級後會停用 World Wide Web Publishing 服務。新安裝的 Windows Server 2003 預設不會自動安裝 IIS 6.0。而 IIS 6.0 預設安裝設定也不包含動態伺服器頁面、BITS 伺服器擴充功能或是 WebDAV。如果有 SMS 站台系統角色需要這些服務,要手動啟用。會用到的 IIS 元件清單請見表格 3:站台系統角色以及 IIS 元件。

採用 SMS IIS 強化檢查清單

Microsoft 網站有豐富的相關資料。有些 IIS 最佳實務是針對提供 Web 伺服器服務設計,並不適合需要用到 IIS 的 SMS 站台系統。SMS 2003 Security checklists 內附有檢查清單來強化配合 SMS 站台系統用的 IIS。這個檢查清單以 IIS 強化的最佳實務為主,但是加上註解說明如何調整最佳實務,確保 SMS 功能正常。

SMS2003 Security checklists.xls

用 SMS 範本執行 IIS 鎖定及 URLScan

如果站台系統用的是 Windows 2000 Server 與 IIS 5.0,請用 SMS IISLockd.ini 執行 IIS 鎖定精靈。IIS 鎖定會關閉不需要的功能,減少攻擊。IIS 鎖定精靈含有 URLScan 安全性工具,可限制 IIS 能處理的 HTTP 要求。

如果站台系統用的是 Windows Server 2003 與 IIS 6.0,那麼 IIS 鎖定的功能已經整合進 IIS 了。不過還是應該執行 URLScan 2.5 套用 UrlScan_SMS.ini 檔案。

SMS IISLockd.ini 及 UrlScan_SMS.ini 可從 Microsoft 下載網站取得,為 SMS 工具組 1 的一部分。關於套用這些範本的程序,請見 SMS 工具組 1 內附文件。

warning.gif  警告
不使用 SMS 範本卻直接執行 IIS 鎖定或是 URLScan 工具,可能會使 SMS 作業失敗。

持續更新 Service Pack 以及安全性相關 Hotfix

未更新的系統可能危害整個組織,程度依細節而有所不同。請訂閱 Microsoft 安全性通知服務。注意 IIS 相關的安全性公告,套用最新的更新及修補程式,更新 Microsoft 作業系統、IIS 伺服器以及 Microsoft .NET Framework。定期用 Microsoft Baseline Security Analyzer (MBSA) 檢查最新的作業系統及元件更新。

站台伺服器

建議所有站台系統使用 Windows 2003 Server,尤其是站台伺服器本身。針對站台伺服器的攻擊是高風險的攻擊。如果 SMS 站台伺服器使用 Windows 2000,請務必升級至 Windows 2000 SP3 並安裝 SMS 2003 Hotfix Q325804,或是升級至 Windows 2000 SP4 或更新版本。Hotfix Q325804 也隨附於 SMS 2003 產品光碟,存於 WinQFE\Q325804 資料夾。這個 Hotfix 可以修補前述問題,但是需要安裝 Windows 2000 SP3。

important.gif  重要事項
SMS 站台伺服器設為進階安全性之後,便會用 LocalSystem 帳戶身分執行程序,並用站台伺服器電腦帳戶與 SMS 站台系統通訊。某些作業,如用戶端發送安裝與跨網站通訊,可能需要用到額外一組帳戶身分作為設定參數,並用額外的這組身分與遠端電腦通訊。但是因作業系統關係,站台伺服器無法使用這一組額外身分進行通訊。這個問題可用 Hotfix Q325804 解決。Hotfix Q325804 隨附於 SMS 2003 產品光碟,存於 WinQFE\Q325804 資料夾。這個 Hotfix 可以解決前述問題,但是需要安裝 Windows 2000 SP3。
套用此 Hotfix 之後必須重新啟動伺服器。

禁止非系統管理員使用者取用站台伺服器上的 SMS Administrator 主控台

預設的 SMS 目錄權限要求系統管理員在站台伺服器上使用主控台,建議保留這個設定。用戶端方面,SMS Administrator 主控台要安裝在安全的用戶端,並嚴格限制 SMS 物件安全性,僅給予使用者最低限度權限。另外也可以用遠端桌面或終端機服務的遠端系統管理模式進入站台伺服器,然後執行 SMS Administrator 主控台。

從遠端工作站要使用 [執行身分] 啟動 SMS Administrator 主控台

如果有在遠端伺服器或工作站安裝 SMS Administrator 主控台,不要用 SMS 系統管理員帳戶登入。改用一般使用者帳戶登入,用 [執行身分] 啟動 SMS Administrator 主控台,然後再提供擁有 SMS 系統管理員權限的帳戶身分。

更多資訊請至 [說明及支援中心] 搜尋「使用執行身分」。

SQL Server

SMS 用 SQL Server 做後端資料庫。如果資料庫被入侵,攻擊者便可繞過 SMS Administrator 主控台,直接存取 SQL Server 用 SMS 發動攻擊。針對 SQL Server 的攻擊是高風險的攻擊。

SMS 使用 SQL Server 安全性功能保護 SMS 站台資料庫存取動作。SQL Server 提供兩種驗證方式: Windows 的帳戶驗證支援所有 SQL Server 網路程式庫,以 Windows 帳戶為驗證基礎。SQL Server 驗證使用 SQL Server 專屬帳戶,儲存在 SQL Server 本身。沒有提出 SQL Server 帳戶就無法連上 SQL Server。SQL Server 驗證的使用,僅是為向後相容以及 Windows 95 或 Windows 98 用戶端,建議不要在企業環境伺服器使用。

SQL Server 未特別提供混用驗證的選項,因為 Windows 的帳戶驗證隨時都可以使用,SQL Server 驗證則可啟用或關閉。要混用兩種驗證方式,只要啟用 SQL Server 驗證即可。

SQL Server 有角色的區隔,就像 Windows 群組帳戶一樣可以指派成員。權限則用 GRANT、REVOKE 以及 DENY 敘述指派給各角色。DENY 明確拒絕物件的權限,優先權凌駕其他所有權限。

採用 SMS SQL 強化檢查清單

Microsoft 網站有豐富的相關資料說明如何強化 SQL Server 安全性。某些 SQL Server 伺服器最佳實務是為資料庫伺服器設計,不適用於 SMS 站台資料庫伺服器。SMS 2003 Security checklists 含有檢查清單,用來強化供 SMS 站台資料庫伺服器用的 SQL Server。這個檢查清單以 SQL Server 強化的最佳實務為主,但是加上註解說明如何調整最佳實務,確保 SMS 功能正常。

SMS2003 Security checklists.xls

持續更新 Service Pack 以及安全性相關 Hotfix

請訂閱 Microsoft 安全性通知服務。時時注意有關 SQL Server 的安全性公告,套用最新的更新及修補程式,更新 Microsoft Windows 作業系統及 SQL Server。定期執行 MBSA 檢查最新的作業系統及元件更新。

把 SMS 與 SQL Server 裝在同一台電腦

SQL Server 與 SMS 裝在同一台電腦看似違反角色區隔提高可用性的原則,但是這個安全性考量並非那麼重要。如果 SMS 站台資料庫或站台伺服器其中之一離線,另一個伺服器也幾乎無用了。因此把 SMS 與 SQL Server 裝在同一台電腦上可以簡化 SQL Server 設定,降低安全性相關誤失的風險。

每個 SMS 網站都設置專屬 SQL Server

雖然說多個網站可以共用單一電腦的 SQL Server 儲存資料,但是不建議如此做。每個 SMS 網站都設置專屬 SQL Server 可以提高資料分隔。否則若是一個 SMS 站台資料庫遭入侵,攻擊者就能輕易取得同一個 SQL Server 的其他 SMS 站台資料庫了。

不要用 SMS 站台資料庫伺服器執行其他 SQL Server 應用程式。增加 SMS 站台資料庫伺服器存取也會增加 SMS 資料要面對的風險。

多網站共用的 SQL Server 還原較難,關鍵時刻可能會延誤時機。如果有兩個網站共用一個 SQL Server,伺服器失敗的話,要確保還原損壞站台資料庫的作業不影響另一個正常網站。如此整個還原作業就變得複雜了,必須把所有還原程序限制在出問題的網站。

設定 SQL Server 使用 Windows 的帳戶驗證

設定 SQL Server 使用 Windows 的帳戶驗證模式,如 SQL Server 說明文件所述。使用 Windows 的帳戶驗證模式,SQL Server 會以 Windows 帳戶的用戶名稱及密碼做登入驗證。如果您採用建議配置為每個 SMS 網站架設專屬 SQL Server,其實也就沒有理由不用 Windows 的帳戶驗證。安裝 SMS 時,要指定 SQL Server 使用 Windows 的帳戶驗證模式。

將 SQL Server 服務設定為使用網域使用者帳戶來執行。

SMS 不會要求 SQL Server 使用 LocalSystem 帳戶來執行。若要遵循最低權限的原則,建立一個網域使用者帳戶,然後設定 SQL Server 服務用該帳戶來執行。不要把這個帳戶加入網域管理員群組。

進階安全性模式下手動建立服務主要名稱 (SPN)

如果 SQL Server 服務執行的帳戶隸屬於網域管理員群組,就會自動建立 SQL SPN,含有 SQL Server 的完整網域名稱 (FQDN)。反之,如果 SQL Server 服務執行的帳戶不屬於網域管理員群組,就不會建立 SQL SPN;這個 SPN 應含有執行 SQL Server 的伺服器 NetBIOS 名稱。因此若 SQL 服務帳戶不屬於網域管理員群組,就必須手動建立 FQDN 及 NetBIOS SQL SPN。這個問題最常見於下列狀況:

  • SQL Server 與站台系統電腦位於不同網域,SQL Server 服務以使用者帳戶或是該電腦的 LocalSystem 帳戶執行,然後站台系統電腦嘗試連線至執行 SQL Server 的電腦。

  • SQL Server 服務以使用者帳戶執行,而站台系統電腦使用站台伺服器的電腦帳戶連往執行 SQL Server 的伺服器。

如需建立 FQDN 以及 NetBIOS SQL SPN 的程序的相關資訊,請參閱 Microsoft 知識庫文件編號 829868

報告點

報告點預設不會使用 SSL 加密通訊內容。從未加密 HTTP 傳輸攔截工作階段狀態或身分,算是較簡單的攻擊。攻擊者竊取工作階段狀態後,便可能取得報告點的完整存取權限。

*SP 啟用報告點的 HTTPS 存取

在 SMS 2003 SP1 之前的版本,於需要網際網路資訊服務 (IIS) 的站台系統上的 SMS 元件都不支援 SSL。到 SMS 2003 SP1 則建議設定 SMS Administrator 主控台用 HTTPS 啟動報告檢視器。這個設定並不會取回憑證,也不會設定 IIS 使用 SSL。先完成這些設定,再設定報告點使用 HTTPS 存取。

note.gif  注意
當您透過 HTTPS 啟動或巡覽 SMS 報告檢視器網頁時,可能會收到關於不安全資料的警告。這是 Internet Explorer 的已知問題。

如需啟用程序的相關資訊,請參閱<附錄 E:SMS 安全性程序>裡的<啟用報告點的 HTTPS 存取>。 *SP

用戶端存取點

就算沒有繼承用戶端,SMS 還是會自動在站台伺服器建立一個用戶端存取點。SMS 會新增一個 \CAP_站台碼 目錄到 SMS 的安裝磁碟。這個目錄的共用名稱為 \\站台伺服器\CAP_站台碼 。SMS 不會讓您移除網站的最後一個 CAP,但是您可以鎖定 CAP 共用資料夾。不好好保護 CAP 的話,攻擊者可能會將無效的資料提交至 SMS 站台資料庫。

修改共用資料夾權限,允許用戶端連上 CAP 目錄結構

依預設,Everyone 帳戶擁有 \\站台伺服器\CAP_站台碼 共用資料夾的完整權限。如果不用繼承用戶端,要建立的高安全性環境,就把 Everyone 從這個共用資料夾權限設定移除,僅授與系統管理員完整權限。如此 SMS 可以繼續順利進行 CAP 維護工作,並且防止系統管理員以外的使用者存取 CAP 目錄結構。

提升 SMS 功能安全性

《Microsoft Systems Management Server 2003 操作指南》說明如何使用 SMS 功能。SMS 說明也附有詳細資訊,解說如何操作 SMS 功能的安全性設定。本節說明下列 SMS 功能額外的安全性細節:

  • 報告

  • 遠端工具

  • 軟體發佈

  • 目錄收集

報告

攻擊者通常會儘量收集公司資料尋找弱點。對方可能會想要取得 SMS 報告,進一步瞭解整個網路環境。舉例來說,如果攻擊者取得軟體更新狀態報告,便可針對未更新的電腦發動已知的攻擊。

針對 SMS 報告的攻擊,風險通常比針對站台伺服器、SMS 站台資料庫伺服自、軟體發佈或是遠端工具的攻擊低。

SMS 報告存取 SMS SQL Server 檢視畫面會使用一個叫做 webreport_approle 的 SQL Server 應用程式角色。這個角色的密碼是亂數產生的,並以安全方式儲存在 SMS。

限制僅有獲授權者可以檢視查詢及報告

應用最低權限原則來指派查詢及報告的權限。可以從 SMS Administrator 主控台或是從 Internet Explorer 等報告檢視器執行報告。

只有用 SMS Administrator 主控台檢視的查詢才要遵守 SMS 物件安全性。若要從 SMS Administrator 主控台執行查詢,一定要擁有查詢裡的物件 SMS 物件安全性權限。另外,如果沒有 Collections (集合) 類別的 [Read] (讀取) 及 [Read Resource] (讀取資源) 權限,則建立查詢的 [Query Statement Properties] 對話方塊裡,[Criteria] 索引標籤的 [Values] 會傳回「沒有資料」。

查詢可以用集合限制查詢範圍,使用者不可查詢未授權集合裡的資源。就算使用者不指定集合限制,只要該使用者沒有檢視所有資源的權限,SMS 就會自動套用集合限制。如果有人需要存取資訊,請確認他們不會被集合限制阻擋。

更多資訊請見<附錄 A:SMS 物件安全性及 WMI>裡的<SMS 物件安全性>。

用報告使用者群組控制報告點的存取

預設設定所有的系統管理員以及報告使用者群組都可以存取報告點網站。如果使用者有需要存取報告點的報告,只要加入該報告點本機的報告使用者群組即可。報告使用者群組預設沒有成員。

important.gif  重要事項
報告檢視器用戶要再修改 Internet Explorer 6.0 安全性設定。SMS 2003 SP1 已解決此問題。Internet Explorer 6.0 以及更新版本的預設安全性較嚴謹。這些設定要修改過才能使用報告檢視器。使用者要把每一個擁有存取權限的報告點的 URL 加入才行。詳細程序請見<附錄 E:SMS 安全性程序>裡的<授與使用者報告點的報告存取權>。

管理直接連線 SMS SQL Server 電腦的使用者安全性

有些產品如 Microsoft Access 或者非 Microsoft 報告工具存取 SMS 站台資料庫時,會使用 Windows Management Instrumentation (WMI),配合以網路為主的企業管理 (WBEM) ODBC 驅動程式。指令碼、網頁以及類似工具會用 WMI 指令碼模型查詢 SMS。這些報告方式都需要取用 WMI 及 SMS 提供者,存取控制則用 WMI 安全性及 SMS 物件安全性管理。

Microsoft Access 或是一些非 Microsoft 報告工具產生的報告,會用 SQL Server 檢視畫面取得 SMS 資料。這些工具本身就是用 SQL Server 檢視畫面取得 SMS 資料。他們會用 SQL Server ODBC 驅動程式,或是其它直接存取 SQL Server 資料的指令碼模型,繞過 WMI 安全性及 SMS 物件安全性。

用 Windows 的帳戶驗證連上 SMS 站台資料庫檢視報告的使用者應該加入報告使用者群組。用 SQL Server 驗證連上 SMS 站台資料庫檢視報告的使用者則應加入 smsschm_users SQL Server 角色。這個角色擁有所有 SMS SQL Server 檢視畫面的 SELECT 權限。或者,也可以個別授與使用者或角色權限,允許存取特定的檢視畫面,管制 SMS 資料的存取。

關於管理 SQL Server 角色的程序,請參閱 SQL Server 說明文件。

遠端工具

除了遠端工具外,SMS 2003 還有選項可使用終端機服務、遠端桌面連線及遠端協助,依主控台與用戶端是否支援而定。關於這些選擇的安全性及稽核,請見各作業系統功能說明文件。

遠端桌面連線與遠端協助支援 Windows XP 及 Windows 2003。終端機服務用遠端系統管理模式可以控制 Windows 2000 伺服器。使用 Windows 2000 Workstation 的進階用戶端作業系統沒有內建遠端系統管理能力,可以改用 SMS 遠端工具;不過這個方法不應視為安全的做法。

只要是容許檢視控制遠端系統的軟體都會對安全性及隱私權形成高風險。SMS 遠端工具也允許非系統管理員用系統管理員內容執行程式,只要對遠端工具擁有足夠權限即可。

用遠端系統管理或是遠端協助,不要用遠端工具

Windows XP 或是 Windows Server 2003 系統強烈建議使用 Windows 遠端協助及遠端桌面連線功能,不要用 SMS 遠端控制。Windows 遠端協助及遠端桌面連線不但比較安全,也已經內建在作業系統裡。

僅選用群組原則或 SMS 其中一種進行遠端協助設定

SMS 及群組原則都可以用來變更遠端協助設定。用戶端重新整理群組原則時,預設只會改變伺服器上有變更的原則,提升效率。SMS 則是會修改本機安全性原則設定,但是強制更新群組原則時卻不一定會蓋過這個設定。兩邊都設定原則的話,可能出現不一致的結果。請單選一種方法來設定遠端協助選項。

important.gif  重要事項
下列最佳實務做法僅支援 Windows 2000 Professional 用戶端,因為這些用戶端未內建遠端管理選項。如果是 Windows XP、Windows 2000 Server 或是 Windows Server 2003,請改用作業系統的遠端管理能力,因為這些作業系統並無下文所述的弱點。
這裡的最佳實務做法也可用於 Windows 98 與 Windows NT4.0,但是這兩個並不被視為安全作業環境,相關討論請見<附錄 D:繼承用戶端安全性環境>。

遠端工具的 [要求權限] 設定不應視為足夠安全

全網站啟用 [顯示訊息要求授權] 選項之後,登入用戶端的使用者要先給予授權,遠端工具才能進行作業。可是若是用遠端工具作業 (例如使用遠端控制功能) 中途停止該功能,只要在十秒內進行相同的作業就不需要再取得授權。如果改使用不同的遠端工具功能,就算是十秒內也還是要再要求授權。十秒後要對該用戶端進行任何遠端工具作業,就需要再要求授權一次。

Windows NT 4.0、Windows 2000、Windows XP 以及 Windows Server 2003 系列作業系統只要修改登錄項目、重新啟動 SMS 遠端控制代理程式,便可修改遠端工具安全性設定。確認有保護好遠端登錄編輯與遠端服務控制。

最好的辨法是不用遠端工具,改用遠端協助。遠端協助本身安全性功能就包含 [需要權限] 選項。SMS 無法修改這個選項,使用者必須依設定授權給遠端協助工作階段。

預先規劃如何處理失敗的遠端工具工作階段

網站狀況可能導致遠端工具工作階段失敗。遠端使用者也可以在系統管理員完成之前就關閉遠端控制工作階段。如果工作階段失敗前沒有登出遠端電腦,遠端主控台就會繼續以相同身分登入而沒有管理員管理。任何實際上機的使用者也就因此能取得您的安全性權限。這可以是很嚴重的安全性風險。

使用遠端執行時,遠端應用程式啟動的任何程序都可以持續執行,就算原先的遠端應用程式已經關閉也不受影響。如此可能讓本機使用者找到方法取用系統管理員的安全性內容。

要處理好失敗的遠端工具工作階段,可以用遠端重新開機工具重新啟動電腦,例如使用 Shutdown.exe。如果當地有可信任的人員,也可以請他們幫忙登出。

不要依賴集合安全性來控制遠端工具存取

知識廣博或是毅力夠的人可以輕易繞過遠端工具安全性。他們可以在階層架構外另外設置 SMS 網站,建立資源記錄進一步控制想要掌握的用戶端。他們可以取得這些資源的所有權限。或者,他們也可以用 Remote.exe /SMS:nosql 參數,如本章後面 "Remote.exe" 小節所述。遠端工具的集合安全性應該視為一種組織上的便利,只對依照政策及程序行事的員工有效。

限制 [允許的檢視器] 清單

使用遠端工具並不需要本機系統管理員權限。如果集合與允許檢視清單安全條件都通過了,該使用者便可用遠端工具在用戶端進行作業。

依需要指定通用群組

通用群組成員若也是 [允許的檢視器] 清單所列出的本機群組成員,就不會被列舉出來,因此屬於本機群組的通用群組成員不會擁有存取權限。為避免混亂,應在 [允許的檢視器] 清單指定所有通用群組。

指定使用者帳戶網域內容

[允許的檢視器] 清單設計上就保留些許模糊地帶。這是因為使用者是依用戶端清單做驗證,但是 SMS 站台伺服器卻不一定能存取用戶端能存取的網域。因此,[允許的檢視器] 清單的帳戶名稱可以不用指定所屬網域。不過在用戶端的清單必需要清楚明確。建議您用「網域\帳戶」的格式輸入帳戶名稱,避免用戶端發生混亂。

移除本地化的系統管理員使用者名稱

SMS 2003 預設的允許檢視清單沒有任何名稱。

如果是從 SMS 2.0 升級上來,則預設會加入本地化的系統管理員使用者名稱,無意間開啟遠端工具存取給不應擁有的使用者。如果組織裡不使用本地化的系統管理員使用者名稱,就直接從 [允許的檢視器] 清單移除。從清單移除不必要的帳戶還能減少用戶端驗證使用者與建立遠端工具階段所需的時間及資料傳輸。

不要使用遠端執行進行系統管理工作

使用 SMS 遠端工具在用戶端電腦執行程式時,程式所用的安全性內容,是遠端啟動程式的系統管理員內容而非當時登入系統的使用者內容。如果遠端執行工作階段意外終止,便可能留給使用者一個已開啟的系統管理應用程式。

不要在遠端控制工作階段輸入高權限帳戶的密碼

密碼到用戶端電腦為止都算安全,但是在用戶端則是用虛擬鍵盤輸入。監看鍵盤輸入的軟體因此可以捕捉到密碼。又或者用戶端電腦上執行的程式可能不是遠端控制者所想,該程式便可能記錄下密碼。凡是需要帳戶密碼的部分,都應由終端使用者輸入。

軟體發佈

軟體發佈是很強大的功能,不保護好就可能成為攻擊要點。安裝封裝時,SMS 可以提升權限使用使用者或是系統內容,不論使用者有沒有系統管理權限。如此攻擊者便可發動任何權限提升的攻擊。

note.gif  注意
Microsoft Systems Management Server 2003 概念、規劃及部署指南有誤,裡面寫發佈軟體不需要封裝 [Modify] (修改) 權限。要散佈封裝到散佈點,必需要擁有 [Read] (讀取)、[Distribute] (發佈) 以及 [Modify] (修改) SMS 物件安全性權限。

需要限制軟體發佈的時候不要建立子集合

以集合為對象的通告會送往該集合與其下所有子集合的成員,不論系統管理員有沒有子集合的 [Advertise] (通告) 權限。不論有沒有任何集合的通告權限,只要能把某個集合連接另一個集合,就能夠讓自己的集合收到發往另一個集合的通告。為此應注意建立子集合對通告的影響,並小心審慎決定要讓誰擁有權限讀取會收到通告的集合。

保護軟體封裝

依預設,系統管理員可以任意存取發佈點的封裝檔案,使用者也可以任意讀取這些檔案。使用者若是擁有進階用戶端系統管理員權限,就可加入任意站台,不論電腦本身是否在站台範圍內。加入站台站後,用戶端只要符合相關集合資格,就可以收到該網站所有可用的軟體發佈。為此,限特定使用者才能取用的軟體應該要在封裝階段做限制,而不是用網站可用性或是集合準則做限制。

封裝建立之初就設定存取權限

封裝檔案的存取帳戶設定變更需要重新整理封裝時才會生效,不像發佈點共用資料夾。因此建立封裝時應該小心設定封裝存取權限,尤其是封裝龐大,需要散佈至很多發佈點,或是供軟體發佈的頻寬有限時。若要一次重新整理所有發佈點,可以使用封裝的 Update Distribution Points (更新發佈點) 作業。

保護封裝原始碼檔案

建立封裝時,許多封裝的原始檔都可從目錄或共用的資料夾取得。SMS 會用這些原始檔來更新封裝。不過因為原始檔不一定存在 SMS 目錄,所以不受 SMS 保護。如果這些檔案出了問題,SMS 用戶端就可能遭入侵。為此應該要好好保護來源檔案。唯一需要存取封裝來源檔案的 SMS 帳戶,就是 SMS 站台伺服器的電腦帳戶 (進階安全性),或是 SMS Service 帳戶 (標準安全性)。

封包來源檔要存在 Windows 2000 或更新的電腦,Active Directory 網域裡 (限進階安全性)

SMS 網站進入進階安全性模式就不能用 Windows NT 4.0 與 Windows NT 4.0 網域裡的電腦作為封裝來源伺服器了。

SMS 2003 進入進階安全性模式,而封裝來源又是另一台電腦的話,SMS 會用伺服器用腦帳戶連上封裝來源電腦。Active Directory 網域裡的 Windows NT 4.0 電腦無法驗證電腦帳戶。同樣,Windows NT 4.0 網域裡的 Windows 作業系統電腦也無法驗證電腦帳戶。因此 SMS 2003 進階安全性站台伺服器要求的連線會失敗。

不要設定受限封裝檔案下載執行

封裝一旦下載到進階用戶端,便可被任何使用者執行,只要封裝還保留在下載暫存檔就可以。或者使用者也可能把檔案複製到其他人可存取的目錄,或是共用資料夾。如果要禁止未授權的人存取這些檔案,就不應設定下載選項。

目錄收集

收集目錄的作業會曝露出潛在的弱點。攻擊者可以:

  • 發送無效的資料

  • 發送過量的資料

  • 網站傳輸中存取目錄資訊。

一般認為目錄攻擊嚴重性比未授權的軟體發佈還低,因為目錄資訊可以用其他方式取得。

在高安全性環境中停用 IDMIF 與 NOIDMIF 集合

IDMIF 及 NOIDMIF 可以用來擴充 SMS 硬體目錄收集。SMS 有需要的時候會在 SMS 站台資料庫建立新的表格或修改現有表格,納入 IDMIF 與 NOIDMIF 的內容。不過 IDMIF 及 NOIDMIF 檔案並不做驗證,可能被用來更改不應改變的表格。無效資料可能會蓋過有效資料。可能會載入大量資料,以致所有 SMS 功能都延遲。若要降低這個風險,可以停用 IDMIF 及 NOIDMIF 集合。

新安裝的 SMS 2003 站台預設關閉 MIF 集合。從 SMS 2.0 升級至 SMS 2003 的站台預設會啟用 MIF 集合。

如需程序的相關資訊,請參閱<附錄 E:SMS 安全性程序>裡的<停用 IDMIF 及 NOIDMIF 集合>。

note.gif  注意
使用 SMS_def.mof 擴充硬體目錄集合不會有同樣的安全性問題。所有 SMS_def.mof 擴充動作都要在伺服器端執行,而且需要系統管理員權限。

不要用檔案集合來收集重要檔案或敏感資訊

進階用戶端目錄的收集用的是 LocalSystem 帳戶的權限。其中包括收集重要系統檔案備份的能力,例如登錄資料及安全性帳戶資料庫。如果這些檔案可從 SMS 站台伺服器取得,擁有足夠權限的人便能分析其內容,取得關於用戶端的重要資料,進而威脅其安全。

收集檔案時要注意安全性,也要注意隱私權。使用最低權限的原則來指派 SMS 收集檔案的存取權。

顯示: