76 FreeBSD连载:设置基本系统

FreeBSD系统是一种安全性非常好的通用操作系统,在Internet上很少发生FreeBSD系统被攻击的报告,事实上最近一端时间内CERT的安全报告中几乎没有发生在FreeBSD系统上的安全报告 。一方面是因为FreeBSD安全性很好,另一方面也是由于FreeBSD用户对于系统安全比较了解的缘故 。
【76 FreeBSD连载:设置基本系统】与其他Unix系统相比,FreeBSD系统的传统味道更足一些,设计者以追求完美的态度去完成每一种设计,稳定性和安全性就是其中的重要因素 。因此,初始安装好的FreeBSD系统已经具备比较高的安全性,一般用户不需要特别设置,便具备了相当高的安全性 。而且经过一些简单的设置之后,安全性可以更高 。一些商业操作系统软件声称经过了某个安全认证,其实这些认证也只是保证最基本的安全性 。当前的各种Unix版本(不包括较老的版本)经过一些设置工作,同样也能达到通过测试目的,只是包括FreeBSD在内的自由软件系统,没有资金、也没有必要去参加这类测试 。
对系统安全要求更高,而又不打算自己调整系统设置的使用者,可以选择另一种BSD Unix──OpenBSD,它使用最大安全性的策略,其缺省设置中应用了大量的系统安全措施,也因为如此,它稍微难用一些 。
设置基本系统
增强FreeBSD的安全性可以从两个方面出发,一个为使用FreeBSD提供的安全措施,这些安全措施可能在缺省情况下可能并没有打开,但能够提供额外的安全性 。另一种为安装其他辅助的安全软件,这些额外的软件可以在特定方面增加系统安全,或帮助检查系统安全的工具 。
用户登录控制
为了提高系统的安全性,一个重要的方面就是区分不同的用户,对于要使用不同服务的用户区别对待 。有些用户只使用远程登录服务的就不必具备控制台访问的权限,有些用户只在某些子网上使用系统的就不必允许在任何位置进行登录,有些帐户只是用于系统维护目的,没有任何使用者需要使用相应帐户登录,就不必允许登录请求 。
当区分不同用户的情况,最大限度的提供了登录限制之后,就能对入侵者利用窃取的帐户从其他位置进行攻击设置了障碍,提供更大的安全性 。
控制台安全控制
系统的控制台是一个非常重要的安全弱点所在的位置,因为一个使用者能接触控制台,那么就表示他得到管理人员的特殊信任 。系统缺省赋予了控制台终端以较大的安全信任 。此外,接触控制台还能从物理上访问系统硬件,包括重新启动系统、将硬盘窃取分析其中的数据等等 。然而,物理安全等措施不是在这里要讨论的内容 。
为了避免偶然的非法访问控制台造成的安全问题,所需要设置的第一件任务就是取消控制台的信任设置,这个设置位于/etc/ttys中 。
console noneunknown off secure初始设置为secure表示root用户可以在控制台登录,另外,它还表示系统重新启动之后,如果管理员要求进入单用户状态,将不询问root的口令进行验证,这是一个重要的安全漏洞 。将secure更改为insecure可以使得进入单用户状态时首先验证root口令,它带来的后果是,一旦系统损坏了passwd文件(主要是master.passwd文件),root口令无法认证,就没有办法进入单用户状态进行修复工作,此时使用安装盘启动fixit系统进行才能进行修正 。
使用另外一个运行在软盘上的小FreeBSD系统也能完成修复系统的任务,后面将介绍定制单软盘FreeBSD系统的方法,这种小系统被称为PICOBSD,可以用于设置网关或防火墙,以及可以用作专有系统的嵌入式操作系统 。
此外,为了防止用户无意中重新启动系统,还需要取消Ctrl-Alt-Del热键的重新启动能力,这需要重新定制内核时使用以下选项 。

推荐阅读