Appearance
Firewalld
咕咕咕式更新,用到什么更什么,最后是在2021.10.23更新的
CentOS7的默认防火墙是firewalld,支持动态更新,无需重启服务。 firewalld的字符界面管理工具是 firewall-cmd firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)
向public区域添加一个永久放行tcp80端口的命令如下: firewall-cmd --zone=public --add-port=80/tcp --permanent
参数详解: --zone 指定的区域 --add-port 指定的端口 --permanent 表示设置为持久
一些紧急加固时会用到的命令
防火墙的应急模式
firewall-cmd --panic-on # 拒绝所有流量,远程连接会立即断开,只有本地能登陆
firewall-cmd --panic-off # 取消应急模式,但需要重启firewalld后才可以远程ssh
firewall-cmd --query-panic # 查看是否为应急模式
阻止指定网卡的所有入流量
firewall-cmd --zone=drop --add-interface=ens233
firewall-cmd --add-interface=ens233 # 默认区域是public,此时相当于移出drop区域。
阻止指定源地址的所有入流量
firewall-cmd --zone=drop --add-source=192.168.233.233
查看网卡所在的区域
firewall-cmd --get-zone-of-interface=ens233
区域
Firewalld默认有许多区域,默认的策略规则如下:
区域 | 默认策略规则 |
---|---|
trusted | 允许所有的数据包进出 |
home | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许进入 |
Internal | 等同于home区域 |
work | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许进入 |
public | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许进入 |
external | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh服务相关,则允许进入 |
dmz | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh服务相关,则允许进入 |
block | 拒绝进入的流量,除非与出去的流量相关 |
drop | 拒绝进入的流量,除非与出去的流量相关 |
firewalld默认出方向是全放通的。 |
Firewalld匹配策略的优先级 对于一个接收到的包具体使用哪个区域的策略,Firewalld是通过三种方式来判断的: 1、Source,来源地址 2、Interface,接收请求的网卡 3、Firewalld配置的默认区域 这三个方式的优先级按顺序依次降低,也就是说如果按照Source可以找到就不会再按Interface去找,如果前两个都找不到才会使用第三个默认区域。