教你加密Root文件系統(tǒng)(圖)
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-08 19:02:19 作者:佚名
我要評(píng)論
當(dāng)你不能依靠物理安全來(lái)保證你文件的安全時(shí),是時(shí)候采取額外的步驟加密文件系統(tǒng)了,雖然本文涉及到的是基于PowerPC的系統(tǒng),但原則上來(lái)說(shuō)也適用于其他架構(gòu)的系統(tǒng)。
在另一篇文章“實(shí)現(xiàn)加密的home目錄”中,我描寫(xiě)了如何透明地加密home目錄,本文敘述另一個(gè)技術(shù)實(shí)現(xiàn)--
有加密的swap或完全沒(méi)有swap空間是一個(gè)加密文件系統(tǒng)的先決條件。原因可以在文章“實(shí)現(xiàn)加密的home目錄”和BugTraq郵件列表中的一篇“Mac OS X在磁盤(pán)上存儲(chǔ)登陸/密鑰鏈/密碼”中找到。當(dāng)給啟動(dòng)腳本軟件包應(yīng)用了https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=127378的補(bǔ)丁后,F(xiàn)edora允許用戶使用一個(gè)隨機(jī)生成的會(huì)話密鑰加密他們的swap分區(qū),因?yàn)閟wap空間在重新啟動(dòng)時(shí)通常不需要一致,當(dāng)系統(tǒng)關(guān)閉時(shí)會(huì)話密鑰也不保存,要啟用加密的swap,完成下面的步驟:
1)添加下面的行到/mnt/encroot/etc/fstab,替換任何先前的swap記錄:
/dev/mapper/swap swap swap defaults 0 0
2)添加下面的行到/mnt/encroot/etc/crypttab告訴系統(tǒng)如何完成加密:
swap /dev/hda3 /dev/urandom swap
至此我們應(yīng)該可以重新啟動(dòng)系統(tǒng)并使用我們的加密文件系統(tǒng),再說(shuō)一次,我們需要暫停啟動(dòng)選項(xiàng)命令進(jìn)入Open Firmware提示符。
正如上面說(shuō)到的,閃存盤(pán)第二個(gè)分區(qū)路徑是/pci@f2000000/usb@1b,1/disk@1:2。了解了這一點(diǎn),我們可以建立路徑/pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b。在分區(qū)號(hào)和文件系統(tǒng)路徑之間的分隔符是‘,’,\ofboot.b是文件系統(tǒng)路徑,\與Unix的/類似。
> dir /pci@f2000000/usb@1b,1/disk@1:2,\
Untitled GMT File/Dir
Size/ date time TYPE Name
bytes 9/ 3/ 4 21:44:41 ???? ???? initrd.gz
2212815 8/28/ 4 12:24:21 tbxi UNIX ofboot.b
3060 9/ 3/ 4 2:21:20 ???? ???? vmlinux
141868 9/28/ 4 12:24:22 boot UNIX yaboot
914 9/28/ 4 12:24:22 conf UNIX yaboot.conf
這就確定了Open Firmware可以讀取啟動(dòng)系統(tǒng)需要的文件,設(shè)置boot-device變量的值為/pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b使得系統(tǒng)可以從閃存盤(pán)啟動(dòng):
setenv boot-device /pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b
一旦系統(tǒng)從加密root文件系統(tǒng)成功啟動(dòng),必須清除掉/dev/hda5上的所有數(shù)據(jù),可以使用隨機(jī)排列root文件系統(tǒng)分區(qū)同樣的方法來(lái)實(shí)現(xiàn):
dd if=/dev/urandom of=/dev/hda5
你可能想對(duì)hda5重寫(xiě)幾次,要想了解處理干凈一個(gè)磁盤(pán),請(qǐng)查看美國(guó)安全部門(mén)編寫(xiě)的“National Industrial Security Program Operating Manual”第八章。
根據(jù)一個(gè)安全處理原則,/dev/hda5可能被掛載為/home,/home文件系統(tǒng)也應(yīng)該被加密,幸運(yùn)的是,這是一個(gè)簡(jiǎn)單的過(guò)程,因?yàn)橄到y(tǒng)不需要/home啟動(dòng),象創(chuàng)建root文件系統(tǒng)一樣創(chuàng)建/home文件系統(tǒng)
1)確認(rèn)aes,dm-mod,dm-crypt模塊已經(jīng)載入內(nèi)核
2)卸載/dev/hda5
#umount /dev/hda5
3)創(chuàng)建一個(gè)隨機(jī)256位加密密鑰,存儲(chǔ)在/etc/home-key
#dd if=/dev/urandom of=/etc/home-key bs=1c count=32
4)創(chuàng)建一個(gè)dm-crypt設(shè)備,用剛剛生成的密鑰加密
#cryptsetup -d /etc/home-key create home /dev/hda5
5)在/dev/mapper/home上創(chuàng)建一個(gè)ext3文件系統(tǒng)
#mkfs.ext3 /dev/mapper/home
6)掛載新文件系統(tǒng)
#mount /dev/mapper/home /home
7)在/etc/crypttab中創(chuàng)建一個(gè)條目,讓各種實(shí)用程序都清楚文件系統(tǒng)是如何配置的
root /dev/hda5 /etc/home-key cipher=aes
8)最后,為/home更新/etc/fstab條目
/dev/mapper/home /home ext3 defaults 1 2
至此,可以添加非root系統(tǒng)賬號(hào)了,設(shè)置加密root文件系統(tǒng)的過(guò)程就結(jié)束了。
加密你所有數(shù)據(jù)可能很危險(xiǎn),如果加密密鑰丟失,你的數(shù)據(jù)就丟失了,就因?yàn)檫@個(gè)原因,備份你的包含有你的密鑰的閃存盤(pán)很重要,同樣,備份加密數(shù)據(jù)對(duì)應(yīng)的明文也很重要,如果你保存有一張可啟動(dòng)的緊急救援磁盤(pán),重新考慮應(yīng)該放哪些系統(tǒng)組件在上面或許很有意義,你的root和home文件系統(tǒng)、密鑰、parted、hfsutils、加密技術(shù)有關(guān)的內(nèi)核模塊以及cryptsetup腳本的拷貝都應(yīng)該放進(jìn)去。
這個(gè)技術(shù)在保護(hù)你的數(shù)據(jù)方面究竟有什么實(shí)際好處?在《Secrets and Lies》這本書(shū)中,作者Bruce Schneier提出了一個(gè)有用的手段來(lái)評(píng)估這個(gè)技術(shù),一個(gè)攻擊樹(shù)可以用于模型危險(xiǎn),圖4呈現(xiàn)了一個(gè)攻擊我們加密文件系統(tǒng)的樹(shù)型圖,值得注意的是這顆攻擊樹(shù)不是完整的,可能隨時(shí)間推移會(huì)發(fā)生改變。
圖4攻擊者如何讀取加密文件系統(tǒng)的數(shù)據(jù)
通過(guò)使用本文討論的技術(shù)和一點(diǎn)創(chuàng)新的想法,確保你磁盤(pán)上的數(shù)據(jù)對(duì)常見(jiàn)的偷竊行為更具抵抗性是可能的,跟蹤攻擊種類的發(fā)展比了解防御更重要,盡管還有其他的技術(shù)用于保護(hù)基于網(wǎng)絡(luò)的或其他類型的攻擊,但本文討論的技術(shù)對(duì)整個(gè)系統(tǒng)安全的目標(biāo)具有重要意義。
1)添加下面的行到/mnt/encroot/etc/fstab,替換任何先前的swap記錄:
/dev/mapper/swap swap swap defaults 0 0
2)添加下面的行到/mnt/encroot/etc/crypttab告訴系統(tǒng)如何完成加密:
swap /dev/hda3 /dev/urandom swap
至此我們應(yīng)該可以重新啟動(dòng)系統(tǒng)并使用我們的加密文件系統(tǒng),再說(shuō)一次,我們需要暫停啟動(dòng)選項(xiàng)命令進(jìn)入Open Firmware提示符。
正如上面說(shuō)到的,閃存盤(pán)第二個(gè)分區(qū)路徑是/pci@f2000000/usb@1b,1/disk@1:2。了解了這一點(diǎn),我們可以建立路徑/pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b。在分區(qū)號(hào)和文件系統(tǒng)路徑之間的分隔符是‘,’,\ofboot.b是文件系統(tǒng)路徑,\與Unix的/類似。
> dir /pci@f2000000/usb@1b,1/disk@1:2,\
Untitled GMT File/Dir
Size/ date time TYPE Name
bytes 9/ 3/ 4 21:44:41 ???? ???? initrd.gz
2212815 8/28/ 4 12:24:21 tbxi UNIX ofboot.b
3060 9/ 3/ 4 2:21:20 ???? ???? vmlinux
141868 9/28/ 4 12:24:22 boot UNIX yaboot
914 9/28/ 4 12:24:22 conf UNIX yaboot.conf
這就確定了Open Firmware可以讀取啟動(dòng)系統(tǒng)需要的文件,設(shè)置boot-device變量的值為/pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b使得系統(tǒng)可以從閃存盤(pán)啟動(dòng):
setenv boot-device /pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b
一旦系統(tǒng)從加密root文件系統(tǒng)成功啟動(dòng),必須清除掉/dev/hda5上的所有數(shù)據(jù),可以使用隨機(jī)排列root文件系統(tǒng)分區(qū)同樣的方法來(lái)實(shí)現(xiàn):
dd if=/dev/urandom of=/dev/hda5
你可能想對(duì)hda5重寫(xiě)幾次,要想了解處理干凈一個(gè)磁盤(pán),請(qǐng)查看美國(guó)安全部門(mén)編寫(xiě)的“National Industrial Security Program Operating Manual”第八章。
根據(jù)一個(gè)安全處理原則,/dev/hda5可能被掛載為/home,/home文件系統(tǒng)也應(yīng)該被加密,幸運(yùn)的是,這是一個(gè)簡(jiǎn)單的過(guò)程,因?yàn)橄到y(tǒng)不需要/home啟動(dòng),象創(chuàng)建root文件系統(tǒng)一樣創(chuàng)建/home文件系統(tǒng)
1)確認(rèn)aes,dm-mod,dm-crypt模塊已經(jīng)載入內(nèi)核
2)卸載/dev/hda5
#umount /dev/hda5
3)創(chuàng)建一個(gè)隨機(jī)256位加密密鑰,存儲(chǔ)在/etc/home-key
#dd if=/dev/urandom of=/etc/home-key bs=1c count=32
4)創(chuàng)建一個(gè)dm-crypt設(shè)備,用剛剛生成的密鑰加密
#cryptsetup -d /etc/home-key create home /dev/hda5
5)在/dev/mapper/home上創(chuàng)建一個(gè)ext3文件系統(tǒng)
#mkfs.ext3 /dev/mapper/home
6)掛載新文件系統(tǒng)
#mount /dev/mapper/home /home
7)在/etc/crypttab中創(chuàng)建一個(gè)條目,讓各種實(shí)用程序都清楚文件系統(tǒng)是如何配置的
root /dev/hda5 /etc/home-key cipher=aes
8)最后,為/home更新/etc/fstab條目
/dev/mapper/home /home ext3 defaults 1 2
至此,可以添加非root系統(tǒng)賬號(hào)了,設(shè)置加密root文件系統(tǒng)的過(guò)程就結(jié)束了。
加密你所有數(shù)據(jù)可能很危險(xiǎn),如果加密密鑰丟失,你的數(shù)據(jù)就丟失了,就因?yàn)檫@個(gè)原因,備份你的包含有你的密鑰的閃存盤(pán)很重要,同樣,備份加密數(shù)據(jù)對(duì)應(yīng)的明文也很重要,如果你保存有一張可啟動(dòng)的緊急救援磁盤(pán),重新考慮應(yīng)該放哪些系統(tǒng)組件在上面或許很有意義,你的root和home文件系統(tǒng)、密鑰、parted、hfsutils、加密技術(shù)有關(guān)的內(nèi)核模塊以及cryptsetup腳本的拷貝都應(yīng)該放進(jìn)去。
這個(gè)技術(shù)在保護(hù)你的數(shù)據(jù)方面究竟有什么實(shí)際好處?在《Secrets and Lies》這本書(shū)中,作者Bruce Schneier提出了一個(gè)有用的手段來(lái)評(píng)估這個(gè)技術(shù),一個(gè)攻擊樹(shù)可以用于模型危險(xiǎn),圖4呈現(xiàn)了一個(gè)攻擊我們加密文件系統(tǒng)的樹(shù)型圖,值得注意的是這顆攻擊樹(shù)不是完整的,可能隨時(shí)間推移會(huì)發(fā)生改變。
圖4攻擊者如何讀取加密文件系統(tǒng)的數(shù)據(jù)
通過(guò)使用本文討論的技術(shù)和一點(diǎn)創(chuàng)新的想法,確保你磁盤(pán)上的數(shù)據(jù)對(duì)常見(jiàn)的偷竊行為更具抵抗性是可能的,跟蹤攻擊種類的發(fā)展比了解防御更重要,盡管還有其他的技術(shù)用于保護(hù)基于網(wǎng)絡(luò)的或其他類型的攻擊,但本文討論的技術(shù)對(duì)整個(gè)系統(tǒng)安全的目標(biāo)具有重要意義。
相關(guān)文章
- “CMOS密碼”就是通常所說(shuō)的“開(kāi)機(jī)密碼”,主要是為了防止別人使用自已的計(jì)算機(jī),設(shè)置的一個(gè)屏障2023-08-01

QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒(méi)有提取OCR功能, 再次逆向我發(fā)現(xiàn)是可以本地調(diào)用QQ的OCR的,但翻譯按鈕確實(shí)沒(méi)啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04
QQ截圖是我用過(guò)的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨(dú)立版目前除了屏幕錄制功能其他都逆出來(lái)了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導(dǎo)致軟件無(wú)法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤(pán)分區(qū)安全時(shí)會(huì)采用 Windows 自帶的 BitLocker 加密工具對(duì)電腦磁盤(pán)分區(qū)進(jìn)行加密。但有些人加密后就會(huì)忘記自己設(shè)置的密碼從而導(dǎo)致在安裝其它軟2020-11-25
防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細(xì)介紹了如何才能防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-27
徹底防止計(jì)算機(jī)泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機(jī)密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計(jì)算機(jī)泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價(jià)值,2017-06-27量子計(jì)算機(jī)輕松破解加密算法 如何破解加密算法?
最近有電腦用戶反應(yīng)量子計(jì)算機(jī)可以破解下載的所有的加密算法嗎?其實(shí)也不是不可以,下面虛擬就為大家講解買臺(tái)量子計(jì)算機(jī),如何分分鐘破解加密算法2016-09-26怎么破解Webshell密碼 Burpsuite破解Webshell密碼圖文教程
webshell是以asp、php、jsp或者cgi等網(wǎng)頁(yè)文件形式存在的一種命令執(zhí)行環(huán)境,一種網(wǎng)頁(yè)后門(mén)。黑客通常會(huì)通過(guò)它控制別人網(wǎng)絡(luò)服務(wù)器,那么怎么破解webshell密碼呢?一起來(lái)看看吧2016-09-19針對(duì)Linux系統(tǒng)全盤(pán)加密的啟動(dòng)攻擊
本文討論了針對(duì)Linux系統(tǒng)全盤(pán)加密的冷啟動(dòng)攻擊,大家都認(rèn)為這種攻擊是可行的,但執(zhí)行這么一次攻擊有多難?攻擊的可行性有多少呢?需要的朋友可以參考下2015-12-28防止泄露公司機(jī)密、企業(yè)數(shù)據(jù)防泄密軟件排名、電腦文件加密軟件排行
面對(duì)日漸嚴(yán)重的內(nèi)部泄密事件,我們?nèi)绾问刈o(hù)企業(yè)的核心信息,如何防止內(nèi)部泄密也就成了擺在各個(gè)企業(yè)領(lǐng)導(dǎo)面前的一大問(wèn)題。其實(shí),針對(duì)內(nèi)網(wǎng)安全,防止內(nèi)部信息泄漏早已有了比較2015-12-17






