第1章 firewalld防火墙

防火墙

概念

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  • 支持IPv4、IPv6防火墙设置以及以太网桥
  • 支持服务或应用程序直接添加防火墙规则接口
  • 拥有两种配置模式
    • 运行时配置:添加的策略立即生效,不用重载防火墙,策略临时存在(重启后失效)
    • 永久配置:添加的策略需要重载防火墙才会生效,策略永远存在

形态

不管是什么防火墙,只要是在Linux中运行的防火墙,就有两种形态

  • 内核态:netfilter
    • 指的是操作系统内核运行的环境,具有最高权限和直接访问系统硬件的能力。在内核态运行的代码可以执行高级的系统操作。
    • netfilter:是Linux内核的一个框架,用于实现网络数据包的过滤和修改。它提供了对数据包进行处理的接口,可以用于实现防火墙功能、网络地址转换(NAT)等。
    • 通常netfilter被firewalld和iptables管理
  • 用户态:iptables、firewalld
    • 是指操作系统提供给应用程序运行的环境,应用程序在用户态运行,不能直接访问硬件,必须通过系统调用等方式访问操作系统提供的服务。
    • iptables:是Linux系统中一个传统的命令行工具,用于配置IPv4数据包过滤规则和网络地址转换(NAT)规则。iptables配置的规则会被netfilter在内核态中执行。
    • firewalld:是一个动态管理防火墙的工具,提供了简化配置和管理防火墙规则的方式。它作为用户态程序运行,并与内核态中的netfilter交互,实现网络安全策略。

防火墙分类

  • 包过滤防火墙:匹配数据包内的关键字,进行过滤
  • 状态话防火墙(思科、华为等设备 )

firewalld网络区域

  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
  • 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)
区域划分
  • 阻塞区域(block):任何传入的网络数据包都将被阻止。
  • 隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。
  • 丢弃区域(drop):任何传入的网络连接都被拒绝。
  • 外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。
  • 家庭区域(home):相信网络上的其他计算机,不会损害你的计算机。
  • 内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。
  • 公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接。
  • 信任区域(trusted):所有的网络连接都可以接受。
  • 工作区域(work):相信网络上的其他计算机,不会损害你的计算机。

配置防火墙相关命令

|--------------------------------------------------------|-----------------------------------------------|
| 命令 | 说明 |
| firewall-cmd --state | 查询防火墙状态 |
| firewall-cmd --get-zones | 获取当前所有区域 |
| firewall-cmd --get-service | 获取所有能管理的服务 这里的服务都是默认端口,如果服务的端口被修改了,就不能直接管理该服务 |
| firewall-cmd --get-default-zone | 当前接口默认属于哪个区域 |
| firewall-cmd --set-default-zone=internal | 将当前接口的默认区域修改为internal |
| firewall-cmd --get-active-zones | 查询当前被激活的区域 |
| firewall-cmd --get-zone-of-interface=ens33 | 查询指定接口所在的区域 |
| firewall-cmd --zone=dmz --list-interface | 列出指定区域有哪些接口 |
| firewall-cmd --zone=dmz --add-service=http | 为指定区域添加支持的服务 |
| firewall-cmd --zone=dmz --remove-service=http | 删除该区域的指定服务的默认端口 |
| firewall-cmd --zone=dmz --list-services | 列出指定区域支持的服务 |
| firewall-cmd --zone=dmz --add-port=80/tcp | 添加端口号策略 为同一个服务添加访问端口时,要把对应部署的服务默认端口删除 |
| firewall-cmd --zone=dmz --change-interface=ens33 | 修改指定接口的所在区域为dmz |
| firewall-cmd --zone=dmz --add-service=http --permanent | 为dmz区域以永久时的方式部署http服务 |
| firewall-cmd --zone=dmz --remove-interface=ens38 | 删除dmz区域的ens38接口 |
| firewall-cmd --list-all --zone=dmz | 列出指定区域的全部信息 |
| firewall-cmd --reload | 重载防火墙 |

相关推荐
原机小子2 小时前
探索Vim的窗口艺术:窗口拆分功能全解析
linux·编辑器·vim
前端开发小司机2 小时前
HCM智能人力资源系统存在命令执行漏洞Getshell
网络·计算机网络·安全·web安全·网络安全·系统安全·安全架构
一颗星的征途7 小时前
宝塔-Linux模板常用命令-centos7
linux·运维·服务器
打打打劫7 小时前
Linux字符设备驱动
linux
cssl-虞老师7 小时前
Ubuntu安装Docker
linux·ubuntu·docker
Xu-小安安8 小时前
linux less命令详解
linux·less
LNTON羚通8 小时前
视频共享融合赋能平台LnyonCVS国标视频监控平台包含哪些功能
大数据·网络·人工智能·算法·音视频
开开心心kai8 小时前
不花钱如何让网站启用HTTPS访问
网络·网络协议·安全·http·https
huhy~8 小时前
PDI-kettle工具连接本地虚拟机Ubuntu上的数据库
linux·数据库·ubuntu
平安喜乐6168 小时前
探索 SecureCRT:强大的终端 SSH 工具
网络·securecrt·终端 ssh 工具