firewalld 详细介绍配置(一)

本文涉及的产品
云防火墙,500元 1000GB
简介: 【8月更文挑战第10天】FirewallD是一款动态防火墙管理工具,通过网络区域(zone)定义接口的安全级别。与iptables需重载全部规则相比,FirewallD仅更新变动部分,更高效。它利用iptables作为规则管理入口,自身不具防火墙功能,依赖内核的netfilter实现。区域(zone)代表一组过滤规则,不同区域默认行为各异,如public、work等。服务配置则以人性化名称管理端口,简化规则管理。常用命令包括安装、启动、停止及查询状态等。

firewalld详细介绍
1.FirewallD是什么?
FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。
2.什么是动态防火墙?
我们首先需要弄明白的第一个问题是到底什么是动态防火墙,为了解答这个问题,我们先来回忆一下 iptables service 管理防火墙规则的模式,用户使用命令添加防火墙的规则,如果想让规则永久保存,还需要再执行命令 service iptables reload 使变更的规则保存到配置文件里。在这整个过程的背后,iptables service 会对防火墙的规则列表全部重读一次,加载到内核。
如果我们把这种哪怕只修改一条规则也要进行所有规则的重新载入的模式称为静态防火墙的话,那么 firewalld 所提供的模式就可以叫做动态防火墙,它的出现就是为了解决这一问题,任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只需要将变更部分保存并更新到运行中的 iptables 即可。

firewalld 和 iptables 之间有什么关系?
这里有必要说明一下 firewalld 和 iptables 之间的关系, firewalld 提供了一个 daemon 和 service,还有命令行和图形界面配置工具,它仅仅是替代了 iptables service 部分,其底层还是使用 iptables 作为防火墙规则管理入口,firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。

3.什么是区域(zone)?
过滤规则集合:zone
一个zone就是一套过滤规则,数据包必须要经过某个zone才能入站或出站。不同zone中规则粒度粗细、安全强度都不尽相同。可以把zone看作是一个个出站或入站必须经过的安检门,有的严格、有的宽松、有的检查细致、有的检查粗略。
firewalld将网卡对应到不同的区域(zone),zone 默认共有9个,block ,dmz ,drop external, home, internal ,public , trusted , work.
不同的区域之间的差异是其对待数据包的默认行为不同,根据区域名字我们可以很直观的知道该区域的特征,在CentOS7系统中,默认区域被设置为public。

4.区域(zone)说明如下
drop(丢弃)
任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
block(限制)
任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
public(公共)
在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
external(外部)
特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
dmz(非军事区)
用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
work(工作)
用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
home(家庭)
用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
internal(内部)
用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。
trusted(信任)
可接受所有的网络连接。
指定其中一个区域为默认区域是可行的。当接口连接加入了 NetworkManager,它们就被分配为默认区域。安装时,firewalld 里的默认区域被设定为公共区域。

简单来讲就是为用户预先准备了几套规则集合,我们可以根据场景的不同选择合适的规矩集合,而默认区域是public。

5.什么是服务?
在 /usr/lib/firewalld/services/ 目录中,还保存了另外一类配置文件,每个文件对应一项具体的网络服务,如 ssh 服务等.
与之对应的配置文件中记录了各项服务所使用的 tcp/udp 端口,在最新版本的 firewalld 中默认已经定义了 70多种服务供我们使用.
当默认提供的服务不够用或者需要自定义某项服务的端口时,我们需要将 service 配置文件放置在 /etc/firewalld/services/ 目录中.

/etc/firewalld/ 存放修改过的配置(优先查找,找不到再找默认的配置)
/usr/lib/firewalld/ 默认的配置
修改配置的话只需要将/usr/lib/firewalld中的配置文件复制到/etc/firewalld中修改。恢复配置的话直接删除/etc/firewalld中的配置文件即可。
比如:ssh服务默认运行在22端口,如果你的ssh服务运行在220端口(不是默认),此时需要放行220端口,就需要把/usr/lib/firewalld/ssh.xml 文件拷贝到 /etc/firewalld/services/ 目录下,修改文件端口为220

