域環境下如何保護重要資料文件的安全(一)---EFS加密(上)
hi,大家好.我想和大家從簡入難地交流一下這個話題,是由來于論壇上一個網友的提問.可能還有很多朋友也關心這個問題,那么我們就來一起看看怎么解決它吧.
話說資料文件的安全一直是比較受到公司重視的部分.以本人所在的公司來說,由于企業性質,員工進出單位都是禁止攜帶移動存儲設備的(有保衛部門安檢,違反規定的員工必然開除),并且公司內客戶端(超過1500臺)電腦全部做了USB端口管制,Netscreen硬件防火墻+ISA代理服務器限制上網,等等等等,部署了多重安全措施.足見公司對資訊安全的重視!那么,這樣就無懈可擊了嗎?如果在域環境下,有人趁我不在的時候用他/她自己的域賬號登錄了我的電腦,偷看了我的重要文件(絕不該他/她看的文件)呢?如果文件被打開然后被打印或被抄寫,紙張帶在身上可不會觸發金屬探測器的哦.
那么,我們要用什么方法來盡量避免此類情況出現呢?并且前提是:
一.盡量花錢少,現在提倡開源節流,申請買什么都難啊,別說是動輒幾千上萬的軟件硬件了.
二.用戶體驗良好,不能有太復雜的操作讓用戶(員工)來做,這點很重要.操作過于復雜,可能造成用戶操作失誤而沒有達到效果,另外長期以往,用戶會產生抵觸心理而不怎么使用它.
三.加密技術成熟,不要像PDF,winrar這類加密文件隨便google一下也有百八十種破解工具.
好吧,目標很明確了,開始挑戰之旅吧.
先看看現有的環境.公司客戶端操作系統基本上都安裝的是Windows XP Professional,還有極少部分的Windows 2000 Professional,并且磁盤上的分區格式基本上都為NTFS(老舊的2000還有用FAT32格式,XP系統都是我們IT部門統一安裝的,可以保證是NTFS磁盤文件格式).我們在請出今天的主角之前,要先把殘留的FAT32消滅,都換成NTFS.
那得先把裝Win2000的客戶端從局域網中都找出來.手段多種多樣,最省事的,發個全廠mail通知用戶查看自己的計算機情況,然后不是ntfs的打電話或發郵件反饋,那樣動靜太大了,而且也體現不出我們系統工程師的水平...所以,一般可以使用腳本收集客戶端信息再來導入到數據庫中查找(---最專業最繁瑣的做法), 好在我的環境中有SMS2003,省事了,直接到計算機集合里面看看就知道啦~
找到了以后提出遠程控制請求.取得了客戶機的控制權以后我們要做的就是轉化磁盤格式.命令相信大家已經爛熟于心了:
CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]
如果提示你當前域用戶權限不足,而你又不想登出切換管理員賬號,不妨用用runas命令.
然后重啟計算機,完成磁盤格式轉化.
接下來我們可以請出本文主角了---EFS (Encrypting File System,加密檔案系統)
簡單介紹一下EFS吧.從Windows 2000/XP/Server 2003開始,系統都配備了EFS(Encrypting File System,加密檔案系統),它可以針對存儲在NTFS磁盤卷上的文件和文件夾執行對用戶透明的加密操作.說到對用戶透明,是因為你(用戶)使用它加密的文件在訪問時不會產生任何讓你輸入密碼之類的操作,感覺和沒有和訪問未加密文件沒有區別.我們后面演示部分會看到.
其實,EFS加密技術也是采用了公鑰/私鑰密碼學原理的,這個原理要鋪上來怕是幾千字都不夠寫,大家只要記住一點就好:公鑰加密,私鑰解密.所以任何被某用戶公鑰加密后的NTFS文件也只能被此用戶的私鑰解密,沒有手握這個用戶私鑰的其他用戶想解密/查看是辦不到的.
要使用EFS來加密文件或文件夾,那真的是非常簡單:
這里有個域用戶cto想要加密他的一份重要文件,他要做的操作就是
在要加密的文件上鼠標右鍵點擊"屬性"---點擊"高級"--勾選"加密內容以便保護數據"
OK,完成.
如果是要加密整個文件夾,就在文件夾屬性里執行上面的操作,有一小點不同的是你需要選擇是只對此文件夾加密還是要對文件夾中所有的資料(文件,子文件夾)加密.
點擊確定后完成加密,可以看到文件名字變成了綠色,用戶cto雙擊文件,可以正常查看修改.
然后我們注銷系統,使用另外一個域用戶cfo登陸,定位到剛才的文件,雙擊打開,
拒絕訪問了.效果達到,用戶cfo不能查看用戶cto使用EFS加密過的文件.
有的朋友問了,如果這個文件是放在共享文件夾內的呢?
會提示你無法查看也無法復制的.
記得有個網友問過如果復制過來的分區是FAT32格式的呢,結果是一樣的.
仍然是拒絕訪問.
這是為什么呢?
道理很簡單
誰有那把秘密鑰匙誰才能開那個箱子.
問題來了,那把密鑰到底放在那個房子(存放加密文件的計算機)的什么地方呢?若是把那把密鑰給我我就能開那個箱子了嗎?
回看cto加密<重要資料>的計算機上,確保使用cto此域賬號登陸,使用mmc命令調出控制臺(或者使用certmgr.msc),添加"證書"管理單元,選擇"我的用戶賬戶"
點開個人---證書,可以看到有一個對應當前cto用戶名的證書,我們選擇導出它.
這里一定要選擇"是,導出私鑰" , 私鑰正是我們苦苦尋找的那把解鎖的鑰匙
保持默認
密鑰外頭還要套個密碼箱才能交給別人,怎么樣?保護的夠周到吧.
切記,你要把這把鑰匙給別人用,你的這個裝它的密碼箱密碼也是要交給別人的
給鑰匙起個名字
完成,導出
傳說中的"血色十字軍鑰匙"
現在我們可以換cfo登錄系統,找到剛才導出的cto的密鑰
雙擊,導入,導入時要輸入剛才導出時設置的密碼
導入成功后可以在cfo的證書管理控制單元中看到cto的證書
注意看上圖中,只有新導入的cto的用戶證書,而沒有cfo自己的,這是因為cfo還沒有使用EFS加密過文件,等他***次執行過EFS加密,就會看到相應的證書了.
cfo現在可以看cto親手加密的文件了.
這樣做其實有一定的后果,你想,cfo拿到了cto的私鑰,以后這臺機器上只要是cto的加密文件cfo就都能看了,cto可不干了,有沒有辦法讓cto指定cfo能看哪些加密的,不能看哪些加密的呢?
其實,這個問題,在Windows XP Professional版本中就得到了解決,
要達到這個效果,需要讓cfo也使用EFS加密一次以便生成自己的用戶證書.
注明:我已經將剛才導入的cto證書刪除,模擬cto證書沒有導入的情況
此時cfo已經無法訪問cto加密過的文件
下圖為例,cfo想要訪問cto加密的一個文件,文件名為<極其重要資料>
可以看到,訪問拒絕
回到用cto賬號登錄,在此文件<極其重要資料>上右鍵屬性---點擊加密旁邊的"詳細信息按鈕",在"可透明訪問這個文件的用戶"下點擊添加
可以看到cfo的用戶證書也赫然在列,我們把它加進來
注銷,再以cfo登錄
cfo可以看cto特意為他共享出來的EFS加密文件了,然而他貪心不足地還想看看旁邊的那個
想投機把自己證書加進去...
就是這樣.
經過了EFS加密設置,cto只要保護好自己的賬號密碼,就不用擔心有人能偷偷登錄到他本機去看他的重要資料了.
但是有一點,非常關鍵,想必吃過這個虧的網友都牢記住了,用來解密文件的用戶私鑰是一定需要隨證書導出來備份的,否則當重新安裝了操作系統而無相應的用戶證書導入之時,就算你用相同的用戶再登入也是無法解密的.
那用戶當時就是忘記了備份含密鑰的證書了,而現在出問題了,怎么辦?我只能告訴你,網上可能會有一些破解EFS加密的軟件你可以嘗試,但完全恢復幾率很低.要么你可以嘗試重構計算機SID,加密時使用的賬號/域賬號的SID,這個難度很大很大.所以,我覺得防患于未然才是王道,
【編輯推薦】