偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用DM-Crypt加密Linux文件系統(tǒng)?

譯文
系統(tǒng) Linux 系統(tǒng)運(yùn)維
文件系統(tǒng)(file system)是指你目錄的布局,包括/dev目錄之類(lèi)的目錄,表示不同的硬件設(shè)備,實(shí)際上并不指代磁盤(pán)驅(qū)動(dòng)器上的文件。而“filesystem”指的是管理文件和目錄的軟件。本文介紹如何為L(zhǎng)inux實(shí)施一種文件系統(tǒng)加密方法。

[[143392]]

讀者經(jīng)常詢(xún)問(wèn)我們的一個(gè)常見(jiàn)問(wèn)題是,如何為L(zhǎng)inux實(shí)施一種文件系統(tǒng)加密方法。在深入探討這個(gè)話(huà)題之前,我想要闡明兩點(diǎn):

首先,很難在網(wǎng)上找到這方面足夠多的信息。于是,我會(huì)向大家介紹幾個(gè)好不容易找到的確實(shí)很棒的資源(實(shí)際上是幾篇教程)。

其次,明白這個(gè)問(wèn)題的技術(shù)細(xì)節(jié)很重要。這也是我在本文中所要探討的,之后我會(huì)介紹如何實(shí)現(xiàn)加密,然后介紹其他資源。

人們時(shí)常說(shuō)想要加密數(shù)據(jù),但是他們常常忽視了一個(gè)根本的方面:他們到底想對(duì)什么進(jìn)行加密?他們是想從軟件包里面對(duì)數(shù)據(jù)進(jìn)行加密,然后將該數(shù)據(jù)存儲(chǔ)到硬驅(qū)上的單個(gè)文件中?比如說(shuō),他們是想讓LibreOffice創(chuàng)建整個(gè).odt文字處理文檔,對(duì)它進(jìn)行加密,然后將加密的結(jié)果作為單個(gè)文件寫(xiě)入到文件系統(tǒng),就像下圖那樣?還是說(shuō)他們想讓Linux在文件系統(tǒng)層面自行處理加密?

 

一種方法就是從軟件包里面加密數(shù)據(jù),然后將該數(shù)據(jù)存儲(chǔ)到硬驅(qū)上的單個(gè)文件中?;蛘週inux會(huì)在文件系統(tǒng)層面自行處理加密。

以Linux處理加密事務(wù)為例,LibreOffice除了讀取和寫(xiě)入文件外,什么也不做,就像它目前所做的那樣。Linux會(huì)加密文件,然后將文件實(shí)際寫(xiě)入到磁盤(pán)上,解密后回過(guò)頭來(lái)讀取文件。這是我在這里采取的方法,但是你還要提出另外許多問(wèn)題。想要提出合適的問(wèn)題,你就要明白塊存儲(chǔ)的工作原理。不妨先看一下塊存儲(chǔ)。

塊級(jí)存儲(chǔ)

操作系統(tǒng)處理本地驅(qū)動(dòng)器時(shí),操作系統(tǒng)使用filesystem軟件來(lái)格式化驅(qū)動(dòng)器,然后讀取并寫(xiě)入單個(gè)扇區(qū)。保存文件時(shí),filesystem軟件弄清楚需要寫(xiě)入的扇區(qū)。讀取文件時(shí),filesystem會(huì)弄清楚數(shù)據(jù)在哪些扇區(qū)上,然后讀取那些扇區(qū),為你重構(gòu)文件。想管理文件,filesystem使用不同類(lèi)型的索引,它將這些索引也存儲(chǔ)在磁盤(pán)上。不同的filesystem軟件使用不同的方式來(lái)組織數(shù)據(jù),還包括不同的安全機(jī)制;最終結(jié)果就是有了不同的文件系統(tǒng),比如ext4和NTFS。

底層細(xì)節(jié)

我們已交待清楚了塊級(jí)設(shè)備的工作原因,不妨考慮這個(gè):操作系統(tǒng)使用其filesystem軟件,將數(shù)據(jù)扇區(qū)寫(xiě)入到驅(qū)動(dòng)器。filesystem軟件確定將數(shù)據(jù)扇區(qū)寫(xiě)入到何處、如何組織它們,包括創(chuàng)建描述文件名稱(chēng)、組織方式等信息的元數(shù)據(jù)。但是filesystem軟件為了執(zhí)行實(shí)際讀取并寫(xiě)入到驅(qū)動(dòng)器的操作,就需要有設(shè)備驅(qū)動(dòng)程序來(lái)做實(shí)際控制設(shè)備本身的工作,如下圖的左邊所示(驅(qū)動(dòng)程序在/dev目錄里面的文件系統(tǒng)層次結(jié)構(gòu)中已有表示)。

 

