· 防火墙介绍
防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用
防火墙策略可以基于流量的源目地址、端口号、协议、应用等信息来定制,然后防火墙使用预先定制的策略规则监控出入的流量,若流量与某一条策略规则相匹配,则执行相应的处理,反之则丢弃
iptables与firewalld
早期的Linux系统中,默认使用的是iptables防火墙管理服务来配置防火墙
尽管新型的firewalld防火墙管理服务已经被投入使用多年,但是大量的企业在生产环境中依然出于各种原因而继续使用iptables
iptables服务会把配置好的防火墙策略交由内核层面的netfilter网络过滤器来处理,而firewalld服务则是把配置好的防火墙策略交由内核层面的nftables包过滤框架来处理
iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类:
1.在进行路由选择前处理数据包(PREROUTING)
2.处理流入的数据包(INPUT)
3处理流出的数据包(OUTPUT)
4.处理转发的数据包(FORWARD)
5.在进行路由选择后处理数据包(POSTROUTING)
策略与规则链
防火墙会按照从上到下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略
一般而言,防火墙策略规则的设置有两种:“通”(即放行)和“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;如果防火墙的默认策略为允许,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用
· 防火墙配置
iptables配置
iptables:基于命令行的防火墙策略管理工具
iptables属于OSI七层模型中数据链路层的服务,可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量
iptables常用配置
1.清空当前已有的策略
[root@xiudaochengxian ~]# iptables -F
2.保存当前防火墙策略
[root@xiudaochengxian ~]# iptables-save
# Generated by iptables-save v1.4.21 on Mon Aug 30 08:30:39 2021
*nat
………………省略部分输出信息………………
#如果器是5/6/7版本的话,对应的保存命令应该是
[root@xiudaochengxian ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
3.将INPUT规则链的默认策略设置为拒绝(DROP)
当把INPUT链设置为默认拒绝后,就要往里面写入允许策略了,否则所有流入的数据包都会被默认拒绝掉。需要留意的是,规则链的默认策略拒绝动作只能是DROP,而不能是REJECT
[root@xiudaochengxian ~]# iptables -P INPUT DROP
[root@xiudaochengxian ~]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
4.向INPUT链中添加允许ICMP流量进入的策略规则
使用ping命令来检查对方主机是否在线,而向防火墙的INPUT规则链中添加一条允许ICMP流量进入的策略规则就默认允许了这种ping命令检测行为