物理安全性

您首先需要考虑的安全性层次是您的计算机系统的物理安全性。谁拥有访问您计算机的直接物理连接?他们应该有吗?您能够保护您的计算机以避免这些人的篡改吗?您有这种权利吗?

对于您的系统需要多少物理安全性大都取决于您的具体情况,以及/或者预算。

如果您是一个家庭用户,您很可能不需要多少(但是您可能需要保护您的计算机避免儿童或是讨厌的亲戚的篡改)。如果您在实验室里,您就需要多多考虑了。然而人们还是要让计算机完成工作的。以下几节将为此提供帮助。如果您在办公室里,在业余时间或是当您离开时您可能也可能不需要保护您的计算机。不过,在一些公司里,让您的终端不加保护地开着可不妙。

显然,物理安全措施包括在门、电缆、橱柜和视频监视器上加锁,然而这些都在本章讨论范围之外。

计算机锁

许多现代的计算机机箱都有"锁闭"功能。通常这些机箱前部都带有一个锁孔,使用随附的钥匙能够将其置为锁闭或是开放状态。机箱锁有助于防止计算机被窃,以及避免打开机箱直接操纵或盗窃硬件设备。某些锁甚至能够阻止从软盘或其他硬件设备重新启动您的计算机。

由于主板支持不同以及机箱构造不同,这些机箱锁的作用也不尽相同。在一些计算机上,它们使得您只有打破机箱才能打开它。而另一些则阻止您插入新的键盘或鼠标。详情请参阅您的主板及机箱的说明书。这些功能有时可能非常有用,即使这些锁通常质量不高,防不了锁匠的几下子。

一些计算机(尤其是 SPARC 机和 Mac 机)背后也有保护锁。如果您把电缆穿过它,攻击者只有切断电缆或者打破机箱才能进到里面。不过挂锁和组合锁对于防止计算机被窃也挺管用的。

BIOS 安全性

BIOS 是配置及操纵基于 x86 的硬件设备的最底层软件。LILO 及其他 GNU/Linux 引导方式通过访问 BIOS 来决定如何引导 GNU/Linux 计算机。可以运行 GNU/Linux 的其他硬件设备也有类似的软件,例如:Mac 机和新式 Sun 的机器上的 Open Firmware (开放固件),Sun boot PROM (Sun 引导可编程只读存储器)等等。BIOS 可以用来阻止攻击者重新启动计算机或是操纵 GNU/Linux 系统。

有许多 PC BIOS 允许设定引导密码。这虽然提供不了多少安全性(只要进入机箱就能清除甚至移走 BIOS),但是这还不失为一种阻碍措施(即,这需要花费时间并会留下破坏的痕迹)。这些都会拖延攻击者。

信赖 BIOS 密码的另一个风险是默认密码问题。许多 BIOS 制造商并不指望万一用户遗忘 BIOS 密码时会打开机箱拔下电池,因此他们为他们制造的 BIOS 设定了默认密码。无论您选择怎样的密码,这一默认密码都会起作用。比较普遍的默认密码有:

j262
AWARD_SW
AWARD_PW
lkwpeter
Biostar
AMI
Award
bios
BIOS
setup
cmos
AMI!SW1
AMI?SW1
password
hewittrand
shift + s y x z

在某个 Award 公司的 BIOS 上 AWARD_PW 经过试验能起作用。这些密码能够很方便地从其制造商的网站和 astalavista 网站上得到,因此 BIOS 密码对于聪明的攻击者不能提供足够的防护。

许多 x86 BIOS 允许设置其他多种良好的安全设定。请查看您所用 BIOS 的手册,或者在下一次启动的时候多加注意。例如,某些 BIOS 禁止从软盘驱动器启动,另一些则需要密码才能访问某些 BIOS 功能。

[Note]

如果您拥有一台服务器,并且您设置了启动密码,那么您的服务器就不会在您毫不知情的情况下启动。请牢记:如果出了电源故障,那您就必须到场提供密码。

引导程序安全性

请记住当设定了密码,您就需要记得它们。也请记住,这些密码只能拖延顽固的攻击者。它们不会阻止任何人从软盘启动并挂载您的根目录。

如果您使用引导程序来保证安全性,您可能需要同时设置 BIOS 来禁止使用软盘重新启动计算机,并使用密码保护 BIOS

如果您使用引导程序来保证安全性,您可能需要同时设置密码保护 PROM

