【Linux安全】Firewalld防火墙

news2024/11/20 12:41:56

目录

一.Firewalld概述

二.Firewalld和iptables的关系

1.firewalld和iptables的联系

2.firewalld和iptables的区别

三.Firewalld区域

1.概念

2.九个区域

3.区域介绍

4.Firewalld数据处理流程

四.Firewalld-cmd命令行操作

1.查看

2.增加

3.删除

4.修改

五.Firewalld防火墙的配置方法

1.运行时配置

2.永久配置

六.编写/etc/firewalld/中的配置文件

补充:DNAT和SNAT也可以通过firewall-cmd设置

1.设置SNAT

2.设置DNAT


一.Firewalld概述

  • firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙
  • firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能
  • firewalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。 它支持IPv4、IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算), 并且拥有两种配置模式:运行时配置与永久配置
     

二.Firewalld和iptables的关系

1.firewalld和iptables的联系

netfilter

  • 位于Linux内核中的包过滤功能体系

  • 称为Linux防火墙的“内核态”

Firewalld/iptables

  • CentOS7默认的管理防火墙规则的工具(Firewalld)

  • 称为Linux防火墙的“用户态”

2.firewalld和iptables的区别

firewalld  iptables
配置文件

 /etc/firewalld/       

(优先加载,保存用户自定义的配置)

 /usr/lib/firewalld/   

(默认的初始配置)

/etc/sysconfig/iptables
 
对规则的修改不需要全部刷新策略,不中断现有连接 立即生效,可能中断现有连接
 
防火墙类型

动态防火墙           

(在不同区域设置不同规则,可通过更换区域来更改防护策略)

静态防火墙           

(所有规则都是配置在表的链里,只能通过修改规则来更改防护策略)

三.Firewalld区域

1.概念

  • firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)
  • 然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域
  • 每个区域都定义了自己打开或者关闭的端口和服务列表
     

2.九个区域

trusted(信任区域)允许所有的传入流量
public(公共区域)允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域
external(外部区域)允许与ssh预定义服务匹配的传入流量其余均拒绝
home(家庭区域)允许与ssh、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其他均拒绝
internal(内部区域)默认值与home区域相同
work(工作区域)允许与ssh、dhcpv6-client预定义服务匹配的传入流量,其他均拒绝
dmz(隔离区域也称非军事区域)允许与ssh预定义服务匹配的传入流量,其他均拒绝
block(限制区域)拒绝所有传入流量
drop(丢弃区域)丢弃所有传入流量,并且不产生包含icmp的错误响应

3.区域介绍

  • 最终一个区域的安全程度是取决于管理员在此区域中设置的规则
  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则,只会允许符合规则的流量传入
  • 可以根据网络规模,使用一个或多个区域,但是任何一个 活跃区域 至少需要关联 源地址或接口
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)

4.Firewalld数据处理流程

  • 要激活某个区域,需要先将区域与 源地址或网卡接口 关联绑定(一个区域可以关联绑定多个源地址或网卡接口,一个源地址或网卡接口只能关联绑定一个区域)
  • 先检查传入数据包的源地址
  1. 若源地址与特定区域绑定,则直接使用该区域的规则过滤处理数据包
  2. 若源地址与任何一个区域没有绑定,则使用与入站网卡绑定的特定区域的规则过滤处理数据包
  3. 若也没有特定区域绑定网卡接口,则使用默认区域的规则过滤处理数据包

四.Firewalld-cmd命令行操作

1.查看

查看当前默认区域

firewall-cmd --get-default-zone

查看当前已激活的区域

firewall-cmd --get-active-zones

查看所有可用的区域

firewall-cmd --get-zones

查看指定区域的规则

firewall-cmd --list-all --zone=区域名

查看指定区域允许访问的服务列表

firewall-cmd --list-services --zone=区域名

查看指定区域允许访问的端口列表

firewall-cmd --list-ports --zone=区域名

查看与网卡绑定的区域

firewall-cmd --get-zone-of-interface=网卡名

查看所有icmp类型

firewall-cmd --get-icmptypes

2.增加

给指定区域添加绑定的网卡

firewall-cmd --add-interface=网卡名 --zone=区域名

给指定区域添加源地址

firewall-cmd --add-source=源地址 --zone=区域名

给指定区域添加允许访问的服务

firewall-cmd --add-service=服务名 --zone=区域名

给指定区域添加允许访问的服务列表

firewall-cmd --add-service={服务名1,服务名2,...} --zone=区域名

给指定区域添加允许访问的端口

