Windows Server 2012系列---動態訪問控制

什麼是DAC?

  動態訪問控制(DAC,Dynamic Access Control)是Windows Server 2012的一個針對文件系統資源的新的訪問控制機制。它允許管理員去定義可以應用在組織中所有文件服務器的中心文件訪問策略。DAC爲所有的文件服務器和現有的共享以及NTFS文件系統權限提供了安全保障。無論共享和NTFS文件系統的權限怎麼改變,它都能夠確保中心策略被強制覆蓋應用。

  DAC根據多個標準的組合來確定訪問權限。它結合NTFS文件系統訪問控制列表,那麼用戶需要滿足共享權限,NTFS文件系統訪問控制列表,和中心訪問策略才能獲得文件的訪問權。但是DAC也可以不與NTFS文件系統權限結合,單獨的被使用。

  DAC提供了一個靈活的方法去應用,管理和審計訪問那些域中的文件服務器。驗證令牌中的申明,資源的資源屬性,權限和審計許可的條件表達式,DAC通過結合這些功能來授予和審計那些標記了ADDS屬性的文件和文件夾。

  DAC主要用於控制文件訪問,它比NTFS文件系統和共享權限更加的靈活。它也可以被用來審計文件的訪問,以及可選的去與AD RMS集成在一起。

  DAC的設計是爲了滿足以下四個場景:

  1.使用中心訪問策略去管理文件的訪問。這樣可以讓組織建立一個與商業需求和管理符合性相對應的安全保障策略

  2.用於分析和合規性審計。爲合規報告以及電子取證分析做跨文件服務器的定向審計。

  3.保護敏感信息。DAC在Windows Server2012環境中能夠識別和保護敏感信息,如果集成了AD RMS,則可以使文件在離開Windows Server 2012環境後依然受到保護。

  4.訪問拒絕修正。改善了訪問拒絕的體驗從而減少了IT人員的工作負擔並且爲故障診斷提供故障時間。此技術讓負責管理這些文件的用戶更加方便的去控制文件。訪問拒絕修正能夠發送信息給每個文件夾的不同的所有者,信息中會描述爲什麼被拒絕訪問,從而讓所有者能夠根據信息的提示去確定如何修復這個問題。


什麼是申明?

 用戶申明:

  一個用戶申明是由Windows server 2012的域控制器提供的關於用戶的信息。Windows server2012域控制器可以使用大部分的ADDS用戶屬性作爲申明的信息。這給管理員提供了一個廣泛的配置可能性並通過申明來進行訪問控制。在定義一個用戶申明之前,你需要在想要用來作爲訪問控制的的用戶屬性中填入適當的值。

  設備申明:

  一個設備聲明通常被稱爲計算機申明,是Windows server 2012域控制器提供的關於設備的信息,這些設備在ADDS中以計算機賬號表現。與用戶申明一樣,設備申明能夠使用ADDS中計算機對象的大部分屬性。DAC不像NTFS文件系統權限,在用戶試圖訪問某個資源的時候,DAC會結合用戶當前使用的設備來確定授權。設備申明被用作代表那些你想要用來實現訪問控制的設備屬性。

  跨林申明:

  在Windows server 2012中ADDS爲每一個森林維護一個申明字典。所有在林內定義和使用的申明類型都是在ADDS林級別被定義的。但是有些場景中,某個用戶或者設備的安全性原則可能需要穿過信任邊界去訪問受信任林的資源。Windows server 2012的跨林申明允許用戶在林間傳遞入站和出站的申明,以便申明能夠信任的和受信任的林中被識別和接受。默認情況下,一個受信任的林允許所有的出站申明通過,一個信任的林阻止所有接收到的入站申明。

  

什麼是資源屬性?

  當你使用申明或者安全性羣組去控制文件和文件夾的訪問時,你同時能夠提供這些資源的其他信息。這些信息能夠被DAC規則用於訪問管理。

  和配置用戶以及設備申明類似,你必須定義你想要使用的資源的屬性。這些屬性通過資源屬性對象來配置。這些對象定義了一些能被指派給文件和文件夾的額外的屬性。通常這些屬性會在文件分類的時候被指派,Windows server 2012 能夠使用這些屬性作爲驗證目的。例如,這些屬性可以一類文件或者文件夾的分類值,就像Confidential或者Internal之類的值。其他的屬性可以代表文件的值,比如這些信息歸哪個部門所有,或者這個文件與哪個項目有關,類似於研發,項目X等值。

  資源屬性需要在資源屬性容器中管理,資源屬性容器位於活動目錄管理中心的DAC節點。

  你可以創建你自己的資源屬性,或者使用一個預置的屬性,比如部門,文件夾用途等。所有預定義的資源屬性對象默認情況下是被禁用的,所以如果你需要使用它們,你必須先啓用這些對象。如果你想創建你自己的資源屬性對象,你可以指定屬性類型和對象的允許或建議值。

  當你創建資源屬性對象的時候,你可以選擇屬性包含在文件和文件夾中。當你評估文件授權和審計時,Windows操作系統會把這些屬性中的值與用戶和設備申明值結合起來評估。

  

