【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 发…

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

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

基于双向长短期记忆 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语句

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

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

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

【源码+文档+讲解】垃圾分类系统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点推荐

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

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

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

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

ESP8266实现获取天气情况

利用太极创客提供的ESP8266 心知天气库获取天气情况并显示 心知天气库地址: ESP8266-心知天气: 本库主要功能为使用ESP8266物联网开发板通过心知天气 API 获取天气等信息。 clone到本地: git clone https://gitee.com/taijichuangke/ESP8266-Seniverse.git 安装该…

跟着Kimi学习结构化提示词:19套内置提示词都在这里了!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

C++ Primer Plus第十六章复习题

1、考虑下面的 类声明 class RQ1 { private:char * st; public:RQ1(){st new char [1]; strcpy(st,"");}RQ1(const RQ1 & rq){st new char [strlen(rq.st)1]; strcpy(st,rq.st);}~RQ1(){delete [] st};RQ & OPERATOR (cosnt RQ &rq); }; 将它转换为使…

【笔记】树(Tree)

一、树的基本概念 1、树的简介 之前我们都是在谈论一对一的线性数据结构,可现实中也有很多一对多的情况需要处理,所以我们就需要一种能实现一对多的数据结构--“树”。 2、树的定义 树(Tree)是一种非线性的数据结构&#xff0…

作物水文模型AquaCrop---用于评估作物对水的需求、灌溉计划和管理策略

AquaCrop是由世界粮食及农业组织(FAO)开发的一个先进模型,旨在研究和优化农作物的水分生产效率。这个模型在全球范围内被广泛应用于农业水管理,特别是在制定农作物灌溉计划和应对水资源限制方面显示出其强大的实用性。AquaCrop 不…

Python知识点复习

文章目录 Input & OutputVariables & Data typesPython字符串重复(字符串乘法)字符串和数字连接在一起print时,要强制类型转换int为str用input()得到的用户输入,是str类型,如果要以int形式计算的话&#xff0c…

SkyWalking 介绍及部署

1、SkyWalking简介2、SkyWalking的搭建 2.1 部署Elasticsearch2.2 部署SkyWalking-Server2.3 部署SkyWalking-UI3、应用接入 3.1 jar包部署方式3.2 dockerfile方式3.3 DockerFile示例4、SkyWalking UI 界面说明 4.1 仪表盘 4.1.1 APM (1)全局维度&#x…

UBUNTU22.04无法安装nvidia-driver-550 依赖于 nvidia-dkms-550 (<= 550.54.15-1)

类似的报错信息,就是卡在了nvidia-dkms-550无法安装 Loading new nvidia-550.40.07 DKMS files… Building for 6.5.0-15-generic Building for architecture x86_64 Building initial module for 6.5.0-15-generic ERROR: Cannot create report: [Errno 17] File e…