firewall-cmd --add-port=端口/协议 --zone=区域名 

给指定区域添加允许访问的连续的端口列表

firewall-cmd --add-port=端口1-端口2/协议 --zone=区域名

给指定区域添加允许访问的不连续的端口

firewall-cmd --add-port={端口1,端口2,...}/协议 --zone=区域名

给指定区域添加拒绝访问的icmp类型

firewall-cmd --add-icmp-block=icmp类型 --zone=区域名 

3.删除

根据服务名删除

firewall-cmd --remove-service=服务名 --zone=区域名  

 根据端口/协议删除

firewall-cmd --remove-port=端口/协议 --zone=区域名

根据icmp类型删除

firewall-cmd --remove-icmp-block=icmp类型 --zone=区域名

从指定区域里删除绑定的网卡

firewall-cmd --remove-interface=网卡名 --zone=区域名

从指定区域里删除绑定的源地址

firewall-cmd --remove-source=源地址 --zone=区域名

4.修改

修改当前默认区域

firewall-cmd --set-default-zone

修改/添加网卡 绑定给指定区域

firewall-cmd --change-interface=网卡名 --zone=区域名

修改/添加源地址 绑定给指定区域

firewall-cmd --change-source=源地址 --zone=区域名

五.Firewalld防火墙的配置方法

1.运行时配置

  • 实时生效,并持续至Firewalld重新启动或重新加载配置
  • 不中断现有连接
  • 不能修改服务配置
firewall-cmd ....

firewall-cmd --runtime-to-permanent       将之前的运行时配置都转换成永久配置

2.永久配置

  • 不立即生效,除非Firewalld重新启动或重新加载配置
  • 中断现有连接
  • 可以修改服务配置
firewall-cmd ....  --permanent

firewall-cmd --reload   或   systemctl restart firewalld

六.编写/etc/firewalld/中的配置文件

Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置

  • /etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/ 中拷贝
  • /usr/lib/firewalld/ :默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/ 中的配置

补充:DNAT和SNAT也可以通过firewall-cmd设置

1.设置SNAT

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A POSTROUTING -s 

192.168.80.0/24 -j SNAT --to-source 12.0.0.1

2.设置DNAT

firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.1 -p 

tcp --dport 80 -j DNAT --to-destination 192.168.80.11

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新FinalShell专业版激活

支持的版本 可以激活任意版本的FinalShell为专业版,包括最新版4.3.10 激活方式 打开FinalShell,点击左下角 激活/升级。 账号密码任意输入几个字符,点离线激活。 复制机器码,将机器码发送给微信公众号【小白学算法】,即可获…

数据结构学习/复习15--排序部分复习总结

一、学过的排序 1.插入排序 2.希尔排序 3.直接选择排序 4.堆排序 5.冒泡排序 6.快速排序 7.归并排序 8.计数排序 二、各项排序的思想及改进(无特殊说明均以升序为例) 1.插入排序及其改进希尔排序 (1)插入排序的思想及具体操作细节 将一个数字按顺…

pytorch使用gpu训练模型

前言 仅记录学习过程,有问题欢迎讨论 因为网上博客参差不齐,我也踩了很多坑,留下我自己成功的经验哈哈。 1.安装CUDA和CUDNN 参考这个博客: https://blog.csdn.net/shdabai/article/details/131248257 2.安装gpu版本 pytorch …

【openlayers系统学习】3.6-3.7添加可视化选择器,手动选择可视化的图像源

六、添加可视化选择器(选择可视化的图像类型) 在前面的示例中,我们已经看到了同一Sentinel-2图像的真彩色合成、假彩色合成和NDVI渲染。如果能让用户从这些可视化中选择一个或更多,而不必每次都更改我们的代码,那就太…

【热门话题】一文带你读懂公司是如何知道张三在脉脉上发了“一句话”的

按理说呢,A公司和脉脉属于不同的平台,而且脉脉上大家可以匿名发言,所以,即便我坐在你边上,我发了一句话上去,你也不知道是谁发的。但通过一些技术,我们却可以分析出,公司是如何知道张…

Git远程控制

文章目录 1. 创建仓库1.1 Readme1.2 Issue1.3 Pull request 2. 远程仓库克隆3. 推送远程仓库4. 拉取远程仓库5. 配置Git.gitignore配置别名 使用GitHub可以,采用Gitee也行 1. 创建仓库 1.1 Readme Readme文件相当于这个仓库的说明书,gitee会初始化2两份…

docker容器安装nexus3以及nexus3备份迁移仓库数据

