9. 安全准备(上线之前)

好,那么您已经检查过整个系统,确定它足够安全,并准备上线了。现在,为了准备对付入侵并迅速恢复,有些事情您还应该完成。

9.1. 完整备份您的计算机

有关备份方式及其存储设备的讨论超出了本章的范围,在此仅简单介绍关于备份和安全性的问题:

如果您在某个分区中拥有少于 650MB 数据,做个 CD-R 副本是个不错的选择(因为过后很难篡改其中的数据,并且如果保存得当的话能维持很长时间),当然您需要至少 650MB 空间来建立映像。在备份完成后,磁带和其他可重写设备应该打开写保护,并且还要验证以免篡改。请确认您将备份储存于某个安全的脱机区域。一个良好的备份确保了能将系统恢复到某个良好的恢复点。

9.2. 选择良好的备份时间规划

六磁带周期很易于维护。其中四盘磁带用于星期一到星期四,一盘用于奇数周星期五,一盘用于偶数周星期五。每天做增量备份,而在星期五那盘作完全备份。如果您做了某些非常重要的更改,或是向系统添加了某些重要的数据,也应该制作一份完全备份。

9.3. 测试备份

您应该定期测试备份以确定它们正如您期望的那样起作用。恢复文件并与真实数据、大小和备份列表做比较,并且定期读取旧的备份。

9.4. 备份 RPM 文件数据库

当入侵发生后,您可以执行 tripwire 来使用您的 RPM 数据库。但这仅当您能够确定它未被更改的情况下。您应该将您的 RPM 数据库复制到软盘上,并随时在脱机状态下保存该副本。

/var/lib/rpm/fileindex.rpm/var/lib/rpm/packages.rpm 文件可能塞不进一片软盘。但是经过压缩以后,每一个文件应该都能保存到一片独立的软盘上。

现在,当您的系统被攻破,您可以执行以下命令:

root#  rpm -Va

来验证系统上的每一个文件。参见 rpm 手册页,因为其中包含了一些其他选项使得输出更为简洁。请牢记,您也必需确定您的 RPM 二进制文件未被危害。

这意味着每当有新的 RPM 被加入您的系统时,就必需重新存档您的 RPM 数据库。您需要在这些优缺点中作出选择。

9.5. 追查您系统的簿记信息

确保来自 syslog 的信息未被篡改非常重要。请保证 /var/log 中的文件只能被限定数量的用户读写。

请关注其中写了些什么,尤其在 auth 条目中。例如:屡次登录失败意味着某个闯入的尝试。

您需要查看 /var/log 中的 messagesmail.log 及其他文件。

您也可能需要将您的日志循环时间设置得长一些,以便您有时间检查它们。请参见logrotate(8)

如果您的日志文件被篡改了,看看您能否找出篡改的起始时间,以及什么类型的东西表现出篡改的痕迹。是否有一段很长的时期不知所谓?请检查您的备份磁带(如果有的话)以找出未被篡改的日志文件。

入侵者通常为了掩盖其痕迹而修改日志文件,但是仍然应该检查其中出现的奇怪事情。您可能会注意到入侵者进入的企图,或是攻击某个程序以获得 root 账户的企图。您也可能在入侵者有时间修改日志之前看到它们。

您也应该确保将 auth 条目同其他的分开。其中包括企图使用 su 切换用户,登录企图,和其他用户簿记信息。

如果可能的话,请配置 syslog 以向安全系统发送一份最重要数据的副本。这将阻止入侵者通过删除他的 login/su/ftp 等企图掩盖其踪迹。请参见 syslog.conf 手册页,并参考其 @ 选项。

存在许多更先进的 syslogd 程序。关于安全系统日志的详情请浏览 SDSC 系统日志主页。安全系统日志让您能够加密您的系统日志条目,并确保无人可以篡改。

另一个拥有更多功能的 syslogdsyslog-ng。它允许您更为灵活地记录日志,并可以加密远程 syslog 流以阻止篡改。

最后,如果没有人阅读,日志文件就没什么用处。每隔一段时间,请抽时间查看日志文件,并且将其同正常情况下应该呈现的状态比较。了解这些能够帮助您剔出不寻常的东西。

9.6. 应用所有新的系统更新

大部分用户从 CD-ROM 安装系统。由于安全问题快速发展的特点,新的(修补过的)程序不断发布。将您的计算机连入 Internet 之前,请运行 MandrivaUpdate(在另一台连入 Internet 的计算机上),以获得自从您得到您的发行版 CD-ROM 之后发布的软件包更新。这些软件包经常包含重要的安全修补,请安装它们。