人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

教你加密Root文件系統(tǒng)(圖)

發(fā)布日期:2022-01-09 15:05 | 文章來源:源碼中國
當(dāng)你不能依靠物理安全來保證你文件的安全時,是時候采取額外的步驟加密文件系統(tǒng)了,雖然本文涉及到的是基于PowerPC的系統(tǒng),但原則上來說也適用于其他架構(gòu)的系統(tǒng)。
  在另一篇文章“實現(xiàn)加密的home目錄”中,我描寫了如何透明地加密home目錄,本文敘述另一個技術(shù)實現(xiàn)--加密的root文件系統(tǒng),我論述了GNU/Linux啟動過程和軟件需求,并提供了一些指令,對Open Firmware做了一下介紹,以及其他一些有關(guān)的考慮事項。我用于教學(xué)的系統(tǒng)是一臺基于PowerPC架構(gòu)的新世界蘋果iBOOK電腦,運行Fedora Core 3預(yù)覽版,不考慮細(xì)節(jié),本文涉及到的概念和程序可以應(yīng)用到任何設(shè)備、架構(gòu)或操作系統(tǒng)。我提供的指令假設(shè)你有一個多余的USB閃存盤并且你系統(tǒng)的支持從USB設(shè)備啟動。
  同時,我還假設(shè)讀者能輕松應(yīng)用源代碼補丁并編譯程序,對于Fedora Core 3 Test 3版本,mkinitrd和啟動腳本軟件包需要打補丁以支持加密的root文件系統(tǒng),需要掌握基本的分區(qū)管理和創(chuàng)建文件系統(tǒng)的知識,執(zhí)行一個基本的Linux發(fā)行版安裝超出了本文要求的范疇。
  在呈現(xiàn)有關(guān)的技術(shù)步驟之前,一個高層概念必須先討論:信任。信任與加密技術(shù)和認(rèn)證總是糾纏在一起的,對任何有電子密鑰的設(shè)備都可以假設(shè)它是可信任的。例如:當(dāng)自動提款機(ATM)與我的銀行賬號共用個人識別號(PIN)時,我會信任ATM不會將我的PIN與不適當(dāng)?shù)牡谌竭M行共享。同樣,當(dāng)我給我的計算機提供一個加密密鑰時,我假設(shè)這個密鑰不會與任何其他人進行共享,我會信任這臺計算機在我們之間保守秘密。
  那么,你能信任你的計算機嗎?除非你無論到哪里都帶著它,否則你真的不能信任它,即使磁盤已經(jīng)經(jīng)過加密處理也不行。設(shè)想這樣一個情景:在你睡覺時,有人偷走了你的計算機,小偷將計算機中加密的內(nèi)容做了一份拷貝,雖然沒有加密密鑰而對他來說毫無意義,但是他可以用更惡魔的內(nèi)容替換筆記本電腦加密的內(nèi)容,然后再將電腦放回去,當(dāng)你第二天醒來時,計算機提示你輸入加密密碼,但是這時你提供的密鑰會傳輸給小偷,他得到密鑰后就有一份數(shù)據(jù)和密鑰的拷貝了,他就可以讀取你的文件了。
  這個情景可能顯得比較牽強,但是它說明了一點,你不能信任你的筆記本電腦,始終保持你的眼睛你離開它很重要,因此,無論如何優(yōu)秀地實現(xiàn)你的加密系統(tǒng),要建立在信任的基礎(chǔ)前提條件下才行。
  網(wǎng)絡(luò)確保我們可以信任計算機的啟動過程,我們需要將其從計算機中分隔出來,考慮這個問題:你攜帶你的汽車鑰匙而不是攜帶你的汽車。你的密鑰自身概念上與你的汽車鑰匙一樣。你可以更容易地保護你的密鑰,因此你不用隨時隨地都攜帶上你的計算機,我們將用這個密鑰提供啟動計算機需要的軟件,閃存盤將充當(dāng)密鑰的角色,通過保護啟動系統(tǒng)最初的軟件,除加密密鑰外,我們可以有效地降低啟動過程被劫持的風(fēng)險。
  你需要連接你的計算機是如何啟動的,因為解鎖一個加密的root文件系統(tǒng)是對整體的引導(dǎo)過程有影響,目前穩(wěn)定的內(nèi)核版本是2.6,可選擇使用initramfs來幫助啟動,在lwn.net上有一篇文檔“initramfs來了”, initramfs是一個cipo歸檔,內(nèi)核知道如何解壓到基于RAM的磁盤上,這個解壓的文件系統(tǒng)包括一個傳統(tǒng)的載入內(nèi)核掛載root文件系統(tǒng)的模塊的腳本,在我們的樣例中,這個腳本也用于解鎖加密的root文件系統(tǒng),關(guān)于這個主題更多的信息可以在文件buffer-format.txt和initrd.txt中找到,這兩個文件都在Linux內(nèi)核源代碼發(fā)布包中。
  對Linux有若干個文件系統(tǒng)加密接口是可用的,Jari Ruusu的Loop-AES就是這樣一個項目,有多個cryptoloop變種提供一個加密的loopback設(shè)備,本文集中講述最近2.6Linux內(nèi)核提供的dm-crypt接口,這個接口目前已經(jīng)被Fedora項目吸收,dm-crypt模塊由Fedora內(nèi)核包提供,還需要一個靜態(tài)鏈接cryptsetup,這個實用程序簡化了dm-crypt設(shè)備的管理,最后,還需要parted和hfsutils來管理啟動文件系統(tǒng)。
  不幸的是,F(xiàn)edora Core的anaconda安裝程序還不支持在盒子外安裝加密文件系統(tǒng),網(wǎng)絡(luò)繞過這個限制,你必須保留一個空閑分區(qū)安裝Fedora,格式化空閑分區(qū)為一個加密文件系統(tǒng),然后拷貝原始安裝數(shù)據(jù)到新的加密文件系統(tǒng)上,網(wǎng)絡(luò)簡化,我們假設(shè)Fedora已經(jīng)安裝到兩個分區(qū)上:/dev/hda4,掛載到/home和/dev/hda5,掛載到/,因為/home下還沒有用戶目錄,直到Fedora安裝完畢,我們可以使用/dev/hda4作為我們的備用分區(qū),/dev/hda3作為swap分區(qū)。
  安裝Fedroa Core 3,掛載/dev/hda4到/home,/dev/hda5掛載到/,不要添加非root用戶,因為/home稍后將被清除干凈,至此,你應(yīng)該擁有一個全功能的Linux系統(tǒng)了。
  在設(shè)置加密文件系統(tǒng)之前,你應(yīng)該隨意分區(qū),這樣排除一個潛在關(guān)于磁盤內(nèi)容的信息漏洞,圖1示范了一個抽象的半滿磁盤,它沒有恰當(dāng)進行隨機排列,圖2示范了一個恰當(dāng)隨機排列的磁盤,在格式化之前包含一個加密的文件系統(tǒng),注意,從圖1中可以獲取到一些關(guān)于它的內(nèi)容的知識(如它們跨越了磁盤的二分之一),圖2提供了一個沒有那么豪華的對手,假如這樣,磁盤可以很容易被清空,分區(qū)隨機排列是通過用隨機數(shù)據(jù)重寫它的內(nèi)容實現(xiàn)的:dd if=/dev/urandom of=/dev/hda4,這個過程可能要花很長的時間,因為創(chuàng)建隨機數(shù)據(jù)有些困難的。
  

  圖1
  

  圖2隨機排列的分區(qū)隱藏了使用量
  要在/dev/hda4上創(chuàng)建一個加密的ext3文件系統(tǒng),使用下面的步驟:
  1)確認(rèn)aes,dm-mod,dm-crypt模塊已經(jīng)載入內(nèi)核
  2)卸載將要托管加密root文件系統(tǒng)的分區(qū)/dev/hda4
  #umount /dev/hda4
  3)創(chuàng)建一個隨機256位加密密鑰并存儲在/etc/root-key
  #dd if =/dev/urandom of=/etc/root-key bs=1c count=32
  這個密鑰稍后將拷貝到閃存盤。
  4)創(chuàng)建一個dm-crypt設(shè)備,使用前面創(chuàng)建的密鑰加密
  #cryptsetup -d /etc/root-key create /dev/hda4
  現(xiàn)在訪問/dev/mapper/root在/dev/hda4上提供了一個加密層,默認(rèn)情況下,cryptsetup創(chuàng)建一個aes加密的dm-crypt設(shè)備并任務(wù)密鑰大小為256位。
  5)在/dev/mapper/root上創(chuàng)建一個ext3文件系統(tǒng)
  #mkfs.ext3 /dev/mapper/root
  6)掛載新文件系統(tǒng)
  #mkdir /mnt/encroot
  #mount /dev/mapper/root /mnt/encroot
  7)現(xiàn)在你已經(jīng)有一個加密文件系統(tǒng)了,你必須用/dev/hda5(原始的root文件系統(tǒng))的內(nèi)容來填充它
  #cp -ax / /mnt/encroot
  8)最后,在/mnt/encroot/crypttab中創(chuàng)建一個條目以便不同的實用程序知道文件系統(tǒng)是如何配置的:
  root /dev/hda4 /etc/root-key cipher=aes
  現(xiàn)在我們的加密文件系統(tǒng)已經(jīng)準(zhǔn)備好了,需要理解更多關(guān)于目標(biāo)架構(gòu)的啟動過程,通常,計算機有一個固件程序來掌管系統(tǒng)啟動的全過程,保護固件程序超出了本文的范疇,因此我們假設(shè)系統(tǒng)固件程序是可以信任的,大多數(shù)讀者可能對BIOS比較熟悉,它是PC平臺的啟動固件程序,我主要討論的是Open Firmware,它用于計算機制造廠商如蘋果,sun和IBM啟動系統(tǒng)。
上一頁12 3 下一頁 閱讀全文

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部