使用 iptables 与 firewalld 防火墙
本章讲解了如下内容:
➢ 防火墙管理工具;
➢ iptables;
➢ firewalld;
➢ 服务的访问控制列表;
➢ Cockpit 驾驶舱管理工具。
保障数据的安全性是继保障数据的可用性之后最为重要的一项工作。防火墙作为公网与
内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用。考虑到大家还不了解
RHEL 7/8 中新增的 firewalld 防火墙与先前版本中 iptables 防火墙之间的区别,刘遄老师决定
先带领读者从理论层面和实际层面正确地认识这两款防火墙之间的关系。
本章将分别使用 iptables、firewall-cmd、firewall-config 和 TCP Wrapper 等防火墙策略配
置服务来完成数十个根据真实工作需求而设计的防火墙策略配置实验。在学习完这些实验之
后,各位读者不仅能够熟练地过滤请求的流量、基于服务程序的名称对流量进行允许和拒绝
操作,还可以使用 Cockpit 轻松监控系统的运行状态,确保 Linux 系统的安全性万无一失。
8.1 防火墙管理工具
众所周知,相较于企业内网,外部的公网环境更加恶劣,罪恶丛生。在公网与企业内网
之间充当保护屏障的防火墙(见图 8-1)虽然有软件或硬件之分,但主要功能都是依据策略对
穿越防火墙自身的流量进行过滤。就像家里安装的防盗门一样,目的是保护亲人和财产安全。
防火墙策略可以基于流量的源目地址、端口号、协议、应用等信息来定制,然后防火墙使用
预先定制的策略规则监控出入的流量,若流量与某一条策略规则相匹配,则执行相应的处理,
反之则丢弃。这样一来,就能够保证仅有合法的流量在企业内网和外部公网之间流动了。
使用 iptables 与 firewalld 防火墙
从 RHEL 7 系统开始,firewalld 防火墙正式取代了 iptables 防火墙。对于接触 Linux 系统
比较早或学习过 RHEL 5/6 系统的读者来说,当他们发现曾经掌握的知识在 RHEL 7/8 中不再
适用,需要全新学习 firewalld 时,难免会有抵触心理。其实,iptables 与 firewalld 都不是真正
的防火墙,它们都只是用来定义防火墙策略的防火墙管理工具而已;或者说,它们只是一种
服务。iptables 服务会把配置好的防火墙策略交由内核层面的 netfilter 网络过滤器来处理,而
firewalld 服务则是把配置好的防火墙策略交由内核层面的 nftables 包过滤框架来处理。换句话
说,当前在 Linux 系统中其实存在多个防火墙管理工具,旨在方便运维人员管理 Linux 系统
中的防火墙策略,我们只需要配置妥当其中的一个就足够了。
虽然这些工具各有优劣,但它们在防火墙策略的配置思路上是保持一致的。大家甚至可
以不用完全掌握本章介绍的内容,只要在这多个防火墙管理工具中任选一款并将其学透,就
足以满足日常的工作需求了。
8.2 iptables
在早期的 Linux 系统中,默认使用的是 iptables 防火墙管理服务来配置防火墙。尽管新型
的 firewalld 防火墙管理服务已经被投入使用多年,但是大量的企业在生产环境中依然出于各
种原因而继续使用 iptables。考虑到 iptables 在当前生产环境中还具有顽强的生命力,以及为
了使大家在求职面试过程中被问到 iptables 的相关知识时能胸有成竹,刘遄老师觉得还是有必
要在本书中好好地讲解一下这项技术。更何况前文也提到,各个防火墙管理工具的配置思路
是一致的,在掌握了 iptables 后再学习其他防火墙管理工具时,也有借鉴意义。
8.2.1 策略与规则链
防火墙会按照从上到下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配
工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有
匹配项,就去执行默认的策略。一般而言,防火墙策略规则的设置有两种:“通”(即放行)
和“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁
都进不来;如果防火墙的默认策略为允许,就要设置拒绝规则,否则谁都能进来,防火墙也
就失去了防范的作用。
iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则
链,而规则链则依据数据包处理位置的不同进行分类,具体如下:
➢ 在进行路由选择前处理数据包(PREROUTING);
➢ 处理流入的数据包(INPUT);
➢ 处理流出的数据包(OUTPUT);
➢ 处理转发的数据包(FORWARD);
➢ 在进行路由选择后处理数据包(POSTROUTING)。
一般来说,从内网向外网发送的流量一般都是可控且良性的,因此使用最多的就是 INPUT
规则链,该规则链可以增大黑客人员从外网入侵内网的难度。
比如在您居住的社区内,物业管理公司有两条规定:禁止小商小贩进入社区;各种车辆
在进入社区时都要登记。显而易见,这两条规定应该是用于社区的正门的.