开始之前
除了您现在阅读这篇教程所使用的这台机器之外,您还需要一个可在其上任意操作的老的 Linux 安装,最好带急救盘以便在系统出问题时能恢复系统。如果在该机器上有一些数据是您今后还会用到的(即便是使用多引导设置在不同的分区或单独的硬盘上进行本教程所示的操作),那么务必在开始实践本教程中给出的技巧之前,先备份和测试这些数据。
从安装和支持经理的角度来看,Linux 的可修改性是其最大一个问题源;任何负责过大中型安装的人都多少领教过其中的艰险。每个机器都会堆叠许多其他的应用程序、未知软件的配置和安装。本教程系列面向任何想要轻松跨企业安装和管理这类大型 Linux 安装的读者。
本教程很好地解释了为何要对 Linux 的定制加强控制并采取了一些预防步骤来锁定标准的 Linux 发布以阻止对基线安装的伪造用户更改。它为本系列第 2 部分奠定了很好的基础,在第 2 部分中将构建一个内核,该内核只允许使用以一种控制方式引入到每个必须支持的机器中的签名了的二进制程序,并由此完成这个锁定过程。
在本教程中,介绍了在进行大型 Linux 安装时所必须要考虑的一些安全性问题以及如何阻止这些令人费神的问题的发生。您将看到如何设置硬件和固件来防止第一个实例内的基本篡改。最终,还会去除标准的 Linux 解释器来最小化用户在安全环境下使用未授权代码的风险。在完成本系列教程的学习后,您将能够配置工业级、锁定了的 Linux 发布,未经您亲自审计或签名的应用程序将不能注入到这个发布。
本教程是为中高级 Linux 管理员设计的。您应该十分熟悉 Linux 引导过程,可熟练使用命令行 shell 并拥有 C 编程语言的实践经验。
要跟随本教程的步骤进行学习,您必须拥有对 Linux 机器的
root 访问权,并且能够任意重引导和破坏存储于此机器上的所有数据。您还必须有已经安装好的编译环境并且有某种途径来获得该发布的 Linux 内核源和头以及本教程中特定的源代码(参阅 下载 部分)和针对您所使用的特定的 Linux 的免费 dash 实用工具(比如 Debian Linux
版的 dash
、Ubuntu Linux
版的 dash
或任何适合您的 Linux 安装的版本)。
在我撰写本教程时,我使用的是从安装 CD 安装的 Ubuntu Linux V6.10,当然,除了一些细微差别,任何您习惯使用的 Linux 发布都应该可以。如果已经有了 VMware 副本,则无需再学习本教程的硬件和固件部分,VMware 的快照实用工具可以让您更加自由地实践,因为如果 Linux 安装在任何阶段停止了引导,您都可以及时返回到一个已知的正常状态,而根本无需求助急救盘来诊断和修复问题。