service 配置的好处显而易见:
第一,通过服务名字来管理规则更加人性化,
第二,通过服务来组织端口分组的模式更加高效,如果一个服务使用了若干个网络端口,则服务的配置文件就相当于提供了到这些端口的规则管理的批量操作快捷方式。

每加载一项 service 配置就意味着开放了对应的端口访问,使用下面的命令分别列出所有支持的 service 和查看当前 zone 种加载的 service:
[root@xuegod63 ~]# firewall-cmd --get-services #列出所有支持的 service
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client
dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps
libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi
pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client
smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
[root@xuegod63 ~]# firewall-cmd --list-services #查看当前 zone 种加载的 service
dhcpv6-client ssh

firewalld常用命令

安装firewalld:# yum install firewalld
启动:# systemctl start firewalld
查看状态:# systemctl status firewalld 或者 firewall-cmd --state
停止:# systemctl stop firewalld
禁用:# systemctl disable firewalld

配置firewalld
查看版本:# firewall-cmd --version
查看帮助:# firewall-cmd --help
显示状态:# firewall-cmd --state
查看区域信息:# firewall-cmd --get-active-zones
查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=ens33
拒绝所有包:# firewall-cmd --panic-on
取消拒绝状态:# firewall-cmd --panic-off
查看是否拒绝:# firewall-cmd --query-panic

更新防火墙规则:

firewall-cmd --reload

# firewall-cmd --complete-reload
两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务
目录
相关文章
|
3月前
|
网络协议 数据可视化 网络安全
firewalld 详细介绍配置(二)
【8月更文挑战第10天】配置`firewalld`涉及安装、启动与管理防火墙规则。首先通过`yum install firewalld`安装,然后使用`systemctl`命令进行启动、停止及禁用服务。`firewall-cmd`命令用于管理防火墙状态、查看版本与帮助信息、设置默认区域及接口所属区域。可通过添加或移除端口和服务来控制网络流量,并利用丰富规则进行更细粒度的控制。此外,`firewalld`支持动态规则更新,无需重启服务即可生效。可以通过配置文件持久化规则设置,适用于长期维护场景。
52 3
|
6月前
|
安全 网络协议 Linux
firewalld服务 具体介绍
firewalld服务 具体介绍
|
网络协议 安全 Linux
firewalld防火墙(二)
firewalld防火墙(二)
313 0
|
存储 网络协议 安全
firewalld防火墙(一)
firewalld防火墙(一)
226 0
|
网络协议 Linux 应用服务中间件
Firewalld防火墙(二。1)
⭐本文介绍⭐ 上一章介绍了Linux防火墙,并简单的编写了防火墙规则。Liunx防火墙在很多时候承担着连接企业内、外网的重任,除了提供数据包过滤功能以外,还提供了一些基本的网关应用。本文将介绍Linux防火墙的地址转换策略,分别掌握两个典型的应用:局域网共享一个公网IP地址接入Internet发布位于内网的应用服务器。
Firewalld防火墙(二。1)
|
Linux 应用服务中间件 网络安全
Firewalld防火墙(二。2)
⭐本文介绍⭐ 上一章介绍了Linux防火墙,并简单的编写了防火墙规则。Liunx防火墙在很多时候承担着连接企业内、外网的重任,除了提供数据包过滤功能以外,还提供了一些基本的网关应用。本文将介绍Linux防火墙的地址转换策略,分别掌握两个典型的应用:局域网共享一个公网IP地址接入Internet发布位于内网的应用服务器。
Firewalld防火墙(二。2)
|
网络协议 安全 Linux
Firewalld防火墙
⭐本文介绍⭐ 在Internet中,企业通过架设各种应用系统来为用户提供各种网站服务,如Wevb网站、电子邮件系统、FTP服务器、数据库系统等。那么,如何来保护这服务器,过滤企业非授权的访问,甚至是恶意的入侵呢?本文将介绍Linux系统中的防火墙——net filter和firewalld,包括防火墙的结构与匹配流程,以及如何编写防火墙规则。
Firewalld防火墙
|
存储 网络协议 网络安全
firewalld详解
firewalld详解
firewalld详解
|
网络安全
firewalld防火墙服务
firewalld防火墙服务
283 1
|
安全 网络安全 API
技术:firewalld浅谈使用
防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
技术:firewalld浅谈使用