33.2.防火墙的概念¶
规则集包含一组规则,这些规则根据数据包中包含的值传递或阻止数据包。主机之间的双向数据包交换包括会话会话。防火墙规则集既处理来自互联网的数据包,也处理系统生成的数据包作为对它们的响应。每个 TCP/IP 服务都由其协议和侦听端口预定义。发往特定服务的数据包使用非特权端口从源地址发出,并以目标地址上的特定服务端口为目标。以上所有参数都可以用作选择标准,以创建将传递或阻止服务的规则。
要查找未知的端口号,请参阅 /etc/services。或者,访问 http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 并执行端口号查找以查找特定端口号的用途。
查看此链接,了解特洛伊木马使用的端口号。
FTP 有两种模式:主动模式和被动模式。不同之处在于如何获取数据通道。被动模式更安全,因为数据通道由序号 ftp 会话请求者获取。有关 FTP 和不同模式的良好说明,请参阅 http://www.slacksite.com/other/ftp.html。
防火墙规则集可以是“exclusive”(明示拒绝)或“inclusive”(明示允许)。明示拒绝防火墙允许除与规则集匹配的流量之外的所有流量通过。明示允许防火墙执行相反操作,因为它只允许与规则匹配的流量通过并阻止其他所有内容。
明示允许防火墙可以更好地控制传出流量,使其成为向互联网提供服务的系统的最佳选择。它还控制来自互联网的流量类型,这些流量可以访问专用网络。所有与规则不匹配的流量都将被阻止并记录。明示允许防火墙通常比明示拒绝防火墙更安全,因为它们可显著降低允许不需要的流量的风险。
注意
除非另有说明,否则本章中的所有配置和示例规则集都将创建明示允许防火墙的规则集。
使用“状态防火墙”可以进一步加强安全性。这种类型的防火墙跟踪打开的连接,并且仅允许与现有连接匹配或打开新的允许连接的流量。
有状态筛选将流量视为包含会话的数据包的双向交换。在匹配规则上指定状态时,防火墙会为会话期间交换的每个预期数据包动态生成内部规则。它具有足够的匹配功能,可以确定数据包是否对会话有效。任何不符合会话模板的数据包都将自动被拒绝。
会话完成后,将从动态状态表中删除该会话。
有状态筛选允许人们专注于阻止/传递新会话。如果新会话已通过,则会自动允许其所有后续数据包,并自动拒绝任何冒名顶替者数据包。如果新会话被阻止,则不允许其后续数据包。有状态筛选提供高级匹配功能,能够抵御攻击者使用的不同攻击方法的泛滥。
NAT 代表 网络地址转换。NAT 功能使防火墙后面的专用 LAN 能够共享单个 ISP 分配的 IP 地址,即使该地址是动态分配的。NAT 允许局域网中的每台计算机都可以访问互联网,而无需为多个互联网帐户或 IP 地址向 ISP 付费。
NAT 会在数据包离开绑定到互联网的防火墙时,将自动将 LAN 上每个系统的专用 LAN IP 地址转换为单个公共 IP 地址。它还对返回的数据包执行反向转换。
根据 RFC 1918,以下 IP 地址范围是为永远不会直接路由到互联网的专用网络保留的,因此可用于 NAT:
10.0.0.0/8
.172.16.0.0/12
.192.168.0.0/16
.
警告
使用防火墙规则时,务必万分慎重。某些配置 可以将管理员锁定 在服务器之 外。为了安全起见,请考虑从本地控制台执行初始防火墙配置,而不是通过 ssh 远程执行。