How to:使用EFS對遠程文件服務器上的文件加密

  這兩天在論壇上又看到有網友提問,"能不能利用一些比較簡單地方法實現對文件服務器上的私人文件/文件夾的保護呢?因爲不想讓別的用戶瀏覽到自己的共享文件夾中的某些個文件!".
 
  應對這種需求時,文件服務器管理員在平常一般都會採用在文件服務器上共享出來的大目錄下新建子目錄然後修改NTFS權限來實現.但是對於普通域用戶,他們想更爲靈活和簡單地掌控自己文件檔案的安全性和隱私性的話,權限的疊加或者設置對他們而言就有些難以掌握了.
 
  其實,對於大量採用Windows XP作爲客戶端,Windows server 2003以上作爲文件服務器操作系統並且有域環境的企業來說,讓用戶可以使用EFS對自己存儲在遠程服務器上的私有資料進行加密就成爲了一種可供選擇的方案.畢竟EFS對於用戶操作的透明性和簡易性比較於其他方案是有很大優勢的.
 
  下面我們就一起來看一下如何配置使得用戶可以使用EFS對遠程文件服務器上的文件加密.
 
  相信看過我之前博文<域環境下如何保護重要資料文件的安全---EFS加密(上下篇)>的朋友對於域環境中的EFS使用已經有了一些共識:本地計算機上使用EFS加密操作真的好簡單.在要加密的檔案上右鍵,選擇"常規"-->;"屬性"-->;"高級"-->;"加密內容以便保護數據"就完事了,同樣的做法直接搬到遠程文件服務器上呢?
 
  這裏我使用一個名稱爲"cfo"的普通域用戶賬號登陸客戶端(IP:172.16.0.201),先對他在文件服務器(IP:172.16.0.101,FQDN:contoso-sccm.contoso.com)上要訪問的共享文件夾(共享名test, cfo對其擁有完全控制權限)做一個磁盤映射,然後對其中的檔案試圖進行EFS加密,可以看到,
clip_p_w_picpath002
圖1
會直接提示"應用屬性時出錯",試圖加密失敗.
 
  其實動手之前稍微想一下,失敗是必然的事情,遠程服務器沒有得到用戶的信任和授權,同時也並不擁有用戶的證書和密鑰(如果您對證書及密鑰的概念不是很理解請詳細閱讀我之前的博文),怎麼可能就這樣輕而易舉地代替用戶實現加密.
 
  所以我們需要先對遠程服務器進行委派的動作.
 
  來到域控上,
  打開"Active Directory用戶和計算機",找到文件服務器的機器名,右鍵選擇"屬性",然後點擊"委派"選項卡,選擇"僅信任此計算機來委派指定的服務",跟着單擊"添加",然後單擊"用戶和計算機",瀏覽到文件服務器後點擊"確定",這時會出現一個"可用服務"列表,選擇添加其中的"cifs"和"protectedstorage"服務.完成操作後需要將文件服務器進行一次重啓.
clip_p_w_picpath004
圖2
完成了委派的操作,就相當於對服務器進行了授權,允許它代表用戶執行某種(或全部的)服務.下邊需要做的就是讓文件服務器擁有域用戶的證書和密鑰.關於這一步,有兩種做法,
一 ,直接在文件服務器上使用域用戶賬號登錄一次,並且隨便加密一個文件,這樣就可以生成域用戶的證書和密鑰了.第二種做法是在域用戶擁有用戶漫遊配置文件(Roaming Users Profile)的情況下,直接將RUP 下載到文件服務器上對應的位置即可.(此步圖略,並且由於本人的實驗環境問題,選擇了第一種方式獲得的用戶證書及密鑰).
 
  做完了以上的操作,我們再在客戶端試着用EFS來加密遠程服務器上的共享文檔看看.
 
  咦,竟然還是圖1的報錯. 這時我們不妨到文件服務器上看看有沒有相關的信息.
 
  來到文件服務器上執行eventvwr.msc打開事件查看器,可以看到有這麼一條報錯信息:
clip_p_w_picpath006
圖3
  這是因爲EFS不支持NTLM身份驗證協議,而只能使用Kerberos協議.
 
  那怎麼看到客戶端上登錄的賬號是採用了什麼身份驗證協議訪問的網絡共享呢?
  這個在事件查看器上也是有記錄的:
clip_p_w_picpath008
圖4
可以看到cfo是使用的NTLM協議來進行身份驗證的.
 
  爲了讓他轉爲使用Kerberos協議,我們需要重新以\\FQDN方式來定位到共享文件夾再進行磁盤映射.請記住: 爲了Kerberos的正常工作,所有通信都必須都使用完全限定的域名 (FQDN)。
  所以請保證你域內的DNS服務器運行正常.
  同樣,在轉爲使用Kerberos協議進行身份驗證後,事件日誌中也會有相應的記錄:
clip_p_w_picpath010
圖5
  我們再來試試對遠程服務器上的文件加密:
clip_p_w_picpath012
圖6
  可以看到,終於能夠在遠程 服務器上使用EFS方式對文件加密了.
 
  總結一下使用EFS的委派模式對遠程服務器上文件加密的大體步驟:
1.在域控上對遠程服務器進行信任委派並重啓(安全起見只委派兩個服務即可,不再複述,詳見正文內容)
2.在遠程服務器上生成用戶的profile及private key(兩種方法,不再複述, 詳見正文內容)
3.使用\\FQDN名稱訪問到共享文件夾並做磁盤映射到本地(必須)
 
  最後仍有幾點需要說明:
1. 對於將要使用遠程服務器的EFS加密的域用戶,務必在其賬號屬性中清除"敏感帳戶,不能被委派"複選框.
2.遠程加密不支持跨林的委派服務器模式,要使用此方案,被委派的服務器須和用戶帳號在同一個域內.
3. EFS只能加密存儲在磁碟上的數據.在網絡中傳輸數據時數據仍是沒有被加密的.所以爲了保證在網絡傳輸時的數據安全,你可能需要使用IPsec或者EFS over WebDAV模式.
4. 在有多名用戶對某個文件夾都擁有足夠權限的時候,其中一個用戶使用EFS來加密了某些個文件都會導致別的用戶都無法再訪問這些文件.鑑於此, 請規劃好遠程EFS加密的使用並且對用戶說明正確的使用場景.爲了以防萬一,也請將EFS域恢復代理提早設置妥當.
5.雖然域內可以使用自簽名( self-signed)的用戶證書,但對於涉及到證書的最佳實踐還是建立CA服務器以獲得和活動目錄結合的PKI環境.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章