bugtraq@securityfocus.com或redhat-watch-list-request@redhat.com是获取最新安全漏洞信息的非常好的资源。如果不安装这些补丁,你的系统可能会轻易入侵。记住,从上面提及的另一台机器获取这些补丁,防火墙机器应该仍处于隔离网络中。对于Red Hat系统,下载RPM包会使系统更新变得更简单。例如是对wu-ftpd进行安全升级的实例:
rpm -Uvh wu-ftpd-2.6.0-14.6x.i386.rpm
如果系统早已处于互联网上,可以直接从互联网上安装:
rpm -Uvh ftp://updates.redhat.com/6.1/i386/wu-ftpd-2.6.0-14.6x.i386.rpm
推荐使用autorpm工具保持对RPM软件包的补丁更新。这个命令行工具分析确定哪些.rpm包需要升级,并会自动(如果你愿意的话)从Red Hat的网站上下载并安装升级文件。这个工具的使用非常灵活简单,可以让其在cron中运行,这样你的系统就会定期自动检查升级更新,并可以向管理员发送提醒系统需要升级的电子邮件。
2、关闭服务
一旦安装完系统的安装包、补丁,重启后,我们现在就可以开始对操作系统进行安全增强配置了。安全增强配置主要包括关闭服务、增加日志、调整几个文件和配置TCP Wrappers。首先从关闭服务开始。
缺省情况下,Solaris是一个提供许多有用服务的高性能操作系统。然而,对于防火墙来说,其中的大多数服务是不需要,且可能是安全风险。首先需要修改/etc/inetd.conf文件。这个文件定义了由/usr/sbin/inetd超级守护进程需要监听的服务。缺省情况下,/etc/inetd.conf会启动35个服务,然而最多仅需要两项:ftp和telnet。其余服务都不是必需的,可以将它们注释(关闭)。这是很重要的,因为inetd监听的许多服务存在严重的安全威胁,例如popd、imapd和rsh。以下命令列出inetd守护进程会监听的服务,请确认将其中不必要的服务的所在行注释(行首加"#"号):
grep -v "^#" /etc/inetd.conf
下一步要修改的是/etc/rc2.d和/etc/rc3.d目录下的文件。在这里你能够找到被init进程执行的启动脚本。其中也有许多是不需要的。要取消在启动过程中执行一个脚本,只需将对应文件名的起始大写S改为小写s即可。此外,Red Hat系统中带有一个好工具用以关闭服务。只要在命令行输入"/usr/sbin/setup",然后选择"System Services",接着再选择在系统启动时需要执行的脚本。另外还有一种方法就是在大多数发行版本中都带有的chkconfig工具。以下启动脚本是系统缺省安装,但通常却不是必需的。如果确定不需要它们,应该将禁止其启动。
注意其中的数字用于决定执行的顺序,在不同的发行版本中可能会有所变化。以大写K开始的脚本用于kill已经在运行中的服务。
S05apmd (仅有笔记本电脑才需要)
S10xntpd (网络时间协议)
S11portmap (如果运行RPC服务则必需打开)
S15sound (保存声卡设置)
S15netfs (NFS客户端,用于从NFS服务器安装文件系统)
S20rstatd (向远程用户泄露过多信息)
S20rusersd
S20rwhod
S20rwalld
S20bootparamd (用于无盘客户端,通常都不需要)
S25squid (代理服务器)
S34yppasswdd (如果系统运行NIS服务器,则必需此服务)
S35ypserv (如果系统运行NIS服务器,则必需此服务)
S35dhcpd (启动DHCP服务器守护进程)
S40atd (at服务,类似cron服务,但系统通常不需要)
S45pcmcia (仅有笔记本电脑才需要)
S50snmpd (SNMP守护进程,向远程用户泄露过多信息)
S55named (DNS服务器。如果需要运行DNS,请升级到最新版本)
S55routed (RIP,仅在必需时才应该启动)
S60lpd (打印服务)
S60mars-nwe (Netware文件和打印服务器)
S60nfs (用于NFS服务器。除非必须,此服务不应运行)
S72amd (AutoMount守护进程,用于自动安装远程文件系统)
S75gated (用于运行其它路由协议,例如OSPF)
S80sendmail (如果不需要接收或转发电子邮件应关闭。此时仍可发送电子邮件)
S85httpd (Apache服务器,建议升级到最新版本)
S87ypbind (仅有NIS客户端才需要)
S90xfs (X Windows系统字体服务器
S95innd (News服务器)
S99linuxconf (通过浏览器远程配置Linux系统)