filesystem軟件能夠在寫(xiě)入數(shù)據(jù)之前進(jìn)行加密。或者,位于filesystem軟件與設(shè)備驅(qū)動(dòng)程序之間的某個(gè)軟件能進(jìn)行加密。

就在filesystem軟件與設(shè)備驅(qū)動(dòng)程序之間的這個(gè)點(diǎn),加密方面需要做出選擇:你是想讓filesystem軟件進(jìn)行加密,然后寫(xiě)入數(shù)據(jù)呢?還是說(shuō),我們實(shí)際上將一個(gè)軟件嵌入到filesystem軟件與設(shè)備驅(qū)動(dòng)程序之間怎么樣?這樣一來(lái),filesystem會(huì)像平常那樣運(yùn)轉(zhuǎn),但是當(dāng)它試圖訪問(wèn)設(shè)備時(shí),其調(diào)用改而由加密軟件來(lái)處理,如上圖的右邊所示。我們?cè)诒疚闹幸捎眠@種方法。不過(guò)先不妨談?wù)摿硗鈳讉€(gè)問(wèn)題。

順便說(shuō)一下,如果你想看看設(shè)備驅(qū)動(dòng)程序在Linux系統(tǒng)的/dev目錄中如何存在,可以參閱本文:http://www.linuxdevcenter.com/pub/a/linux/2007/07/05/devhelloworld-a-simple-introduction-to-device-drivers-under-linux.html?page=1。它包括編程方面,但是如果你不是編程員,就點(diǎn)擊到第2頁(yè),向下滾動(dòng)鼠標(biāo),找到標(biāo)為Hello, World! Using /dev/hello_world的章節(jié),閱讀第一段,上面作了具體細(xì)致的解釋。)

