文件系统:深度研究加密你的Root文件系统

来源:51cto.com

当你不能依靠物理安全来保证你文件安全时是时候采取额外步骤加密文件系统了虽然本文涉及到是基于PowerPC系统但原则上来说也适用于其他架构系统

在另篇文章“实现加密home目录”中我描写了如何透明地加密home目录本文叙述另个技术实现--加密root文件系统我论述了GNU/Linux启动过程和软件Software需求并提供了些指令对Open Firmware做了下介绍以及其他些有关考虑事项我用于教学系统是台基于PowerPC架构新世界苹果iBOOK电脑运行Fedora Core 3预览版不考虑细节本文涉及到概念和可以应用到任何设备、架构或操作系统我提供指令假设你有个多余USB闪存盘并且你系统支持从USB设备启动

同时我还假设读者能轻松应用源代码补丁并编译对于Fedora Core 3 Test 3版本mkinitrd和启动脚本软件Software包需要打补丁以支持加密root文件系统需要掌握基本分区管理和创建文件系统知识执行个基本Linux发行版安装超出了本文要求范畴

在呈现有关技术步骤的前个高层概念必须先讨论:信任信任和加密技术和认证总是纠缠在对任何有电子密钥设备都可以假设它是可信任例如:当自动提款机(ATM)和我银行账号共用个人识别号(PIN)时我会信任ATM不会将我PIN和不适当第 3方进行共享同样当我给我计算机提供个加密密钥时我假设这个密钥不会和任何其他人进行共享我会信任这台计算机在我们的间保守秘密

那么你能信任你计算机吗?除非你无论到哪里都带着它否则你真不能信任它即使磁盘已经经过加密处理也不行设想这样个情景:在你睡觉时有人偷走了你计算机小偷将计算机中加密内容做了份拷贝虽然没有加密密钥而对他来说毫无意义但是他可以用更恶魔内容替换笔记本电脑加密内容然后再将电脑放回去当你第 2天醒来时计算机提示你输入加密密码但是这时你提供密钥会传输给小偷他得到密钥后就有份数据和密钥拷贝了他就可以读取你文件了

这个情景可能显得比较牵强但是它介绍说明了你不能信任你笔记本电脑始终保持你眼睛你离开它很重要因此无论如何优秀地实现你加密系统要建立在信任基础前提条件下才行

网络确保我们可以信任计算机启动过程我们需要将其从计算机中分隔出来考虑这个问题:你携带你汽车钥匙而不是携带你汽车密钥自身概念上和你汽车钥匙你可以更容易地保护你密钥因此你不用随时随地都携带上你计算机我们将用这个密钥提供启动计算机需要软件Software闪存盘将充当密钥角色通过保护启动系统最初软件Software除加密密钥外我们可以有效地降低启动过程被劫持风险

你需要连接你计算机是如何启动解锁个加密root文件系统是对整体引导过程有影响目前稳定内核版本是2.6可选择使用initramfs来帮助启动在lwn.net上有篇文档“initramfs来了” initramfs是个cipo归档内核知道如何解压到基于RAM磁盘上这个解压文件系统包括个传统载入内核挂载root文件系统模块脚本在我们样例中这个脚本也用于解锁加密root文件系统有关这个主题更多信息可以在文件buffer-format.txt和initrd.txt中找到这两个文件都在Linux内核源代码发布包中
对Linux有若干个文件系统加密接口是可用Jari RuusuLoop-AES就是这样个项目有多个cryptoloop变种提供个加密loopback设备本文集中讲述最近2.6Linux内核提供dm-crypt接口这个接口目前已经被Fedora项目吸收dm-crypt模块由Fedora内核包提供还需要个静态链接cryptup这个实用简化了dm-crypt设备管理最后还需要parted和hfsutils来管理启动文件系统

不幸Fedora Coreanaconda安装还不支持在盒子外安装加密文件系统网络绕过这个限制你必须保留个空闲分区安装Fedora格式化空闲分区为个加密文件系统然后拷贝原始安装数据到新加密文件系统上网络简化我们假设Fedora已经安装到两个分区上:/dev/hda4挂载到/home和/dev/hda5挂载到//home下还没有用户目录直到Fedora安装完毕我们可以使用/dev/hda4作为我们备用分区/dev/hda3作为swap分区

安装Fedroa Core 3挂载/dev/hda4到/home/dev/hda5挂载到/不要添加非root用户/home稍后将被清除干净至此你应该拥有个全功能Linux系统了





  • 篇文章: Metasploit渗透工具应用

  • 篇文章: 没有了
  • Tags:  文件系统raw 分布式文件系统 linux文件系统 文件系统

    延伸阅读

    最新评论

    发表评论