如何通過DAC來訪問資源?

  DAC作爲一種新的授權和審計機制需要對ADDS進行擴展。這些擴展動作會創建一個Windows申明字典,Windows操作系統將它用來爲活動目錄森林存放申明。申明的驗證過程也需要依賴Kerberos5協議的KDC(密鑰發佈中心)。

  當你使用NTFS文件系統來管理訪問控制時,用戶的訪問令牌中含有用戶的SID和用戶所隸屬的所有羣組的SID。當用戶試圖去訪問資源的時候,資源中的訪問控制列表(ACL)會被評估,如果用戶的令牌中至少有一個SID能夠與ACL中的SID相匹配,用戶則會被賦予對應的權限。

  但是DAC不僅僅是使用SID去管理資源訪問,它會使用申明去給用戶或者設備定義一些額外的屬性。這代表用戶的訪問令牌不再僅僅包含SID的信息,而且會包含關於用戶的申明信息和來自用戶正在使用的設備的申明信息,這些信息都將用於訪問資源時的評估。

  Windows server 2012 KDC增強了Kerberos協議,它要求申明在Kerberos票據中傳輸並且被用於合成身份標識。Windows server 2012 KDC還有一個增強功能,它能夠支持Kerberos鎧甲。Kerberos鎧甲是一種靈活驗證安全隧道的實施,它能夠在Kerberos客戶端和KDC之間提供一條受保護的通道。申明被保存在Kerberos特權賬號證書中,但這些功能不會增加令牌的大小。

  在配置了用戶和設備申明以及資源屬性之後,就必須通過條件表達式來實現文件和文件夾的保護。條件表達式根據一些恆定的值或者資源屬性的值來評估用戶和設備的申明。你可以通過以下三種方式來執行:

  1.如果你只想涵蓋特定的文件夾,你可以直接在安全性描述器中使用高級安全性設置編輯器去創建條件表達式。

  2.如果你想涵蓋一些或者所有的文件服務器,你可以創建中心訪問規則,然後將這些規則連接到中心訪問策略對象上。然後你可以使用組策略去將中心訪問策略對象應用到文件服務器上,接着爲使用中心訪問策略對象配置共享。中心訪問策略是保障文件和文件夾最有效和最適合的方法。

  3.當你使用DAC管理訪問,你可以使用文件分類去涵蓋那些在不同的文件或者文件夾中擁有一組共同屬性的特定文件。


  Windows server 2012和Windows8都支持在權限許可中設置一個或多個條件表達式。條件表達式只是簡單的添加到權限許可的另一個可用層,所有條件表達式的結果必須被windows操作系統評估爲TRUE,才能授權權限許可去執行驗證。例如,假設你定義了一個名稱爲Department的申明給一個帶有Department源屬性的用戶,然後你定義了一個名稱爲Department的資源屬性對象。現在你可以定義一個條件表達式,根據應用的資源屬性對象,只有在用戶的屬性Department的值等於文件夾中Department屬性的值時,用戶纔可以訪問文件夾。注意:如果Department的資源屬性對象沒有被應用到文件或者文件夾,或者Department爲空值,那麼用戶將擁有訪問數據的權限。


  在部署DAC之前服務器需要滿足一些特定的前置要求。基於申明的驗證要求擁有以下的基礎架構:

  1.安裝了FSRM角色服務的Win2012或者更高版本的服務器,這個角色必須安裝在託管資源的的文件服務器上,纔可以使用DAC進行保護。託管共享的文件服務器必須是Win2012文件服務器,纔可以從Kerberos5的票據中讀取申明和設備授權數據;將票據中的SID傳遞給一個驗證令牌;將令牌中的授權數據與安全性描述器中的條件表達式進行比較。

  2.至少有一臺Win2012的DC用來保存資源屬性和策略的中心定義。用戶申明不需要安全性羣組。如果你使用用戶申明,那麼你至少要有一臺win2012的DC能夠在用戶的域中可以被文件服務器訪問,以便文件服務器能夠檢索到代表用戶的申明。如果你使用設備申明,那麼ADDS域中的所有客戶端計算機必須使用win8的操作系統。僅安裝了Win8或者更高版本系統的設備能能夠使用設備申明。

  使用申明的前提要求:

  1.如果使用跨林申明,你必須在每個域中都安裝一臺win2012的DC。

  2.如果使用設備申明,你必須有Win8的客戶端,之前的windows操作系統不支持設備申明。

 在使用用戶申明的時候要求至少有一臺Win2012的DC,但是並不要求你的域和林功能級別是Win2012的,除非你想在林信任中使用申明。你可以在域中安裝或者保留win2008或者win2008R2的DC,並使用2008或2008R2的域和林功能級別。但是如果你想通過組策略來給用戶和設備提供申明的話,你需要將你的域和林功能級別提升到win2012.

 在滿足了啓用DAC支持的軟件要求後,你必須啓用Windows server 2012 KDC的申明支持。Kerberos協議對DAC的支持提供了一種機制,該機制用來將用戶申明和設備授權信息保存在一個windows驗證令牌中。文件或者文件夾的存取檢查會使用這個授權信息去驗證身份。

 

