UNIX的系统安全和系统管理员有很大的关系。服务安装的越多,越容易导致系统的安全漏洞。其他的某些操作系统,如: SCO,实际上更容易有安全漏洞,因为,为了更加“用户友好”,这些操作系统集成了更多的服务。

Linux本身是稳定和安全的,但是它可以以不同的形式发行。安装 Linux时,最好先最小化安装,然后再加上必要的软件。这样可以减小某个程序出现安全隐患的可能。如果管理得好,Linux将是最安全的系统。
如果系统中有隐患存在,网络上成千上万的自愿者就会指出隐患并给出修正。大公司,比如:商业软件公司,只能投入有限的人力用于解决这方面的问题。把问题公开出来,对它们来说可能没有好处,而且通过正规的发行和升级渠道,一个小小修正到用户手中要很长的时间。
也许这些修正会以补丁的方式出现,但是商业软件的系统管理员都倾向于使用现成的软件,而且自以为这些软件都是很专业的。
编程时随时可能发生错误,但是,如果有上万个人在看程序的源代码,这些错误就能很快地发现。目前全球共有一千二百万的 Linux拷贝,想想看,这是一种什么情况。如果系统有安全漏洞,则很容易就被某个人发现了。
本章讨论保证服务器安全的一般方法。这里假定这台服务器是连在 Internet上的。在通常情况下,有些服务,如: NFS、Samba、Imap和Pop只供内部用户使用。当然,也可以把这台服务器和外界隔离,这样可以简单地避免外部的入侵。下面要介绍的是如何避免来自外部和内部的攻击。

基础知识

应该尽量少让外人知道有关系统的信息。有时候简单地用 finger程序就能知道不少系统信息,比如:有多少用户、管理员什么时候登录、什么时候工作、他们是谁、谁现在正在使用这个系统以及其他有利于黑客猜出用户口令的信息。可以用一个强大的 finger daemon和tcpd限制连接到服务器的用户以及他们可以知道的有关系统的信息。但是,最好还是把 finger软件包卸载掉。
日志是了解 Linux系统运行情况的唯一方法。当然,这是以黑客没有破坏日志文件为前提的,但是这种情况很少见。把所有的连接都记录在日志中,可以发现攻击者和他们试图进行的攻击。
如果看不懂日志,可以向别人请教,一定要学会看懂它们。
限制系统中 SUID的程序。 SUID的程序是以 root(UNIX世界中的上帝)权限运行的程序。
有时候这是必须的,但是在多数情况下则没有必要。因为 SUID程序可以做任何 root做的事,有更多的机会出现安全隐患。也许,它们会带来安全隐患,黑客可以利用 SUID的程序来破坏系统的安全。这就是一种叫 exploit的程序的由来。 exploit程序是一种利用 SUID程序的程序或脚本,具有很大的破坏力,可以用来得到 root的shell、获取 password文件、读其他人的邮件、删除文件
等等。这方面的知识可以参考带“ s”位的程序。
优化网络性能在很大程度上与网络上使用的软硬件相关。如何优化网络是很难用一本书说清楚的。在网络真正运行起来之前很难知道网络的瓶颈所在。性能优化并不是简单和直观的,而是很复杂的。性能优化不仅受到很多约束还需要很高的精确度。除非进行专门的测试以诊断系统中的瓶颈,否则对一些现象很难做出解释。有时,性能优化会变成一项让人十分失望并且乏味的工作,尤其是在经过大量的分析之后所得到的结果仍然不可确定的时候。但是,对系统
性能的优化是一项很有回报的工作,会给整个系统带来长期的益处

BIOS安全,设定引导口令

禁止从软盘启动,并且给 BIOS加上密码。每次启动的时候都手工检查一下 BIOS,这样可以
提高系统的安全性。禁止从软盘启动,可以阻止别人用特殊的软盘启动计算机;给 BIOS加上密
码,可以防止其他人改变 BIOS的参数,比如:允许从软盘启动或不用输入口令就可以引导计算
机。