資源描述:
《linux之加密文件系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Linux之加密文件系統(tǒng)本文將詳細(xì)介紹利用dm-crypt來創(chuàng)建加密文件系統(tǒng)的方法。與其它創(chuàng)建加密文件系統(tǒng)的方法相比,dm-crypt系統(tǒng)有著無可比擬的優(yōu)越性:它的速度更快,易用性更強(qiáng)。除此之外,它的適用面也很廣,能夠運(yùn)行在各種塊設(shè)備上,即使這些設(shè)備使用了RAID和LVM也毫無障礙。當(dāng)UbuntuLinux使用加密文件系統(tǒng)后,數(shù)據(jù)的安全能得到很好的保護(hù)。在這種情況下,即使把我們的機(jī)器送給黑客,只要他們沒有密鑰,黑客看到的數(shù)據(jù)只會(huì)是一堆亂碼,毫無利用價(jià)值可言。本文將詳細(xì)介紹利用dm-crypt來創(chuàng)建加密文件系統(tǒng)的方法。與其它創(chuàng)建加密文件系統(tǒng)的方法相比,dm-crypt系統(tǒng)有著無可比擬的優(yōu)越性
2、:它的速度更快,易用性更強(qiáng)。除此之外,它的適用面也很廣,能夠運(yùn)行在各種塊設(shè)備上,即使這些設(shè)備使用了RAID和LVM也毫無障礙。dm-crypt系統(tǒng)之所以具有這些優(yōu)點(diǎn),主要得益于該技術(shù)是建立在2.6版本內(nèi)核的device-mapper特性之上的。device-mapper是設(shè)計(jì)用來為在實(shí)際的塊設(shè)備之上添加虛擬層提供一種通用靈活的方法,以方便開發(fā)人員實(shí)現(xiàn)鏡像、快照、級(jí)聯(lián)和加密等處理。此外,dm-crypt使用了內(nèi)核密碼應(yīng)用編程接口實(shí)現(xiàn)了透明的加密,并且兼容cryptloop系統(tǒng)。一、配置內(nèi)核dm-crypt利用內(nèi)核的密碼應(yīng)用編程接口來完成密碼操作。一般說來,內(nèi)核通常將各種加密程序以模塊的形式加
3、載。對(duì)于256-bitAES來說,其安全強(qiáng)度已經(jīng)非常之高,即便用來保護(hù)絕密級(jí)的數(shù)據(jù)也足夠了。因此本文中我們使用256-bitAES密碼,為了保證您的內(nèi)核已經(jīng)加載AES密碼模塊,請(qǐng)利用下列命令進(jìn)行檢查:$cat/proc/crypto如果看到類似下面的輸出的話,說明AES模塊已經(jīng)加載:name????????:aesmodule??????:aestype????????:cipherblocksize???:16minkeysize?:16maxkeysize?:32否則,我們可以利用modprobe來手工加載AES模塊,命令如下所示:$sudomodprobeaes接下來安裝dmsetu
4、p軟件包,該軟件包含有配置device-mapper所需的工具:$sudoapt-getinstalldmsetupcryptsetup為檢查dmsetup軟件包是否已經(jīng)建立了設(shè)備映象程序,鍵入下列命令:$ls-l/dev/mapper/control接下來加載dm-crypt內(nèi)核模塊:$sudomodprobedm-cryptdm-crypt加載后,它會(huì)用evice-mapper自動(dòng)注冊(cè)。如果再次檢驗(yàn)的話,device-mapper已能識(shí)別dm-crypt,并且把crypt添加為可用的對(duì)象:$sudodmsetuptargets如果一切順利,現(xiàn)在你應(yīng)該看到crypt的下列輸出:crypt
5、???????????v1.1.0striped?????????v1.0.2linear??????????v1.0.1error???????????v1.0.1這說明我們的系統(tǒng)已經(jīng)為裝載加密設(shè)備做好了準(zhǔn)備。下面,我們先來建立一個(gè)加密設(shè)備。二、建立加密設(shè)備要?jiǎng)?chuàng)建作為加密設(shè)備裝載的文件系統(tǒng),有兩種選擇:一是建立一個(gè)磁盤映像,然后作為回送設(shè)備加載;二是使用物理設(shè)備。無論那種情況,除了在建立和捆綁回送設(shè)備外,其它操作過程都是相似的。1.建立回送磁盤映象如果你沒有用來加密的物理設(shè)備(比如存儲(chǔ)棒或另外的磁盤分區(qū)),作為替換,你可以利用命令dd來建立一個(gè)空磁盤映象,然后將該映象作為回送設(shè)備來裝載,
6、照樣能用。下面我們以實(shí)例來加以介紹:$ddif=/dev/zeroof=~/secret.imgbs=1Mcount=100這里我們新建了一個(gè)大小為100MB的磁盤映象,該映象名字為secret.img。要想改變其大小,可以改變count的值。????????????????接下來,我們利用losetup命令將該映象和一個(gè)回送設(shè)備聯(lián)系起來:$sudolosetup/dev/loop/0~/secret.img現(xiàn)在,我們已經(jīng)得到了一個(gè)虛擬的塊設(shè)備,其位于/dev/loop/0,并且我們能夠如同使用其它設(shè)備那樣來使用它。2.設(shè)置塊設(shè)備準(zhǔn)備好了物理塊設(shè)備(例如/dev/sda1),或者是虛擬塊設(shè)
7、備(像前面那樣建立了回送映象,并利用device-mapper將其作為加密的邏輯卷加載),我們就可以進(jìn)行塊設(shè)備配置了。下面我們使用cryptsetup來建立邏輯卷,并將其與塊設(shè)備捆綁:$sudocryptsetup-ycreatemyEncryptedFilesystem???????????/dev/DEVICENAME其中,myEncryptedFilesystem是新建的邏輯卷的名稱。并且最后一個(gè)參數(shù)必須是將用作加