14. 控制对服务的访问

维护 Red Hat Linux 系统的安全性极端重要。管理系统安全的方法之一是谨慎管理对系统服务的使用。你的系统可能需要提供对某些服务的公开利用(譬如 httpd,如果你在运行万维网服务器的话)。然而,如果你不需要提供某项服务,则应该把它关闭 — 这会降低你对可能会出现的偷机取巧情况的曝光率。

管理对系统服务访问的方法有好几种。你必须根据服务、系统配置、以及你对 Linux 的掌握程度来决定应使用哪一种方法。

拒绝对某一服务的使用的最简便方法是将其关闭。不论是由 xinetd(我们会在本章节后面详细讨论)管理的服务,还是在 /etc/rc.d 层次中的服务,都可以使用以下三种不同的应用程序来配置其启动或停止:

你可能会发现以上工具比使用下面这些方法更简单 — 手工编辑位于 /etc/rc.d 目录下的大量符号链接, 或者编辑 /etc/xinetd.d 中的 xinetd 配置文件。

管理对系统服务的使用的另一种方法是通过使用 iptables 来配置 IP 防火墙。如果你是 Linux 新手,请注意,iptables 可能不是你的最佳解决办法。设置 iptables 是一项复杂的作业,最好由经验丰富的 Linux 系统管理员来执行。

从另一角度而言,iptables 的优越性是它的灵活性。譬如,如果你需要一个定制的解决方案来为某些主机提供到某些服务的使用权, iptables 能够为你提供。关于 iptables 的详情,请参阅《Red Hat Linux 参考指南》《Red Hat Linux 安全指南》

此外,如果你寻找的是能够为你的家用机器设置常规访问规则的工具程序,并且(或者)你还是 Linux 新手,你应该尝试使用 安全级别配置工具redhat-config-securitylevel)。该工具允许你为系统选择安全级别,它和 Red Hat Linux 安装程序中的「防火墙配置」屏幕相似。你还可以使用 GNOME LokkitGNOME Lokkit 是一种 GUI 工具,它会向你询问一些你要如何使用你的机器的问题。根据你的回答,它会为你配置一个简单的防火墙。关于这些工具的详情,请参阅第13章 。如果需要更明确的防火墙规则,请参阅《Red Hat Linux 参考指南》中的 iptables 这一章。

14.1. 运行级别

在你配置到服务的访问之前,你必须理解 Linux 运行级别。运行级别是一种状态,或模式(mode),它由列在 /etc/rc.d/rc<x>.d 目录中的服务来定义,其中 <x> 是运行级别的数字。

Red Hat Linux 使用下列运行级别:

如果你使用的是文本登录屏幕,你是在运行级别 3 中操作。如果你使用的是图形化登录屏幕,你是在运行级别 5 中操作。

默认的运行级别可以通过修改 /etc/inittab 文件来改变,该文件在接近开头的地方有一行与下面相似:

id:5:initdefault:

把这一行中的数字改成你想要的运行级别。所做改变在系统重新引导之后才会生效。

要立即改变运行级别,使用命令 telinit,其后跟随运行级别数字。你必须是根用户才能使用这项命令。