CATALOG
基礎理解 什么是組策略
組策略與工作組沒關系,它是許多策略的集合,組策略的組代表的是一組或者說多個,并不代表工作組的組。例如本地安全策略就是組策略的一部分。組策略相當于一張任務計劃書??梢苑峙浣o不同的部門。
在同一個OU可能會被鏈接或應用多個GPO,因此有些設置可能會產生沖突。在這種情況下,GPO的優先級決定客戶端最終應用哪個設置。具有較高優先級的GPO將覆蓋較低優先級的GPO。在GPMC中,數字越小表示GPO的優先級越高。
組策略大體分為如下幾種:
組策略分類處理優先級管理范圍功能或特點
本地組策略
本地計算機
vista之前每臺計算機擁有一份本地組策略,之后每隔賬戶可以擁有一份本地組策略,管理本地計算機
站點組策略
略
略
域組策略
域內機器或者賬戶
管理域內計算機或者賬戶
組織單元組策略
OU內機器或賬戶
管理OU內計算機或者賬戶
這里需要說的是,計算機申請執行策略的時候確實是按照由本地組策略到組織單元組策略這個方向去申請的,但是如果同一個點的策略設置發生沖突,那么后申請的策略的設置會覆蓋之前申請的策略的設置,換句話說,組織單元策略是最終的會執行的策略。
可以理解成是一個并集的關系,如果沖突則取跟高優先級的設置。
但例外是如果有強制策略,那么強制策略優先級最高。
域控上組策略管理的位置
組織單元組策略
綠色框中就是組織單元。
組織單元組策略是專門針對某個組織黨員設置的組策略例如:
以上的default domain policy只適用于domain 這個組織單元。
域內組策略
在DC直接在服務器管理下面點的那個“組策略管理”即可管理域內組策略,這個組策略只對域內的主機有用。
名字為Default Domain Policy,這個組策略直接作用于域內的每個機器。域內一般還有一個組策略叫做Default Domain Policy,這種組策略只對域控機器有用。
命令行的命令為gpmc.msc。 它的作用是生成與管理要發行給域內計算機的組策略,我把它叫做域內組策略。
本地組策略
本地組策略(Local Group Policy,縮寫LGP或)是組策略的基礎版本,它面向獨立且非域的計算機。至少Windows XP家庭版中它就已經存在,并且可以應用到域計算機。在Windows Vista以前,LGP可以強制施行組策略對象到單臺本地計算機,但不能將策略應用到用戶或組。從Windows Vista開始,LGP允許本地組策略管理單個用戶和組,并允許使用“GPO Packs”在獨立計算機之間備份、導入和導出組策略——組策略容器包含導入策略到目標計算機的所需文件。
深入理解 組策略存儲位置
創建組策略其實就是創建組策略單元(GPO),組策略設置對時候本身就分為兩部分,分別為計算機設置與用戶設置。所以會有兩個版本號,一個代表的是計算機設置的版本號,另一個代表用戶設置的版本號。每個GPO有唯一的標識符,標識符上面就哦與兩組版本號,一組是用戶版本號,一個是AD數據庫中記錄的版本,一個是sysvol共享文件夾中記錄的版本:
GPO在域內是分為兩個部分存儲的,分別是GPC與GPT。他們兩個表示活動目錄數據庫中記錄的組策略版本(即GPC記錄的版本)和SYSVOL共享中記錄的組策略版本(即GPT的版本),AD版本號和SYSVOL版本號可能會因域控間數據同步不及時導致不一致。查看GPC屬性(通過ADSI編輯器)或直接查看GPT(通過gpt.ini文件)看到的版本號信息,則需要通過計算轉換。
GPC
這個版本號要轉換為二進制,從左往右前四位代表用戶配置版本號,后四位代表計算機配置版本號。
如上圖所示,轉換后的16進制為,因此ad上存儲的用戶配置組策略版本為0x007a,也就是122
計算機配置的版本為0x0007也就是7。我們查看真實的配置版本:
GPT
GPT通過gpt.ini文件存儲,里面的版本信息是組策略的sysvol的版本信息。用法是將其轉換為16進制,從左往右前四位是用戶配置的sysvol版本號,右四位是計算機配置的sysvol版本號。
如上圖所示,轉換后的16進制為,因此ad上存儲的用戶配置組策略版本為0x007a,也就是122
因此版本號為,用戶的是122,計算機的是7,都是sysvol,如下圖所示
注冊表中的組策略版本
當前應用的組策略信息位于State下的兩個節點中,分別是Machine節點包含了計算機配置應用的組策略,里面的版本號就是計算機版本類型的版本號,當前用戶SID節點下包含了用戶配置應用的組策略,里面的版本號就是用戶版本類型的版本號,兩個節點下都包含有GPO-List,其下就是各自應用的組策略。
ACL訪問控制列表
SACL與DACL構成一個完整的ACL
ACL可以控制某個進程是否可以對某個對象進行“增刪改查”,也就是控制了某個進程對訪問權限。windows會給沒個進程創建訪問令牌(access token),而被訪問對對象在被創建對時候windows會給它一個安全描述符( ),ACL控制訪問權限主要跟這兩個參數有關。
ACL相當于是一種計算機內進程想要訪問數據的時候都要遵守的約定。每當一個進程想要操作一個對象的時候,操作系統就查詢這個對象的安全描述符,然后再記錄下這個進程的訪問令牌?,F在操作系統就有兩種數據,一個安全描述符,一個訪問令牌。這時候安全描述符就相當于是一個手冊,訪問令牌就相當于是程序的身份證,操作系統會在安全描述符里面查詢當前程序的訪問令牌具有何種操作權限,ACL工作原理大概如此。
訪問令牌(access token)
當用戶登陸成功時,系統將為該用戶創建訪問令牌,每一個以該用戶權限運行的進程都會使用該訪問令牌的副本。訪問令牌中包含有 (SID),這個sid代表用戶的身份。操作系統根據進程的訪問令牌來確定此進程是否有進行某項操作的權限。
根據維基百科的解釋,訪問令牌的內容如下:
1.用戶帳戶的安全標識符(SID)
2.用戶帳戶所屬的用戶群的SIDs
3.一個logon SID,標識當前登錄會話
4.用戶或用戶群的特權清單
5.所有者的SID
6.基本群的SID
7.當用戶創建可安全對象( object)且沒有給出安全描述符時,系統使用的缺省的自主訪問控制列表(DACL)
8.訪問令牌資源
9.是否為primary或 token
10.限制性SIDs的可選列表
11.當前級別
12.其他統計
安全標識符SID
SID分為兩種:
內置SID
自動分配SID
一般只需要了解內置SID即可,內置SID有:
格式:S-[修訂級別]-[權值]-[標識符]
S-1-5-18 ()
S-1-5-19 ()
S-1-5-20 ()
S-1-5-32-544 ()
S-1-5-32-545 (Users)
S-1-5-32-550 ()
相對標識符RID
一般指的是sid的最后一部分,也就是500,501等,不同的RID代表不同的身份。舉例如下:
格式:S-[修訂級別]-[權值]-[標識符]-[相對標識符]
S-1-5-21-xxxx-xxx-500 () 本地管理員
S-1-5-21-xxxx-xxx-501 (Guest) 本地來賓用戶
S-1-5-21-xxxx-xxx-1004 () 本地工作站、
安全描述符SD
安全描述符里存儲著對應訪問令牌所具有的權限信息,說得簡單點就是有點類似于一個字典,不同的安全令牌對應著不同的權限,這些是一一對應的且都存儲在安全描述符內,而這個安全描述符在對象被創建的時候就生成了。
安全描述符大概有四個部分:
1.對象所有者 (SID) 的安全標識符
2.對象的默認組的 SID(一般沒啥用)
3.SACL 規定進程對此對象執行了某個操作(讀寫執行)所記錄的日日志類型。
4.DACL 指出了允許和拒絕某用戶或用戶組對對象的某種操作。如果一個對象沒有DACL,那么就是說這個對象是任何人都可以擁有完全的訪問權限。
附錄:
gpedit.msc 打開本地組策略
/force 同步組策略
gpmc.msc 打開域內組策略(只能在域控上執行)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。