摘要
本文說明從 Windows 10 1709 版和 Windows Server 2016 1709 版開始實施的安全性原則變更。 根據新原則,只有遠端電腦上的本機系統管理員的使用者可以啟動或停止該電腦上的服務。
此外,本文也說明如何使個別服務退出這個新原則。
其他相關資訊
常見的安全性錯誤是將服務設定為使用過於寬鬆的安全性描述元 (請參閱服務安全性和存取權限 (英文)),因而不慎地將權限授與比預期還多的遠端呼叫者。 例如,尋找將 SERVICE_START 或 SERVICE_STOP 權限授與「已驗證的使用者」的服務,並非少見。 儘管原先的打算是將那些權限只授與本機非系統管理的使用者,但「已驗證的使用者」也包含 Active Directory 樹系中的每個使用者或電腦帳戶,無論該帳戶是否為遠端或本機電腦上的系統管理員群組成員。 這些過度權限可能會遭到濫用,而且可能在整個網路內造成災害。
基於此問題的廣泛性和潛在嚴重性,以及現代安全性作法對任何規模相當大的網域皆假設包含遭洩漏的電腦,因此,引進新的系統安全性設定,要求遠端呼叫者同時必須是電腦上的本機系統管理員,才能要求下列服務權限:
SERVICE_CHANGE_CONFIG
SERVICE_START
SERVICE_STOP
SERVICE_PAUSE_CONTINUE
DELETE
WRITE_DAC
WRITE_OWNER
此外,新安全性設定也要求遠端呼叫者必須是電腦上的本機系統管理員,才能要求下列服務控制管理員權限:
SC_MANAGER_CREATE_SERVICE
注意:除了現有的存取檢查以外,這個本機系統管理員檢查還會針對服務或服務控制器安全性描述元進行檢查。該設定自 Windows 10 1709 版和 Windows Server 2016 1709 版開始引進。 設定預設為啟用。
對其服務依賴非系統管理員從遠端啟動或停用的某些客戶來說,這個新檢查可能會造成問題。 如有必要,您可以在下列登錄位置,將服務名稱新增到 RemoteAccessCheckExemptionList REG_MULTI_SZ 登錄值,藉此使個別服務退出這個新原則:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\SCM
若要執行這項操作,請依照下列步驟執行:
-
選取 [開始],再選取 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]。
-
在登錄中找出並選取下列子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\SCM
注意:如果子機碼不存在,則必須建立一個:在 [編輯] 功能表上,選取 [新增],然後選取 [機碼]。輸入新子機碼的名稱,然後按下 Enter。 -
在 [編輯] 功能表上,指向 [新增],然後選取 [REG_MULTI_SZ 值]。
-
輸入 RemoteAccessCheckExemptionList 做為 REG_MULTI_SZ 值的名稱,然後按下 Enter。
-
按兩下 [RemoteAccessCheckExemptionList] 值,輸入要從新原則免除的服務名稱,然後按一下 [確定]。
-
結束 [登錄編輯程式],然後重新啟動電腦。
若系統管理員想要全域停用這個新檢查並還原先前安全性較低的行為,請在下列登錄位置,將 RemoteAccessExemption REG_DWORD 登錄值設定為非零值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
注意:您可以藉由暫時設定這個值,快速判斷這個新的權限模型是否為造成應用程式相容性問題的原因。
若要執行這項操作,請依照下列步驟執行:
-
選取 [開始],再選取 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]。
-
在登錄中找出並按一下下列子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control -
在 [編輯] 功能表上,指向 [新增],然後選取 [REG_DWORD (32 位元) 值]。
-
輸入 RemoteAccessExemption 做為 REG_DWORD 值的名稱,然後按下 Enter。
-
按兩下 [RemoteAccessExemption] 值,在 [數值資料] 方塊中輸入 1,然後按一下 [確定]。
-
結束 [登錄編輯程式],然後重新啟動電腦。