服務的判別存取控制清單撰寫者的最佳實務與指導

文章翻譯 文章翻譯
文章編號: 914392 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

服務的判別存取控制清單 (DACL) 是工作站和伺服器安全性的重要元件。本「Microsoft 知識庫」文件將告訴您,如何解譯服務的 DACL。本文同時也提供服務 DACL 撰寫者在開發與評估程式的安全性時,可用的最佳實務指導。

簡介

您可以使用本「Microsoft 知識庫」文件作為指南,協助評估服務的判別存取控制清單 (DACL) 的安全性。

其他相關資訊

如果要顯示服務的 DACL,請搭配使用 sc 命令和 sdshow 引數,如下列範例所示,其中 service_name 是您想要顯示的服務 DACL 的名稱:
sc sdshow service_name
命令產生的結果類似如下:
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
這個 sc 命令的範例輸出,是以 Security Descriptor Definition Language (SDDL) 語法來顯示服務的安全性說明。如需有關 SDDL 語法的詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
判斷服務的 DACL 是否易遭受攻擊時,可以檢視幾件事。下列表格說明如何閱讀 sc 命令的結果、如何解譯每個權限字串,以及如何對權限授予的對象解譯。

您可以使用下列機碼獨立評估括弧中包含的個別字元字串:
(允許/拒絕;;權限的字串;;;內建帳戶或群組的 SID 或縮寫)
權限字串中每個成對的兩個字母都對應到特定的權限:
摺疊此表格展開此表格
字母組權限
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RPStart
WPStop
DTPause
LOInterrogate
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SDDel
RCRCtl
WDWDac
WOWOwn

請特別留意 ChangeConf (DC) 權限,當您在判斷服務是否容易遭受權限提高的攻擊時,請搜尋 ChangeConf 權限。這個權限可以讓被指派者變更服務設定,以包含在服務啟動時所執行的二進位檔案。您也應該特別留意 WDac (WD) 與 WOwn (WO) 權限,因為它們可用來將權限提高到 LocalSystem。請確定這些權限不會被授予給低權限的使用者。下列表格以 SDDL 語法,列出用來識別被授予權限的使用者類型的代碼。
摺疊此表格展開此表格
代碼使用者類型
DA網域系統管理員
DG網域來賓
DU網域使用者
ED企業網域控制站
DD網域控制站
DC網域電腦
BA內建 (本機) 系統管理員
BG內建 (本機) 來賓
BU內建 (本機) 使用者
LA本機系統管理員帳戶
LG本機來賓帳戶
AO帳戶操作員
BO備份操作員
PO印表機操作員
SO伺服器操作員
AU已驗證的使用者
PS個人本身
CO建立者擁有者
CG建立者群組
SY本機系統
PU進階使用者
WD每個人 (全球)
RE複寫器
IU互動式登入使用者
NU網路登入使用者
SU服務登入使用者
RC設限代碼
WR寫入設限代碼
AN匿名登入
SA架構系統管理員
CA憑證服務系統管理員
RS遠端存取伺服器群組
EA企業系統管理員
PA群組原則系統管理員
RU允許舊版 Windows 2000 的別名
LS本機服務帳戶 (服務專用)
NS網路服務帳戶 (服務專用)
RD遠端桌面使用者 (終端機服務專用)
NO網路設定操作員
MU效能監視器使用者
LU效能記錄檔使用者
IS匿名網際網路使用者
CYCrypto 操作員
OW擁有者權限 SID
RMRMS 服務

如何解譯 SDDL 格式的 DACL 字串

本資訊說明如何解譯本文開頭所列的範例 DACL 字串。這個解譯個別列出每個存取控制項目 (ACE)。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    此存取控制項目 (ACE) 會給予 LocalSystem (SY) 下列權限:
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Start
    • Stop
    • Pause
    • Interrogate
    • UserDefined
    • Delete
    • RCtl
    • WDac
    • WOwn
    這個存取控制項目 (ACE) 受限制於 LocalSystem。這對有助於維護,因為 LocalSystem 已經是工作站中功能最強大的安全性內容,因此沒有權限提高的風險。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    這個存取控制項目 (ACE) 適用於內建的本機系統管理員 (BA)。如同前一個存取控制項目 (ACE),這個存取控制項目 (ACE) 也提供所有本機系統管理員相同的權限,而且也是工作站中功能非常強大的安全性內容。所以,同樣也沒有權限提高的風險。
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    這個存取控制項目 (ACE) 給予任何已驗證的使用者 (AU) 所有之前的權限。
在最後一個存取控制項目 (ACE) 中,低權限群組中的使用者 (例如任何已驗證的使用者) 都可以變更服務的設定。設定包含服務啟動時執行的二進位檔案,以及服務在其下執行的帳戶。

下列範例 DACL 不會將 ChangeConf 權限給予已驗證的使用者:
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

在這個 DACL 中,只提供已驗證的使用者 (AU) 下列權限:
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogate
  • UserDefined
  • RCtl
透過擁有這些授予權限的「已驗證的使用者」群組,就沒有發生潛在的權限提高風險。進階使用者 (PU) 群組已經可以提高至 LocalSystem,所以不應視為是權限提高的風險。在這個範例中,除了進階使用者群組可以啟動服務 (RP) 以外,此群組和「已驗證的使用者」群組擁有相同的權限。本機系統管理員 (BA) 群組是下一個。這個群組與下一個群組 (「伺服器操作員」(SO) 群組) 都具有 ChangeConf、WDac 和 WOwn 權限。這是可以接受的,因為最信任的使用者應該在「本機系統管理員」,或是「伺服器操作員」群組中。

LocalSystem (SY) 群組擁有和進階使用者群組相同的權限,但是同時也擁有 Stop 與 Pause 的權限。這似乎是適當的設定。下兩個簡短存取控制項目 (ACE) 給予「本機服務帳戶」和「網路服務帳戶」將服務暫停的權限。這似乎也是適當的設定,因為「本機服務」與「網路服務」都是功能強大的本機帳戶。

然而,「網路設定操作員」(NO) 群組則擁有 ChangeConf 權限。「網路設定操作員」群組已新增至 Windows XP 中,這可以讓受信任的使用者在沒有完整的管理員權限下,變更網路設定。根據預設,「網路設定操作員」群組是空的。這個群組有時候用來提供網路設定權限給特定的使用者。例如,可攜式電腦的擁有者可能被給予這個權限。「網路設定操作員」群組中的使用者通常可以控制電腦本身。但是,這個群組的用意不是給予這些使用者完整的管理員權限。此,這個服務的 DACL 不應該將 ChangeConf 權限給予「網路設定操作員」群組。

最佳實務

限制服務的 DACL 只給予那些需要特定存取類型的使用者。請特別留意下列權限。如果將這些權限授予給低權限的使用者或群組,這些權限可能被用來在電腦中將權限提高至 LocalSystem:
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
如需有關存取權限的詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

屬性

文章編號: 914392 - 上次校閱: 2007年2月15日 - 版次: 1.4
這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Service Pack 1
  • Microsoft Windows XP Service Pack 1a
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
關鍵字:?
kbinfo KB914392
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com