如果你想加密整個(gè)分區(qū),可以考慮加密整個(gè)驅(qū)動(dòng)器。不過(guò)這里存在一個(gè)小問(wèn)題。如果計(jì)算機(jī)從該驅(qū)動(dòng)器啟動(dòng),驅(qū)動(dòng)器就需要一個(gè)小小的分區(qū)專(zhuān)門(mén)用于存放啟動(dòng)代碼。該啟動(dòng)代碼是機(jī)器代碼,計(jì)算機(jī)讀入后執(zhí)行,才能啟動(dòng)計(jì)算機(jī)。如果整個(gè)硬驅(qū)經(jīng)過(guò)了加密,包括這部分?jǐn)?shù)據(jù),計(jì)算機(jī)就需要某種方式來(lái)解讀數(shù)據(jù)。但是計(jì)算機(jī)還沒(méi)有裝入文件系統(tǒng),所以它沒(méi)法讀取解密它的程序。看到問(wèn)題之所在了嗎?解密代碼需要在BIOS本身里面。但是大多數(shù)計(jì)算機(jī)沒(méi)有這種代碼。而這意味著啟動(dòng)記錄其實(shí)無(wú)法被加密。不過(guò)人們已經(jīng)討論了解決這個(gè)問(wèn)題的種種方法(參閱:http://www.linuxquestions.org/questions/linux-security-4/full-disk-encryption-on-boot-partition-626270/),比如把啟動(dòng)代碼放在可移動(dòng)USB驅(qū)動(dòng)器上面。

遠(yuǎn)程驅(qū)動(dòng)器

如果你的驅(qū)動(dòng)器是遠(yuǎn)程驅(qū)動(dòng)器,有幾種方法可以訪問(wèn)數(shù)據(jù);這對(duì)于你了解可以使用哪種類(lèi)型的加密很重要。兩種方法是:

•塊級(jí)存儲(chǔ)就像使用本地驅(qū)動(dòng)器那樣,因而你的filesystem軟件可以讀取并直接寫(xiě)入到遠(yuǎn)程磁盤(pán)上的扇區(qū)。

•文件級(jí)存儲(chǔ),你的操作系統(tǒng)將文件發(fā)送到遠(yuǎn)程服務(wù)器,遠(yuǎn)程服務(wù)器有自己的操作系統(tǒng)和filesystem軟件;該遠(yuǎn)程服務(wù)器進(jìn)而將文件寫(xiě)入到其磁盤(pán)上。

如果是文件級(jí)存儲(chǔ),你在加密方面沒(méi)有太多的選擇。如果你想加密數(shù)據(jù),就需要在你的應(yīng)用程序中加密它,然后將數(shù)據(jù)發(fā)送到遠(yuǎn)程服務(wù)器上存儲(chǔ)起來(lái)。

但如果是塊級(jí)遠(yuǎn)程存儲(chǔ),確實(shí)有幾個(gè)辦法。比如說(shuō),如果你使用云托管服務(wù),因而你能將不同的卷連接到分配的服務(wù)器,你通常可以使用塊級(jí)存儲(chǔ)。卷未必物理連接到你的托管服務(wù)器;不過(guò),服務(wù)器可以訪問(wèn)它們,好像它們就是本地卷那樣,并且格式化卷,讀取和寫(xiě)入單個(gè)扇區(qū),就好像驅(qū)動(dòng)器是本地掛載的。這意味著,如果是塊級(jí)遠(yuǎn)程存儲(chǔ),你可以在文件系統(tǒng)層面執(zhí)行加密,就好像在本地計(jì)算機(jī)和本地驅(qū)動(dòng)器上執(zhí)行加密那樣。

軟件

       現(xiàn)在我們知道了想要完成的任務(wù);問(wèn)題是,你該如何實(shí)現(xiàn)呢?事實(shí)上,Linux內(nèi)置了一個(gè)軟件包,使用我之前介紹的那種方法,即把軟件嵌入到filesystem軟件與設(shè)備驅(qū)動(dòng)程序之間。該軟件名為dm-crypt。而dm-crypt可以加密數(shù)據(jù),然后使用一種名為L(zhǎng)UKS的存儲(chǔ)格式,將數(shù)據(jù)寫(xiě)入到存儲(chǔ)設(shè)備(通過(guò)設(shè)備驅(qū)動(dòng)程序)上。

LUKS(Linux統(tǒng)一密鑰設(shè)置)是驅(qū)動(dòng)器本身上面所用的格式,它實(shí)際上用來(lái)取代ext4之類(lèi)的文件系統(tǒng)。dm-crypt系統(tǒng)位于filesystem軟件與設(shè)備驅(qū)動(dòng)程序之間; filesystem軟件讀取和寫(xiě)入ext4,而ext4數(shù)據(jù)通過(guò)dm-crypt加以推送,然后dm-crypt將數(shù)據(jù)以LUKS格式存儲(chǔ)到驅(qū)動(dòng)器上。因而,實(shí)際上ext4或NTFS之類(lèi)的文件系統(tǒng)就在經(jīng)過(guò)加密的LUKS格式的“上面”。

請(qǐng)注意:dm-crypt是子系統(tǒng)的名稱(chēng),你可以使用諸多工具來(lái)處理它。沒(méi)有名為dm-crypt的單個(gè)命令。你可以使用一些程序來(lái)管理dm-crypt:

cryptsetup:這個(gè)命令行程序?yàn)槟闾峁┝说讓釉L問(wèn)權(quán),以便管理創(chuàng)建dm-crypt管理的設(shè)備這一任務(wù)。

cryptmount:這個(gè)程序提供了更多的功能特性,更易于使用一點(diǎn),具體可參閱幾年前的這篇文章:http://www.enterprisenetworkingplanet.com/netsecur/article.php/3742191/Create-Encrypted-Volumes-With-Cryptmount-and-Linux.htm。

其他功能特性

dm-crypt系統(tǒng)的一個(gè)優(yōu)點(diǎn)在于,它沒(méi)必要直接處理磁盤(pán)驅(qū)動(dòng)程序。相反,它可以將所有數(shù)據(jù)保存到單個(gè)文件中,而不是使用LUKS和整個(gè)磁盤(pán)分區(qū)。這就意味著,你可以讓dm-crypt創(chuàng)建單個(gè)文件,然后你可以在單個(gè)文件里面創(chuàng)建整個(gè)文件系統(tǒng)。之后,你可以將該單個(gè)文件作為單獨(dú)的驅(qū)動(dòng)器來(lái)掛載,然后從任何軟件來(lái)訪問(wèn)它,就像你對(duì)待其他任何驅(qū)動(dòng)器那樣。

云驅(qū)動(dòng)器

由于一些云服務(wù)提供商(比如亞馬遜網(wǎng)絡(luò)服務(wù))為你提供了全面的根訪問(wèn)權(quán),可以訪問(wèn)連接到你服務(wù)器的塊設(shè)備,你可以充分利用dm-crypt;可以用LUKS格式來(lái)格式化塊設(shè)備,然后將它準(zhǔn)備用于你的dm-crypt系統(tǒng);之后,你完全可以用ext4文件系統(tǒng)來(lái)格式化它。最終結(jié)果就是完全加密的驅(qū)動(dòng)器駐留在云端,你可以自行管理這個(gè)驅(qū)動(dòng)器。想不想試一試?這篇教程就介紹了使用cryptsetup程序來(lái)加密:http://silvexis.com/2011/11/26/encrypting-your-data-on-amazon-ec2/。

