Linux系统中Firewalld防火墙介绍
Firewalld概述:
支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。
支持IPv4、IPv6防火墙设置以及以太网桥。
支持服务或应用程序直接添加防火墙规则接口。
拥有两种配置模式:运行时配置、永久配置。
Firewalld和netfilter的区别:
netfilter:
位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态”
Firewalld:
CentOS默认的管理防火墙规则的工具
称为Linux防火墙的“用户态”
Firewalld网络区域介绍:
- 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
- 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或者接口
- 默认情况下,public区域是默认区域,包含所有接口(网卡)
区域 | 描述 |
---|---|
drop(丢弃) | 任何接收的网络数据包都被丢弃,没有任何回复,仅能有发送出去的网络连接 |
block(限制) | 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp-adm-prohibited信息所拒绝 |
public(公共) | 在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接 |
external(外部) | 特别是为路由器启用了伪装功能的外部网,您不能信任来自网络的其他计算机,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接 |
dmz(非军事区) | 用于您的非军事区内的电脑,此区域内可公开访问,可以有限的进入您的内部网络,仅仅接收经过选择的连接 |
work(工作) | 用于工作区,您可以基本详细网络内的其他电脑不会危害您的电脑,仅仅接收经过选贼的连接 |
home(家庭) | 用于家庭网络,您可以基本信任网络内的其他计算机不会危害您的计算机,仅仅接收经过选择的连接 |
internal(内部) | 用于内部网络,您可以基本伤心人网路内的其他计算机不会威胁您的计算机,仅仅接受经过选择的连接 |
trusted(信任) | 可接受所有的网络连接 |
Firewalld数据处理流程:
- 检查数据来源的源地址
- 若源地址关联到特定区域,则执行该区域所指定的规则
- 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
- 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则。
Firewalld防火墙的配置方法:
- 运行时配置
- 实时生效,并持续之Firewalld重新启动或重新加载配置。
- 不中断现有连接
- 不能修改服务配置
- 永久配置
- 不立即生效,除非Firewalld重新启动或重新加载配置。
- 中断现有连接
- 可以修改服务配置
Firewalld的配置可分为图形工具(Firewalld-config)和命令行工具(Firewalld-cmd)
Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则会使用/usr/lib/firewall/中的配置。
- /etc/firewalld/: 用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
- /usr/lib/firewalld/: 默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/中的配置。