教你加密Root文件系统(图)
互联网 发布时间:2008-10-08 19:02:19 作者:佚名 我要评论
当你不能依靠物理安全来保证你文件的安全时,是时候采取额外的步骤加密文件系统了,虽然本文涉及到的是基于PowerPC的系统,但原则上来说也适用于其他架构的系统。
在另一篇文章“实现加密的home目录”中,我描写了如何透明地加密home目录,本文叙述另一个技术实现--
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实际上是更复杂的/pci@f4000000/ata-6@d/disk@0的一个别名,这个字符串通过子系统变量表现了路径,你可以使用Open Firmware命令查看设备对应的别名。
网络正确地设置boot-device,我们需要找出Open Firmware认出的我们闪存盘的名字,通过ls命令显示闪存盘路径,并打印出设备树:
> dev / ls
[...]
/pci@f2000000
[...]
/usb@1b,1
[...]
/disk@1
[...]
现在我们知道了一点关于计算机固件程序的知识,我们必须花些时间研究固件初始化执行程序:bootloader。通常,运行在苹果PowerPC架构上的Linux系统使用一个叫做yaboot的程序来启动系统,yaboot与LILO或GRUB类似,它包含两个关键程序:ofboot.b和yaboot。ofboot.b提供第一阶段启动过程,实际上,ofboot.b的工作决定了启动什么操作系统,例如:如果一台电脑上同时安装了Mac OS X和Linux系统,ofboot.b执行Mac OS X或Linux的bootloader,如果用户选择载入Linux,ofboot.b执行yaboot,第二阶段启动过程,然后yaboot载入Linux内核和initrd。图3提供了一个基于PowerPC架构的Linux如何使用一个加密的root文件系统启动的实例。
图3
用Open firmware启动一个基于PowerPC系统的过程
我们的可移动启动设备需要ofboot.b和yaboot程序,一个Linux内核和一个包括加密密钥的initrd文件。苹果目前基于PowerPC的架构预设它的启动介质格式化为HFS。
1)使用parted程序在闪存盘上创建正确的可启动的分区(我的是64MB大小,用设备节点/dev/sda访问)
# parted /dev/sda
(parted) mklabel mac
(parted) print
Disk geometry for /dev/sda: 0.000-62.500 megabytes
Disk label type: mac
Minor Start End Filesystem Name Flags
1 0.000 0.031 Apple
(parted) mkpart primary hfs 0.031 62.500
(parted) print
Disk geometry for /dev/sda: 0.000-62.500 megabytes
Disk label type: mac
Minor Start End Filesystem Name Flags
1 0.000 0.031 Apple
2 0.031 62.500 untitled
(parted) set 2 boot on
(parted) name 2 Apple_Boot
(parted) quit
2)在启动分区上创建HFS文件系统
# hformat /dev/sda2
3)通过修改/mnt/encroot/etc/yaboot.conf配置yaboot启动恰当的设备,下面是一个最小配置例子:
boot=/dev/sda2
ofboot=/pci@f2000000/usb@1b,1/disk@1:2
partition=2
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
default=linux
image=/vmlinux
label=linux
root=/dev/hda4
initrd=/initrd.gz
read-only
值/pci@f2000000/usb@1b,1/disk@1:2来自我们先前检查的Open Firmware设备树,/pci@f2000000/usb@1b,1/disk@1是PCI总线f2000000上的第一块USB磁盘,最有兴趣的是:2意味着分区2
4)安装启动程序和内核到/dev/sda2:
# ybin --config /mnt/encroot/etc/yaboot.conf -v
# mount /dev/sda2 /media/usbstick
# cp /boot/vmlinux /media/usbstick
就此,initrd必须被安装到闪存盘上,Fedora提供了一个叫做mkinitrd的工具来创建initrd,然而,在写本文的时候,mkinitrd还不支持加载一个加密的root文件系统,补丁在https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124789,一旦应用了补丁,mkinitrd就可以读取/etc/crypttab并创建一个恰当的initrd了:
1. mkinitrd --authtype=paranoid -f /media/usbdisk/initrd.gz
2. umount /media/usbstick
文件/mnt/encroot/etc/fstab应该被更新反映出变化:
/dev/mapper/root / ext3 defaults 1 1
在一个新世界(G3或更新的)苹果计算机初始化启动过程中,可以通过暂停选择性命令来访问Open Firmware提示符。
变量boot-device用于确定系统将从哪个设备启动,printenv命令允许查看当前的值:
> printenv
[...]
boot-devicehd:,\\:txbihd:,\\:txbi
这实际上意味着通过执行在第一块IDE磁盘上HFS类型txbi的文件来实现启动的,第二:txbi前的字符作为解释一个HFS文件类型的标志,否则,txbi可能被理解为文件路径,假如这样,标志hd实际上是更复杂的/pci@f4000000/ata-6@d/disk@0的一个别名,这个字符串通过子系统变量表现了路径,你可以使用Open Firmware命令查看设备对应的别名。
网络正确地设置boot-device,我们需要找出Open Firmware认出的我们闪存盘的名字,通过ls命令显示闪存盘路径,并打印出设备树:
> dev / ls
[...]
/pci@f2000000
[...]
/usb@1b,1
[...]
/disk@1
[...]
现在我们知道了一点关于计算机固件程序的知识,我们必须花些时间研究固件初始化执行程序:bootloader。通常,运行在苹果PowerPC架构上的Linux系统使用一个叫做yaboot的程序来启动系统,yaboot与LILO或GRUB类似,它包含两个关键程序:ofboot.b和yaboot。ofboot.b提供第一阶段启动过程,实际上,ofboot.b的工作决定了启动什么操作系统,例如:如果一台电脑上同时安装了Mac OS X和Linux系统,ofboot.b执行Mac OS X或Linux的bootloader,如果用户选择载入Linux,ofboot.b执行yaboot,第二阶段启动过程,然后yaboot载入Linux内核和initrd。图3提供了一个基于PowerPC架构的Linux如何使用一个加密的root文件系统启动的实例。
图3
用Open firmware启动一个基于PowerPC系统的过程
我们的可移动启动设备需要ofboot.b和yaboot程序,一个Linux内核和一个包括加密密钥的initrd文件。苹果目前基于PowerPC的架构预设它的启动介质格式化为HFS。
1)使用parted程序在闪存盘上创建正确的可启动的分区(我的是64MB大小,用设备节点/dev/sda访问)
# parted /dev/sda
(parted) mklabel mac
(parted) print
Disk geometry for /dev/sda: 0.000-62.500 megabytes
Disk label type: mac
Minor Start End Filesystem Name Flags
1 0.000 0.031 Apple
(parted) mkpart primary hfs 0.031 62.500
(parted) print
Disk geometry for /dev/sda: 0.000-62.500 megabytes
Disk label type: mac
Minor Start End Filesystem Name Flags
1 0.000 0.031 Apple
2 0.031 62.500 untitled
(parted) set 2 boot on
(parted) name 2 Apple_Boot
(parted) quit
2)在启动分区上创建HFS文件系统
# hformat /dev/sda2
3)通过修改/mnt/encroot/etc/yaboot.conf配置yaboot启动恰当的设备,下面是一个最小配置例子:
boot=/dev/sda2
ofboot=/pci@f2000000/usb@1b,1/disk@1:2
partition=2
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
default=linux
image=/vmlinux
label=linux
root=/dev/hda4
initrd=/initrd.gz
read-only
值/pci@f2000000/usb@1b,1/disk@1:2来自我们先前检查的Open Firmware设备树,/pci@f2000000/usb@1b,1/disk@1是PCI总线f2000000上的第一块USB磁盘,最有兴趣的是:2意味着分区2
4)安装启动程序和内核到/dev/sda2:
# ybin --config /mnt/encroot/etc/yaboot.conf -v
# mount /dev/sda2 /media/usbstick
# cp /boot/vmlinux /media/usbstick
就此,initrd必须被安装到闪存盘上,Fedora提供了一个叫做mkinitrd的工具来创建initrd,然而,在写本文的时候,mkinitrd还不支持加载一个加密的root文件系统,补丁在https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124789,一旦应用了补丁,mkinitrd就可以读取/etc/crypttab并创建一个恰当的initrd了:
1. mkinitrd --authtype=paranoid -f /media/usbdisk/initrd.gz
2. umount /media/usbstick
文件/mnt/encroot/etc/fstab应该被更新反映出变化:
/dev/mapper/root / ext3 defaults 1 1
相关文章
- “CMOS密码”就是通常所说的“开机密码”,主要是为了防止别人使用自已的计算机,设置的一个屏障2023-08-01
QQScreenShot之逆向并提取QQ截图--OCR和其他功能
上一篇文章逆向并提取QQ截图没有提取OCR功能, 再次逆向我发现是可以本地调用QQ的OCR的,但翻译按钮确实没啥用, 于是Patch了翻译按钮事件, 改为了将截图用百度以图搜图搜索.2023-02-04- QQ截图是我用过的最好用的截图工具, 由于基本不在电脑上登QQ了, 于是就想将其提取出独立版目前除了屏幕录制功能其他都逆出来了, 在此分享一下2023-02-04
非系统分区使用BitLocker加密导致软件无法安装的解决方法
很多电脑用户在考虑自己电脑磁盘分区安全时会采用 Windows 自带的 BitLocker 加密工具对电脑磁盘分区进行加密。但有些人加密后就会忘记自己设置的密码从而导致在安装其它软2020-11-25防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生
这篇文章为大家详细介绍了如何才能防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-27彻底防止计算机泄密、重要涉密人员离职泄密、涉密人员离岗离职前防范举
近些年企业商业机密泄漏的事件屡有发生,这篇文章主要教大家如何彻底防止计算机泄密、重要涉密人员离职泄密、告诉大家涉密人员离岗离职前的防范举措,具有一定的参考价值,2017-06-27- 最近有电脑用户反应量子计算机可以破解下载的所有的加密算法吗?其实也不是不可以,下面虚拟就为大家讲解买台量子计算机,如何分分钟破解加密算法2016-09-26
怎么破解Webshell密码 Burpsuite破解Webshell密码图文教程
webshell是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,一种网页后门。黑客通常会通过它控制别人网络服务器,那么怎么破解webshell密码呢?一起来看看吧2016-09-19- 本文讨论了针对Linux系统全盘加密的冷启动攻击,大家都认为这种攻击是可行的,但执行这么一次攻击有多难?攻击的可行性有多少呢?需要的朋友可以参考下2015-12-28
防止泄露公司机密、企业数据防泄密软件排名、电脑文件加密软件排行
面对日渐严重的内部泄密事件,我们如何守护企业的核心信息,如何防止内部泄密也就成了摆在各个企业领导面前的一大问题。其实,针对内网安全,防止内部信息泄漏早已有了比较2015-12-17
最新评论