Windows 2012相對于前幾個版本而已,做出了大量的改進,尤其體現在安全性和虛擬化方面。Dynamic Access Control ( 動態訪問控制)是微軟在文件服務器的訪問控制上的新功能,極大的提高了安全性和靈活性。經過一天的研究學習,豆子發現這個功能給我帶來了極大的驚喜。
(一)簡單概述
Windows,傳統的文件訪問控制是通過share和NTFS 來實現的,這種方式已經運行了10幾年了。這種訪問控制的方式可以實現日常的工作需求,但是有很多問題沒有能夠解決。這種傳統的方式一個很大的弊端就是不夠靈活和非常冗余。尤其是在大企業里面,一個部門里面可能還分個三六九等,每一個訪問權限都必須創建一個對應的組,這樣一來,一個文件夾上面的組可能層層嵌套,數量隨著時間迅速增加,在豆子的公司AD里面,文件服務器上創建的組至少有上千個~;另外一個問題是,僅僅通過NTFS和Share控制訪問權限,很難控制用戶是從哪里訪問的。用戶可能從網吧,家里,公司,旅館任何地方訪問,而這些遠程訪問的機器的安全性是很難得到保障的。還有一個問題是,如果有人無意中將高度機密的文件拖到了公共的文件夾中,那么所有能夠訪問這個文件夾的用戶都有可能造成泄密。最后,訪問的審計也并不那么簡單直觀,比如說,對于管理員來說,有的時候需要了解過去12個小時,到底誰訪問了這些文件等等。
以上的這些不足,在Dynamic Access Control里面都得到了解決。DAC的訪問控制不是通過組,而是通過attribute來實現的。所有的AD對象,包括用戶,組,計算機創建的時候都有大量的attribute設置,比如deparment, country,location 等等。這些屬性都是在AD schema里面定義的,如果需要更多的attribute,用戶可以進行擴展。通過定義這些屬性,我可以設定比如 位于悉尼的IT部門的用戶可以從成都分公司的計算機上訪問高度機密的文件。這個例子里面,悉尼,IT就是用戶的屬性,成都分公司 就是計算機的屬性,高度機密,則可以視作文件的屬性。
值得一提的是,DAC并不是用來替代傳統的Share+NTFS, 他是一套并行的安全訪問機制。換句話說,如果配置了DAC,那么用戶的訪問權限必須同時滿足DAC和Share/NTFS才算通過。
下面來看看豆子的配置實例
我的實驗環境很簡單,就是一個windows 2012 的DC和windows 2012 的文件服務器。我設定只有來自澳洲的用戶可以訪問中等機密程度的文檔。
(二)實驗步驟
簡單的說,我需要配置一條Central Access Policy的組策略,推送到文件服務器上。我需要做到以下幾個分支操作:
-
Claim types(定義一些用戶和計算機的屬性)
-
Resource Properties ( 定義文件夾的屬性)
-
Resource Properties list (把定義的文件夾屬性放在一個集合里面)
-
文件服務器更新以上定義,就可以在文件的classification里面查看自己的標簽(例如訪問等級等等)了
-
Central Access Rule 利用前面定義的屬性來定義一條或者多條規則
-
Central Access Policy 把上一步定義的1條或者多條規則放入一個Policy集合里面
-
配置GPO,發布Central Access Policy
-
文件服務器上在對應的共享文件夾上選擇對應的Central Access Policy
登陸DC,打開Active Directory Administrative Center。值得一提的是ADAC在windows 2008 就有了,不過因為大部分功能和ADUC重復了,相當雞肋。 2012里面他的功能大幅度加強了。
首先我們來 claim types
這里我選中c,他代表的是國家名字的簡寫。如果你不確定你想找的屬性名字,可以去這里查詢
http://msdn.microsoft.com/en-us/library/windows/desktop/ms675090(v=vs.85).aspx
然后OK即可
下一步我們需要定義新的resource properties,這個相當于一個標簽,你可以把這個標簽貼在對應的文件上從而和其他的文件進行區別
我取了個名字叫做 Importance (重要性),然后給他定義了3個等級 high, meidum, low
保存之后返回 resource properties, 就可以看見剛才自定義的Importance了。可以看見,默認預定義的標簽已經有很多了。為了使用對應的標簽,需要右擊然后選擇enable,這里豆子enable了Department和Importance兩個標簽
為了讓文件服務器使用這個標簽,我們需要在文件服務器上用管理權限執行以下更新命令
然后你就可以在文件服務器的文件上Classificaion上看見自定義的標簽了
Classification是windows 2012里面才出現的新玩意,你也可以在File Server Resource Manager上配置本地的標簽。注意Scope,global代表的是我在DC上配置的,會同步到所有的文件服務器,而local只是局限于該文件服務器本身。
下一步,我們需要配置實際的Central Access Rule了
我取了個名字叫做 Country rule, 并定義了Target resource 和 Current Permission
這個rule的基本含義就是 來自AU (澳洲)的用戶,對重要等級為中等的文件,具有Modify的權限。
最后,創建一個Central Access Policy,把自定義的rule添加即可
下一步我們需要配置GPO來推送這個Central Access Rule
我在文件服務器所在的OU創建了一個新的GPO,
Computer Configuration/Policies/Windows Settings/Security Settings/File System/Central Access Policy?上添加前面創建的Central Access Rule
Computer Configuration/Policies/Windows Settings/Security Settings/Advanced Audit Policy Configuration/Audit Policies/Object Access. 上配置audit file share 和audit central access policy staging
然后在Default Domain Controllers GPO的Computer Configuration/Policies/Administrative Templates/System/KDC?enable KDC
最后,去文件服務器的共享文件上,激活對應的Rule
大功告成。現在可以創建幾個用戶測試一下了。
我創建了兩個用戶,唯一的屬性區別是國家不一樣
然后共享文件夾的Share/NTFS 權限設置如下
最后我們來看看訪問權限如何,先看看kevin,他所在的組允許他有讀和運行的權利,然后CAG允許他modify的權利,兩者的交集,他只有讀和運行的權利。
然后看看Mac,盡管他所在的組有讀取和運行的權利,但是CAG限制了他的國家,所以他沒有任何讀寫權利。
由此可見,實驗成功!
限于水平和經驗,歡迎指出不足之處!