扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1. mkinitrd --authtype=paranoid -f /media/usbdisk/initrd.gz
2. umount /media/usbstick
文件/mnt/encroot/etc/fstab应该被更新反映出变化:
/dev/mapper/root / ext3 defaults 1 1
有加密的swap或完全没有swap空间是一个加密文件系统的先决条件。原因可以在文章“实现加密的home目录”和BugTraq邮件列表中的一篇“Mac OS X在磁盘上存储登陆/密钥链/密码”中找到。当给启动脚本软件包应用了https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=127378的补丁后,Fedora允许用户使用一个随机生成的会话密钥加密他们的swap分区,因为swap空间在重新启动时通常不需要一致,当系统关闭时会话密钥也不保存,要启用加密的swap,完成下面的步骤:
1)添加下面的行到/mnt/encroot/etc/fstab,替换任何先前的swap记录:
/dev/mapper/swap swap swap defaults 0 0
2)添加下面的行到/mnt/encroot/etc/crypttab告诉系统如何完成加密:
swap /dev/hda3 /dev/urandom swap
至此我们应该可以重新启动系统并使用我们的加密文件系统,再说一次,我们需要暂停启动选项命令进入Open Firmware提示符。
正如上面说到的,闪存盘第二个分区路径是/pci@f2000000/usb@1b,1/disk@1:2。了解了这一点,我们可以建立路径/pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b。在分区号和文件系统路径之间的分隔符是‘,’,\ofboot.b是文件系统路径,\与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可以读取启动系统需要的文件,设置boot-device变量的值为/pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b使得系统可以从闪存盘启动:
setenv boot-device /pci@f2000000/usb@1b,1/disk@1:2,\ofboot.b
一旦系统从加密root文件系统成功启动,必须清除掉/dev/hda5上的所有数据,可以使用随机排列root文件系统分区同样的方法来实现:
dd if=/dev/urandom of=/dev/hda5
你可能想对hda5重写几次,要想了解处理干净一个磁盘,请查看美国安全部门编写的“National Industrial Security Program Operating Manual”第八章。
根据一个安全处理原则,/dev/hda5可能被挂载为/home,/home文件系统也应该被加密,幸运的是,这是一个简单的过程,因为系统不需要/home启动,象创建root文件系统一样创建/home文件系统
1)确认aes,dm-mod,dm-crypt模块已经载入内核
2)卸载/dev/hda5
#umount /dev/hda5
3)创建一个随机256位加密密钥,存储在/etc/home-key
#dd if=/dev/urandom of=/etc/home-key bs=1c count=32
4)创建一个dm-crypt设备,用刚刚生成的密钥加密
#cryptsetup -d /etc/home-key create home /dev/hda5
5)在/dev/mapper/home上创建一个ext3文件系统
#mkfs.ext3 /dev/mapper/home
6)挂载新文件系统
#mount /dev/mapper/home /home
7)在/etc/crypttab中创建一个条目,让各种实用程序都清楚文件系统是如何配置的
root /dev/hda5 /etc/home-key cipher=aes
8)最后,为/home更新/etc/fstab条目
/dev/mapper/home /home ext3 defaults 1 2
至此,可以添加非root系统账号了,设置加密root文件系统的过程就结束了。
加密你所有数据可能很危险,如果加密密钥丢失,你的数据就丢失了,就因为这个原因,备份你的包含有你的密钥的闪存盘很重要,同样,备份加密数据对应的明文也很重要,如果你保存有一张可启动的紧急救援磁盘,重新考虑应该放哪些系统组件在上面或许很有意义,你的root和home文件系统、密钥、parted、hfsutils、加密技术有关的内核模块以及cryptsetup脚本的拷贝都应该放进去。
这个技术在保护你的数据方面究竟有什么实际好处?在《Secrets and Lies》这本书中,作者Bruce Schneier提出了一个有用的手段来评估这个技术,一个攻击树可以用于模型危险,图4呈现了一个攻击我们加密文件系统的树型图,值得注意的是这颗攻击树不是完整的,可能随时间推移会发生改变。
图4攻击者如何读取加密文件系统的数据 |
通过使用本文讨论的技术和一点创新的想法,确保你磁盘上的数据对常见的偷窃行为更具抵抗性是可能的,跟踪攻击种类的发展比了解防御更重要,尽管还有其他的技术用于保护基于网络的或其他类型的攻击,但本文讨论的技术对整个系统安全的目标具有重要意义
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。