另外一些云服務(wù)提供商不像AWS那樣讓你可以直接訪問(wèn)塊設(shè)備。比如說(shuō),Digital Ocean就不允許你直接訪問(wèn);不過(guò)你仍可以創(chuàng)建一個(gè)文件,安裝dm-crypt來(lái)使用那個(gè)文件,然后在文件里面創(chuàng)建一個(gè)所謂的“容器”,它代表了文件系統(tǒng)。實(shí)際上,這個(gè)過(guò)程與你在自己的本地機(jī)器上創(chuàng)建一個(gè)加密的容器文件如出一轍。這里有一篇出自Digital Ocean網(wǎng)站的教程:https://www.digitalocean.com/community/tutorials/how-to-use-dm-crypt-to-create-an-encrypted-volume-on-an-ubuntu-vps,介紹了創(chuàng)建dm-crypt LUKS容器文件。在該教程中要注意:就像使用塊設(shè)備那樣,你可以創(chuàng)建整個(gè)文件系統(tǒng)(比如ext4),不過(guò)在這里,該文件系統(tǒng)駐留在容器文件里面。

本地驅(qū)動(dòng)器

而這就引出了我們?nèi)绾卧诒镜貙?shí)現(xiàn)這一切的話(huà)題。在亞馬遜上創(chuàng)建加密驅(qū)動(dòng)器的上述教程涉及的步驟與在你自己的硬驅(qū)上本地創(chuàng)建加密驅(qū)動(dòng)器一個(gè)樣。不過(guò)另一篇教程(https://www.howtoforge.com/tutorial/how-to-encrypt-a-linux-partition-with-dm-crypt-luks/)給出了逐步的說(shuō)明,以便在你自己的硬驅(qū)上本地創(chuàng)建,它也使用cryptsetup。

如果你想創(chuàng)建一個(gè)本地容器驅(qū)動(dòng)器,含有整個(gè)經(jīng)過(guò)加密的文件系統(tǒng),只要遵循上面Digital Ocean教程中的步驟即可。

或者,如果你想使用另一個(gè)程序cryptmount來(lái)加密整個(gè)分區(qū)或創(chuàng)建容器文件,請(qǐng)關(guān)注這篇教程:http://www.enterprisenetworkingplanet.com/netsecur/article.php/3742191/Create-Encrypted-Volumes-With-Cryptmount-and-Linux.htm。作者Carla Schroder給出了幾個(gè)明確的步驟。

結(jié)束語(yǔ)

就是這樣。想知道如何加密,重要的一點(diǎn)是先要完全了解你實(shí)際上試圖完成什么任務(wù):讓?xiě)?yīng)用程序加密和解密數(shù)據(jù),還是讓操作系統(tǒng)處理加密;是加密整個(gè)分區(qū),還是僅僅加密個(gè)別文件;是不是想創(chuàng)建保存加密文件的容器。之后,你可以遵照我在本文中給出鏈接的幾個(gè)教程中提到的步驟,順利完成加密。

 

 

責(zé)任編輯:火鳳凰 來(lái)源: 51CTO
相關(guān)推薦

2012-07-05 10:06:13

2018-12-10 09:00:00

Linux加密分區(qū)dm-crypt

2012-07-18 13:07:14

加密文件系統(tǒng)Wi-Fi防火墻

2020-10-29 08:34:48

Linux - tmp

2009-12-10 09:42:07

2018-05-02 08:35:33

LinuxTripwire文件系統(tǒng)

2011-01-13 14:10:30

Linux文件系統(tǒng)

2012-07-05 09:52:06

EFS文件加密

2019-01-29 10:43:59

Linux 系統(tǒng) 數(shù)據(jù)

2020-07-22 14:53:06

Linux系統(tǒng)虛擬文件

2019-03-04 14:40:46

Linux文件系統(tǒng)修復(fù)

2010-11-04 10:16:11

inotify監(jiān)控Linux文件系統(tǒng)

2010-03-16 14:42:16

linux環(huán)境

2009-12-14 13:33:31

linuxramdisk文件系統(tǒng)

2021-06-06 16:55:22

Linux文件系統(tǒng)

2021-04-12 05:44:44

Linux文件系統(tǒng)

2009-11-06 10:05:18

Linux系統(tǒng)環(huán)境GFS

2010-03-05 17:43:00

Linux XFS文件

2010-03-02 13:27:17

LinuxXFS文件系

2011-01-25 10:27:12

Linux 文件系統(tǒng)屬
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)