實驗環境:


LON-DC1  WIN2012R2  域控

LON-SVR1 WIN2012R2  成員服務器

LON-CL1  WIN8.1     域客戶端

LON-CL2  WIN8.1     域客戶端


一、爲DAC做AD的配置準備


在AD中建立一個DAC-Protected的OU,將LON-SVR1,LON-CL1,LON-CL2加入到這個OU,然後打開組策略管理器,編輯Default Domain Controller Policy,導航到 計算機配置-策略-管理模板-系統-KDC-KDC支持聲明、複合身份驗證和Kerberos Armoring,將它啓用並設置成始終提供聲明。完成設置後在LON-DC1上刷新組策略。

wKiom1RYj_3QHXGhAAdJ9uIudEY719.jpg

在AD中建立一個Users&Groups的OU,在其中建立ManagerWKS羣組並將LON-CL1加入到此羣組,建立Manager和Research,Manager的部門屬性設置爲Managers,Research的部門屬性設置爲Research。

wKiom1RgVkzgX2y9AARnNGfThdg782.jpg


二、配置用戶和設備聲明


打開LON-DC1上的Active Directory管理中心,導航到"動態訪問控制"節點中的Claim Types,並在右側的面板空白處右鍵新建一個聲明類型

wKioL1RXLtSAFDlxAAPNRTMuUAg985.jpg

在源屬性區域中選擇department,在顯示名稱欄位中修改成Company Department,並將下方的用戶和計算機都勾選起來,並添加建議值Managers和Research

wKioL1RYdZ_AYjJZAARyTyW_HH8480.jpg


三、配置資源屬性和資源屬性列表

將視圖導航到Resource Properties,把Department和Confidentiality資源屬性啓用

wKioL1RXMdyxjNv5AAbkDs9R8oQ188.jpg

雙擊Department屬性,在彈出的窗口中單擊"建議值"右側的添加,並在彈出的添加建議值窗口中填入Research

wKioL1RXM2mzW21XAAT34WPadHk312.jpg


四、執行文件分類

   登入LON-SVR1,並在LON-SVR1上安裝文件服務器資源管理器,打開管理器中的分類屬性節點,可以看到我們在上面啓用的資源屬性Department和Confidentiality出現在分類屬性中了。

wKiom1RYR8GClbqzAAPoUh6BS2s045.jpg

在分類規則中新建一條規則Set Confidentiality,作用域設置爲C:\Docs,分類中選擇內容分類器,屬性選擇Confidentiality-High,並在配置中選擇字符串值爲"secret",評估類型中選擇"重新評估現有的屬性值"和"覆蓋現有值",完成設置後,點擊右側操作面板中的"立即使用所有規則進行分類"。運行完畢後分別查看file1,file2,file3的分類屬性,可以看到file3的Confidentiality是High了。

wKiom1RYTaSTL-4PAASUidLOE08571.jpg


五、設置Research文件夾的分類屬性

在LON-SVR1的C盤建立一個Research文件夾,將該文件夾的分類屬性設置爲Research

wKiom1RYeQ6gL_KSAAWQvOIC0uw195.jpg


六、配置中心訪問規則

在LON-DC1上打開Active Directory 管理中心,導航到動態訪問控制的Central Access Rules,在右側空白處右鍵選擇新建中心訪問規則

wKioL1RXNdnzFZKtAALpM1aDr9M107.jpg

在創建中心訪問規則窗口中輸入名稱Department Match,然後點擊目標資源右側的"編輯"按鈕

wKiom1RXNlLzkjfYAATqnUTRcEc112.jpg

在彈出的中心訪問規則窗口中點擊"添加條件",然後可以看到有Department和Confidentiality這兩個前面啓用的資源屬性可以選擇作爲條件

wKiom1RXN0WzPsW0AARZEnKKTzM587.jpg

設定一個條件Department-等於-值-Research

wKioL1RXOCzSz9jNAATU2paSY5E944.jpg

完成條件設置後,回到創建中心訪問規則窗口,在權限區域選擇"將以下權限作爲當前權限",然後單擊右側的"編輯"