一、安装步骤 1.搜索nexus3镜像 docker search nexus3 2.拉取镜像 docker pull sonatype/nexus3或者指定版本 docker pull sonatype/nexus3:3.68.0 3.查看拉取的镜像 docker images | grep "nexus3" 4.启动nexus服务 直接启动 docker run -d --name nexus3 -…

基于Django框架深度学习口罩检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着全球疫情的蔓延,口罩成为了重要的防护工具。然而,在实际场景中&am…

MySQL —— 复合查询

一、基本的查询回顾练习 前面两章节整理了许多关于查询用到的语句和关键字,以及MySQL的内置函数,我们先用一些简单的查询练习去回顾之前的知识 1. 前提准备 同样是前面用到的用于测试的表格和数据,一张学生表和三张关于雇员信息表 雇员信息…

qt 布局学习笔记

目录 管理信息列表源码 c版: pro文件: qt 设置水平布局,里面有两个按钮,每个按钮就变的很宽,怎么设置按钮的精确位置 设置固定大小: 使用弹性空间(Spacer) 使用布局比例&…

Apache Doris 基础(一) -- Getting Started

Apache Doris 开源、实时数据仓库 Apache Doris是一个用于实时分析的现代数据仓库。 它提供大规模闪电般的实时数据分析。 实时获取和存储 在一秒钟内基于推的微批处理和基于拉的流数据获取。实时更新,追加和预聚合的存储引擎闪电般的查询 使用列式存储引擎、MPP架构…

vue3封装ElementUI plus Dialog弹窗

因为ElementuiPlus的dialog弹框的初始样式不太好看,而公司要求又要好看,本来是已经实现了,但是后来想想了发现封装完dialog的其他功能也要,所以特此记录一下 方案一 思路:封装一个组件,将所有新增的参数引入el-dialog 参数中,实现参数共用 新建一个组件,将官网暴露的属性全部引…

达梦数据库详解

达梦认证是指针对中国数据库管理系统(DBMS)厂商达梦公司所推出的数据库产品,即达梦数据库(DMDB),进行的一种官方认证体系。达梦认证旨在验证数据库管理人员对达梦数据库产品的掌握程度,及其在数…

【AD936X】 SDR 版图 欣赏

DIE : 4336x4730 um 的 65 nm 芯片 在顶部金属上,您可以看到 PLL 的电感器和日期代码 - 芯片在推出前两年就已准备就绪: 右下角是主数字块,应该是 128 抽头 FIR 滤波器。在最大放大倍率下,我们可以看到一排排标准单元。它们的放置…

[深度学习]基于yolov8+bytetrack+pyqt5实现车辆进出流量统计+车辆实时测速实现

以前使用过yolov5deepsort实现过车辆进出流量统计车辆实时测速,可以看我往期视频,这回改成yolov8bytetrack实现,实时性更好,原理和原来一样。车流量进出统计车速测量优点: 使用目标检测算法考虑bbox抖动,解…

绿联NAS DXP系列发布:内网穿透技术在私有云的应用分析

5月23日,绿联科技举行了“新一代存储方式未来已来”发布会,发布了绿联NAS私有云DXP系列(包括两盘位到八盘位的九款新品)以及由绿联科技自研的全新NAS系统UGOS Pro。此次绿联发布的DXP系列九款产品,共有两盘位、四盘位、…

Windows DNS 服务器配置转发器

DNS服务器转发器 在企业中由于自身条件的限制, 可能本身的DNS新能并不是很好,这个时候通过使用转发器功能, 将收到的DNS请求转发给另外一台高性能的DNS服务器,让其做后面的迭代查询。 1. 选择DNS服务器, 右击选择属性…

【LeetCode:496. 下一个更大元素 I + 单调栈】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

windows2008修改远程桌面端口,如何果断修改远程桌面端口,确保系统安全无忧!

在数字化时代的浪潮中,Windows 2008系统以其卓越的稳定性和可靠性,赢得了众多企业和个人的青睐。然而,随着网络安全问题的日益严峻,如何确保远程桌面连接的安全,成为了摆在我们面前的一道难题。今天,我将为…

MySQL的ODBC驱动下载、安装以及配置数据源

下载地址:odbc官方下载地址 MySQL :: Download Connector/ODBC 下载安装ODBC驱动 配置MySQL ODBC 数据源 进入控制面板->系统和安全->Windows工具 Data Source Name填写需要生成的ODBC数据源的名称。Description选填。如果使用远程数据库服务器&a…