【Linux安全】Firewalld防火墙

目录

一.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 ....  --permanentfirewall-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.mzph.cn/diannao/14013.shtml

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

相关文章

arping 一键检测网络设备连通性(KALI工具系列二)

目录 1、KALI LINUX简介 2、arping工具简介 3、在KALI中使用arping 3.1 目标主机IP(win) 3.2 KALI的IP 4、操作示例 4.1 IP测试 4.2 ARP测试 4.3 根据存活情况返回 5、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发…

表现层框架设计之使用XML设计表现层

使用XML设计表现层,统一Web Form与Windows Form的外观。 1.XML(可扩展标记语言) XML(可扩展标记语言)与HTML类似,是一种标记语言。与主要用于控制数据的显示和外观的HTML标记不同,XML标记用于定…

PostgreSQL的扩展(extensions)-常用的扩展之pg_rman

PostgreSQL的扩展(extensions)-常用的扩展之pg_rman pg_rman 是 PostgreSQL 社区提供的一个备份和恢复管理工具。它能够简化和自动化 PostgreSQL 数据库的备份和恢复过程,并支持全量备份、增量备份和差异备份。pg_rman 提供了方便的命令行接…

【机器学习与大模型】驱动下的电子商务应用

摘要: 随着信息技术的飞速发展,电子商务已经成为当今商业领域中最为活跃和重要的部分之一。而机器学习和大模型的出现,为电子商务带来了新的机遇和挑战。本文深入探讨了机器学习与大模型在电子商务中的应用,包括个性化推荐、精准营…

Java 18:开启Java平台的新纪元

Java 18:探索Java平台的最新飞跃 随着Java 18的发布,Java平台再次证明了其不断创新和适应现代软件开发需求的能力。作为长期支持(LTS)版本,Java 18不仅带来了性能上的提升,还引入了一系列令人兴奋的新特性…

基于双向长短期记忆 Bi-LSTM 对消费者投诉进行多类分类

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对抗网络、门控循环单元、长短期记…

CSS transform 三大属性 rotate、scale、translate

transform 浏览器支持定义和用法translate位移函数rotate旋转函数scale缩放函数 浏览器支持 表格中的数字表示支持该属性的第一个浏览器版本号。 紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。 定义和用法 transform 属性向元素应用 2D…

在chrome中查找和验证xpath

1、快速获取XPath表达式 按F12打开chrome浏览器的开发者模式,点击选择光标,选择页面上的元素位置,在控制台右键选择Copy XPath,表达式就复制到粘贴板中了。 获取到的xpath路径://*[id"hotsearch-content-wrapper…

iOS App上架全流程及审核避坑指南

App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些…

6.1 if语句

计算机语言和人类语言类似,人类语言是为了解决人与人之间交流的问题,而计算机语言是为了解决程序员与计算机之间交流的问题。程序员编写的程序就是计算机的控制指令,控制计算机的运行。借助于编译工具,可以将各种不同的编程语言的…

基础入门三大核心之HTML篇:WebP格式图像全面解析 —— 起源、优势、兼容性及在线压缩方法

基础入门三大核心之HTML篇:WebP格式图像全面解析 —— 起源、优势、兼容性及在线压缩方法 欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以…

冯喜运:5.24黄金今日能否回调?日内国际黄金美原油操作策略

【黄金消息面分析】:在过去的半个世纪里,美国国债作为买入持有的投资手段,轻松超越了黄金。然而,如今债券作为终极避险资产的地位正面临着前所未有的挑战。传统上,投资者将美国国债视为一种超安全的投资,因…

Java高级面试精粹:问题与解答集锦(二)

Java面试问题及答案 1. 什么是Java内存模型(JMM)?它的作用是什么? 答案: Java内存模型(JMM)定义了Java虚拟机(JVM)在计算机内存中的工作方式,包括程序计数器…

【源码+文档+讲解】垃圾分类系统SSM

目 录 摘 要 前 言 第1章 概述 1.1 研究背景 1.2 研究目的 1.3 研究内容 4 第二章 开发技术介绍 5 2.1Java技术 6 2.2 Mysql数据库 6 2.3 B/S结构 7 2.4 SSM框架 8 第三章 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 经济可行性 3.1.3 操作可行性 3.2 系统…

Word让标题3现形

1 2这个玩意儿是管理样式(你找得我好惨啊啊啊啊) 3点推荐

MINLP(Mixed-Integer Nonlinear Programming,混合整数非线性规划)

MINLP(Mixed-Integer Nonlinear Programming,混合整数非线性规划)问题是一类包含整数变量和连续变量的非线性优化问题。它结合了整数规划(IP)和非线性规划(NLP)的特征,因而比单纯的整…

基于Vue的图片文件上传与压缩组件的设计与实现

摘要 随着前端技术的发展,系统开发的复杂度不断提升,传统开发方式将整个系统做成整块应用,导致修改和维护成本高昂。组件化开发作为一种解决方案,能够实现单独开发、单独维护,并能灵活组合组件,从而提升开…

JS-02对象的基本使用

目录 1 创建一个对象 2 对象属性操作 2.1 获取属性 第一种方式:.语法 第二种方式:[]语法 2种方式的差异 2.2 设置属性 2.3 删除属性 3 案例 1 创建一个对象 创建一个对象,包含了两个属性,两个方法: var studen…

17. FastDFS面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 什么是FastDFS? FastDFS是用C语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易…

什么是线程安全?如何保证线程安全?

目录 一、引入线程安全 👇 二、 线程安全👇 1、线程安全概念 🔍 2、线程不安全的原因 🔍 抢占式执行(罪魁祸首,万恶之源)导致了线程之间的调度是“随机的” 多个线程修改同一个变量 修改…