[Note]

同样,如果您拥有一台服务器,并且您设置了启动密码,那么您的服务器就不会在您毫不知情的情况下启动。请牢记:如果出了电源故障,那您就必须到场提供密码。

使用 LILO

LILO 能有密码设定。它具有 passwordrestricted设定。password 要求在启动时输入密码,而 restricted 只在您在 LILO 提示符后指定启动参数(比如 single)时需要输入启动密码。

关于 passwordrestricted 设定的详情请参见 lilo.conf(5)

也请您牢记,请将 /etc/lilo.conf 文件的权限设定为 600 (仅 root 可以读写),否则,其他人就可能看到您的启动密码!

使用 GRUB

GRUB 的密码设定十分灵活:默认配置文件(/boot/grub/menu.lst)中可以包含一行允许加载使用不同选项的其他配置文件(第二个配置文件又可以包含一个密码来访问第三个配置文件等等)。

因此,您必须在您的 /boot/grub/menu.lst 文件中添加一行:

password very_secret /boot/grub/menu2.lst

并同时建立一个新的 /boot/grub/menu2.lst 配置文件来存放从 /boot/grub/menu.lst 中移出的不安全的条目。

详情请参见 GRUB info 页面。

xlock 和 vlock

如果您需要不时离开您的计算机,就最好能够"锁住"您的终端以免他人篡改或是窥探您的工作。有两个程序能完成这个工作:xlockvlock

xlockX 屏幕保护程序。您可以在您的终端上从任何 xterm 中运行 xlock 命令,然后它就会锁住屏幕并需要密码以解锁。大部分桌面环境在相应的菜单中提供这一功能。

vlock 是一个简单的小程序,它让您能够锁住您的 GNU/Linux 主机的部分或是全部虚拟终端。您可以仅仅锁住您工作的那个虚拟终端或者所有的。如果您只锁住一个,其他人可以使用别的虚拟终端;除非您解锁,他们就不能使用您的那个虚拟终端。

当然,锁住您的终端就可以避免其他人篡改您的工作,但是它不能够避免他们重新启动您的计算机或是通过其他方式打断您的工作。它也不能够避免其他人通过网络上的其它计算机来访问您的计算机以导致问题。

更重要的是,它不能阻止其他人从 X Window 系统整个切换出来,并切换到普通的终端登录提示符,或到启动 X11VC 中并且挂起它以得到您的权限。因此,您只能在 KDM (或者其他登录管理器)的控制下来考虑使用它。

本地设备安全性

如果您的系统附带视频头或话筒,您就应该考虑攻击者有没有可能访问这些设备。不用的时候,可以拔出或删除这样的设备。否则,您就应该仔细察看能够访问这些设备的软件。

检测物理安全性威胁

首先需要注意的是您的计算机何时重启?由于 GNU/Linux 是一个健壮的稳定的操作系统,因此只有当为了操作系统更新,更换硬件设备,或者其他类似情况才需要关闭并重新启动计算机。如果您的计算机在您没有下令的情况下重启,这可能是入侵者侵入的征兆。许多入侵者侵入您的计算机的方法需要他们重新启动或者关闭您的计算机。

请在机箱上和计算机里检查篡改的痕迹。虽然大多数入侵者会在日志中打扫干净他们的痕迹,不过通过检查所有的日志还是能发现蛛丝马迹的。

将日志数据存放到一个安全的地方也是个好主意,比如网络中有较好保护的专门日志服务器。一旦某个计算机被攻破,其日志数据就没多大用处了。这是因为入侵者很有可能已经改动它了。

syslog 守护程序能被设置为将日志数据自动传送到中央 syslog 服务器,但是这一般是通过明码形式传递的,允许入侵者劫获并窥探。这样将透露有关您网络的不期望公开的信息。也有使用加密方式传送数据的 syslog 守护程序。

您要明白,假冒 syslog 消息很简单 –只要利用一个已经公开的存在安全漏洞的程序。syslog 甚至能够接受假装成来自本地却实际上来自网络的日志条目而无法显示其发源地。

请在您的日志数据中检查下列项目:

  • 短缺或未完成日志;

  • 含有奇怪时间戳记的日志;

  • 具有错误权限的日志;

  • 有关重新启动计算机或服务的记录条目;

  • 缺失的日志;

  • su 条目或来自奇怪地方的登录。

"追查您系统的簿记信息"中将讨论系统日志数据。