Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101426916
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-29 16:43:00

作者: Mike Petullo/黄永兵 译 出处:51CTO.com 
 
在设置加密文件系统之前,你应该随意分区,这样排除一个潜在关于磁盘内容的信息漏洞,图1示范了一个抽象的半满磁盘,它没有恰当进行随机排列,图2示范了一个恰当随机排列的磁盘,在格式化之前包含一个加密的文件系统,注意,从图1中可以获取到一些关于它的内容的知识(如它们跨越了磁盘的二分之一),图2提供了一个没有那么豪华的对手,假如这样,磁盘可以很容易被清空,分区随机排列是通过用随机数据重写它的内容实现的:dd if=/dev/urandom of=/dev/hda4,这个过程可能要花很长的时间,因为创建随机数据有些困难的。

1

2随机排列的分区隐藏了使用量

要在/dev/hda4上创建一个加密的ext3文件系统,使用下面的步骤:
1)确认aes,dm-mod,dm-crypt模块已经载入内核
2)卸载将要托管加密root文件系统的分区/dev/hda4
#umount /dev/hda4
3)创建一个随机256位加密密钥并存储在/etc/root-key
#dd if =/dev/urandom of=/etc/root-key bs=1c count=32
这个密钥稍后将拷贝到闪存盘。
4)创建一个dm-crypt设备,使用前面创建的密钥加密
#cryptsetup -d /etc/root-key create /dev/hda4
现在访问/dev/mapper/root在/dev/hda4上提供了一个加密层,默认情况下,cryptsetup创建一个aes加密的dm-crypt设备并任务密钥大小为256位。
5)在/dev/mapper/root上创建一个ext3文件系统
#mkfs.ext3 /dev/mapper/root
6)挂载新文件系统
#mkdir /mnt/encroot
#mount /dev/mapper/root /mnt/encroot
7)现在你已经有一个加密文件系统了,你必须用/dev/hda5(原始的root文件系统)的内容来填充它
#cp -ax / /mnt/encroot
8)最后,在/mnt/encroot/crypttab中创建一个条目以便不同的实用程序知道文件系统是如何配置的:
root  /dev/hda4   /etc/root-key  cipher=aes

现在我们的加密文件系统已经准备好了,需要理解更多关于目标架构的启动过程,通常,计算机有一个固件程序来掌管系统启动的全过程,保护固件程序超出了本文的范畴,因此我们假设系统固件程序是可以信任的,大多数读者可能对BIOS比较熟悉,它是PC平台的启动固件程序,我主要讨论的是Open Firmware,它用于计算机制造厂商如苹果,sun和IBM启动系统。

NetBSD/macppc的安装指令对Open Firmware做了一个充分的介绍,我们对使用Open Firmware命令行接口配置计算机从一个闪存盘启动非常感兴趣,Open Firmware允许你查看连接到计算机的设备和设置固件程序变量的值。
在一个新世界(G3或更新的)苹果计算机初始化启动过程中,可以通过暂停选择性命令来访问Open Firmware提示符。

变量boot-device用于确定系统将从哪个设备启动,printenv命令允许查看当前的值:
> printenv
[...]
boot-devicehd:,\\:txbihd:,\\:txbi

这实际上意味着通过执行在第一块IDE磁盘上HFS类型txbi的文件来实现启动的,第二:txbi前的字符作为解释一个HFS文件类型的标志,否则,txbi可能被理解为文件路径,假如这样,标志hd实际上是更复杂的的一个别名,这个字符串通过子系统变量表现了路径,你可以使用Open Firmware命令查看设备对应的别名。

阅读(869) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~