wKioL1RXOYWTZ1KSAAT9FZGxThA879.jpg

在彈出的權限的高級安全設置窗口中移除Administrators,然後"添加"新的對象,我們選擇Authenticated Uers作爲主體,賦予它修改,讀寫,讀取和執行權限,並在點擊下方的"添加條件",添加一個條件,組設置爲"Company Department",值設置爲"資源",並將Department選爲資源的值。

wKiom1RXO7fgNi63AAMOsGqwny8504.jpg

回到中心訪問規則面板,再新建一條規則命名爲Access Confidential File,在目標資源中添加條件表達式 資源-Confidentiality-等於-值-High,同樣選擇"將以下權限作爲當前權限"。

wKioL1RYPSOh7eKPAAVd9MdVnkY098.jpg

編輯權限,將Administrator權限移除,然後授予Authenticated Users讀取,寫入,讀取和執行,修改權限。在條件中添加兩個條件分別驗證用戶隸屬的部門和計算機隸屬的組,用戶-Company Department-隸屬於每項-值-Managers,設備-組-隸屬於每項-值-ManagerWKS.

wKiom1RYfAmCrlG9AAO6XQJ0sXs405.jpg



七、配置中心訪問策略


打開LON-DC1中的Active Directory管理中心,導航到Central Access Policy,新建一條Protect Confidential File的策略,將上面創建的Access Confidential File的規則添加到策略中。

wKiom1RYa66wOU8dAAQjDIYqwJs530.jpg

再建一條中心訪問策略Department Match,將前面建立的Department Match規則添加進策略。

wKiom1RYbY7A1YhIAASx-G0djzU146.jpg


八、將中心訪問策略應用到文件服務器上

在LON-DC1上打開組策略管理器,建立一個DAC Policy的組策略對象鏈接到DAC-Protected的OU上,並編輯這個策略,在組策略管理編輯器中導航到 計算機配置-策略-Windows設置-安全設置-文件系統-中心訪問策略,右鍵選擇管理中心訪問策略

wKiom1RYfl2SO3M5AAWd4TeJ3SY408.jpg

將建好的兩條中心訪問策略添加進去

wKiom1RYfwrz7DCbAASU9FLsbP0890.jpg

設置完成後,我們在LON-SVR1上用gpupdate /force去強制刷新組策略,然後打開Docs的屬性-安全-高級-中央策略,應用Protect Confidential File策略,按照同樣的方法將Department Match應用到Research文件夾。

wKioL1RYhfCRQpzGAAOj-7ahsyA630.jpg


九、驗證中心訪問策略的結果


首先將LON-CL1和LON-CL2重新啓動


用Manager登陸LON-CL1去訪問LON-SVR1上的Docs和Research文件夾,用Research登陸LON-CL1去訪問LON-SVR1上的Research文件夾和Docs文件夾。

然後在LON-CL2上重複上述動作,驗證的結果如下:

Manager登錄LON-CL1訪問Docs以及其中的文件成功

Manager登錄LON-CL1訪問Research文件夾失敗

Research登錄LON-CL1訪問Docs中的file3失敗,訪問file1,file2成功

Research登錄LON-CL1訪問Research以及其中文件成功

Manager登錄LON-CL2訪問Docs中的file3失敗,訪問file1,file2成功

Manager登錄LON-CL2訪問Research文件夾失敗

Research登錄LON-CL2訪問Docs中的file3失敗,訪問file1,file2成功

Research登錄LON-CL2訪問Research文件以及其中文件成功


十、配置訪問拒絕修復

打開組策略管理器,編輯DAC Policy組策略對象,導航到 計算機配置-策略-管理模板-系統-訪問被拒絕協助,啓用"自定義訪問被拒絕錯誤消息"和"在客戶端上對所有文件類型啓用訪問被拒絕協助",並在"自定義訪問被拒絕錯誤消息"窗口中輸入想要顯示給用戶的消息內容,然後勾選"允許用戶請求協助"

wKioL1RhfBfCZ6E-AAcqS3HdGfM156.jpg

切換到LON-SVR1刷新組策略,通過gpresult /h dac.html查看組策略套用是否成功

wKioL1RhgIGiLCI1AAQvlGkuzAY313.jpg

使用Manager賬號登陸LON-CL1,去打開Research文件夾,提示的消息爲我們剛纔在組策略裏自定義的拒絕消息內容,並在提示的下面有一個"請求協助"的按鈕

wKioL1Rhgz3QHKwsAAS9cVQp7t8773.jpg

點擊請求協助後,會出現一個對話框,並要求你輸入需要訪問的原因。如果有搭建郵件服務器的話,管理員和文件夾所有者會收到這封請求郵件,然後決定是否給此用戶開通訪問權限。

wKioL1RhhD_SnZrlAAUOyVtuNc4706.jpg







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章