13. 基本防火墙配置

如同建筑物中的防火墙会试图防止火势蔓延,计算机中的防火墙会试图防止计算机病毒蔓延到你的系统中。它还能防止未经授权的用户进入你的系统。防火墙存在于你的计算机和网络之间,它可以判定你的计算机上哪些服务可以被网络上的远程用户访问。一个正确配置的防火墙能够极大地增强你的系统安全性。我们提议你为所以连接到互联网上的 Red Hat Linux 系统配置一个防火墙。

13.1. 安全级别配置工具

Red Hat Linux 安装中的「防火墙配置」屏幕给你提供了几个可供选择的选项:高级、中级、无防火墙;你还可以选择要允许的指定设备、进入服务、和端口等。

安装后,你可以使用 安全级别配置工具来改变系统的安全级别。如果你更喜欢使用基于向导的程序,请参阅第 13.2 节

要启动这个程序,选择面板上的「主菜单」 => 「系统设置」 => 「安全级别」,或在 shell(如 XTerm 或 GNOME 终端)下键入 redhat-config-securitylevel 命令。

图 13-1. 安全级别配置工具

从下拉菜单中选择想要的安全级别。

「高级」

如果你选择「高级」,你的系统将不会接受没有被你刻意定义的连接(默认设置以外的连接)按照默认设置,只有以下连接会被允许:

  • DNS 回应

  • DHCP — 因此,任何使用 DHCP 的网络界面都可以被正确的配置。

如果你选择「高级」,你的防火墙将不会允许以下连接:

  • 活跃状态 FTP(在多数客户机中默认使用的被动状态 FTP,应该能够正常运行。)

  • IRC DCC 文件传输

  • RealAudio

  • 远程 X 窗口系统客户

如果你要把系统连接到互联网上,但是不打算把它当作服务器来运行,这是最安全的选择。如果你需要额外的服务,你可以选择「定制」来允许指定的服务穿过防火墙。

注记注记
 

如果你选择了中级或高级防火墙,网络验证方法(NIS 和 LDAP)将无法奏效。

「中级」

如果你选择「中级」,你的防火墙将不会允许远程机器访问你的系统上的某些资源。按照默认设置,对以下资源的访问是默认不允许的:

  • 低于 1023 的端口 — 这些是标准要保留的端口,主要被一些系统服务所使用,如:FTPSSHtelnetHTTPNIS

  • NFS 服务器端口 (2049) — NFS 对远程服务器和本地客户都已禁用。

  • 为远程 X 客户机设立的本地 X 窗口系统显示。

  • X 字体服务器端口(按照默认设置,xfs 不监听网络;它在字体服务器中被禁用。)

如果您想准许到 RealAudio(tm) 之类资源的访问,但仍要堵塞到普通系统服务的访问,选择「中级」。您可以选择「定制」来允许具体指定的服务穿过防火墙。

注记注记
 

如果你选择了中级或高级防火墙,网络验证方法(NIS 和 LDAP)将无法奏效。

「无防火墙」

无防火墙给予完全访问权并不做任何安全检查。系统检查是对某些服务的禁用。建议你只有在一个可信任的网络(非互联网)中运行时,或者你想稍后再进行详细的防火墙配置时才选此项。

选择「定制」来添加信任的设备或允许附加的进入服务。

「信任的设备」

选择任何一个「信任的设备」会允许所有来自该设备的到你的系统的交通。它不在防火墙规则的限制之内。譬如,如果你在运行一个本地网络,但是通过 PPP 拨号连接到了互联网上,你可以选择「eth0」,所有来自你的本地网络的交通就会被允许。把「eth0」选为“信任的设备”意味着所有通过以太网的交通都会被允许,但是通过 ppp0 接口的交通仍受防火墙的限制。如果你想现在某个接口上的交通,就不要选择它。

建议你不要把连接到公共网络,如互联网,上的设备选为「信任的设备」

「允许进入」

启用这些选项将允许具体指定的服务穿过防火墙。注意,在工作站类型安装中,大多数这类服务在系统内存在。

「DHCP」

如果你允许进入的 DHCP 查询和回应,你会允许任何使用 DHCP 来判定其 IP 地址的网络接口。DHCP 通常是启用的。如果 DHCP 没有被启用,你的计算机就不再能够获取 IP 地址。

「SSH」

Secure (安全)SHell (SSH) 是用来在远程机器上登录及执行命令的协议套件。如果你计划使用 SSH 工具通过防火墙来进入你的机器,启用该选项。你必须安装 openssh-server 软件包才能使用 SSH 工具来远程地进入你的机器。

「Telnet」

Telnet 是一种远程登录机器的协议。Telnet 的通信是不加密的,没有提供任何防止网络刺探之类的安全措施。建议你不要允许进入的 Telnet 访问。如果你想允许进入的 Telnet 访问,你必须安装 telnet-server 软件包。

「WWW (HTTP)」

HTTP 协议被 Apache(以及其它万维网服务器)用来提供网页。如果你打算使你的万维网服务器公开可用,请启用该选项。 你不必启用该选项来本地查看网页或开发网页。如果你想提供网页,你必须安装 apache 软件包。

启用「WWW (HTTP)」不会为 HTTPS 打开一个端口。要启用 HTTPS,在「其它端口」字段中指定它。

「邮件 (SMTP)」

如果你想允许进入的邮件穿过你的防火墙,因此你的远程主机能够直接连接到你的机器来散发邮件,则启用该选项。如果你只想从使用 POP3 或 IMAP 的 ISP 服务器来收取邮件,或则使用 fetchmail 之类的工具,则不必启用这个选项。注意,不正确配置的 SMTP 服务器会允许远程机器使用你的服务器来发送垃圾邮件。

「FTP」

FTP 协议被用来在网络上的机器间传输文件。如果你打算使你的 FTP 服务器公开可用,启用该选项。你需要安装 vsftpd 软件包才能是该选项能够发生作用。

点击「确定」来激活防火墙。点击了「确定」后,选定的选项就会被转换成 iptables 命令并写入 /etc/sysconfig/iptables 文件。iptables 服务也被启动,因此,保存了选定选项后,防火墙就会被立即激活。

警告警告
 

如果你在 /etc/sysconfig/iptables 文件中配置了一个防火墙或防火墙规则,在你选择了「无防火墙」并点击了「确定」来保存改变之后,这个文件就会被删除。

选定的选项还被写入 /etc/sysconfig/redhat-config-securitylevel 文件,因此这些设置在程序下次启动时被恢复。请不要手工编辑该文件。

要激活 iptables 服务,并在引导时自动启动,请参阅第 13.3 节来获取详情。