8.2 Linux中的iptables

在早期的 Linux 系统中,默认使用的是 iptables 防火墙管理服务来配置防火墙。尽管新型的 firewalld 防火墙管理服务已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用 iptables 。考虑到 iptables 在当前生产环境中还具有顽强的生命力,以及为了使大家在求职面试过程中被问到 iptables 的相关知识时能胸有成竹,还是有必要在本章好好地讲解一下这项技术。更何况前文也提到,各个防火墙管理工具的配置思路是一致的,在掌握了 iptables 后再学习其他防火墙管理工具时,也有借鉴意义。

目录

8.2.1 策略与规则链

8.2.2 iptables 中基本的命令参数


8.2.1 策略与规则链

防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言, 防火墙策略规则的设置有两种:一种是“通”(即放行),一种是“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来; 如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用。
iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:
一般来说,从内网向外网发送的流量一般都是可控且良性的,因此我们使用最多的就是 INPUT 规则链,该规则链可以增大黑客人员从外网入侵内网的难度。

8.2.2 iptables 中基本的命令参数

iptables 是一款基于命令行的防火墙策略管理工具,具有大量参数,学习难度较大。好在对于日常的防火墙策略配置来讲,无需深入了解诸如“四表五链”的理论概念,只需要掌握常用的参数并做到灵活搭配即可,这就足以应对日常工作了。

iptables 命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables 就会根据策略规则所预设的动作来处理这些流量。另外,再次提醒一下,防火墙策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。表 8-1 总结归纳了常用的 iptables 命令参数。再次强调,我们无需死记硬背这些参数,只需借助下面的实验来理解掌握即可。

在 iptables 命令后添加-L 参数查看已有的防火墙规则链

在 iptables 命令后添加-F 参数清空已有的防火墙规则链

把 INPUT 规则链的默认策略设置为拒绝:


前文提到,防火墙策略规则的设置有两种:通和堵。当把 INPUT 链设置为默认拒绝后,就要在防火墙策略中写入允许策略了,否则所有到来的流量都会被拒绝掉。另外,需要注意的是,规则链的默认拒绝动作只能是 DROP,而不能是 REJECT

向 INPUT 链中添加允许 ICMP 流量进入的策略规则:

在日常运维工作中,经常会使用 ping 命令来检查对方主机是否在线,而向防火墙的 INPUT 规则链中添加一条允许 ICMP 流量进入的策略规则就默认允许了这种 ping 命令检测行为。

删除 INPUT 规则链中刚刚加入的那条策略(允许 ICMP 流量),并把默认策略设置为允许:

将 INPUT 规则链设置为只允许指定网段的主机访问本机的 22 端口,拒绝其他所有 主机的流量:

再次重申,防火墙策略规则是按照从上到下的顺序匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问我们的服务。 另外,这里提到的 22 号端口是 ssh 服务使用的(有关 ssh 服务,请见下一章)。
在设置完上述 INPUT 规则连之后,我们使用 IP 地址在 192.168.10.0/24 网段内的主机访问服务器(即前面提到的设置了 INPUG 规则链的主机)的 22 端口,效果如下:

向 INPUT 规则链中添加拒绝所有人访问本机 12345 端口的策略规则:

向 INPUT 规则链中添加拒绝 192.168.10.5 主机访问本机 80 端口(Web 服务)的策略规则:

向 INPUT 规则链中添加拒绝所有主机访问本机 1000~1024 端口的策略规则:请特别注意,使用 iptables 命令配置的防火墙规则默认会在系统下一次重启时失效,如果想让配置的防火墙策略永久生效,还要执行保存命令:service iptables save。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值