【Linux安全】Firewalld防火墙基础

目录

一、Firewalld概述

二、Firewalld和iptables的关系

三、Firewalld网络区域

1、firewalld防火墙预定义了9个区域:

2、firewalld 数据包处理原则

3、firewalld数据处理流程

4、firewalld检查数据包的源地址的规则

四、Firewalld防火墙的配置方法

1、firewalld 命令行操作管理

1)查

2)增

3)删

4)改

五、Firewalld防火墙案例


一、Firewalld概述

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  • 支持IPv4、IPv6防火墙设置以及以太网桥
  • 支持服务或应用程序直接添加防火墙规则接口
  • 拥有两种配置模式
    • 运行时配置
    • 永久配置

二、Firewalld和iptables的关系

 netfilter

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

     体系

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

Firewalld/iptables

  • CentOS7默认的管理防火墙规则的工具(Firewalld)
  • 称为Linux防火墙的“用户态

Firewalld和iptables的区别
Firewalldiptables
配置文件

/usr/lib/firewalld/

/etc/firewalld/

/etc/sysconfig/iptables
对规则的修改不需要全部刷新策略,不丢失现行连接需要全部刷新策略,丢失连接
防火墙类型动态防火墙静态防火墙

三、Firewalld网络区域

1、firewalld防火墙预定义了9个区域:

  1. trusted(信任区域):允许所有的传入流量。
  2. public(公共区域):允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
  3. external(外部区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。 默认将通过此区域转发的IPv4传出流量将进行地址伪装,可用于为路由器启用了伪装功能的外部网络。
  4. home(家庭区域):允许与ssh、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。
  5. internal(内部区域):默认值时与home区域相同。
  6. work(工作区域):允许与 ssh、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。
  7. dmz(隔离区域也称为非军事区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。
  8. block(限制区域):拒绝所有传入流量。
  9. drop(丢弃区域):丢弃所有传入流量,并且不产生包含 ICMP的错误响应。

2、firewalld 数据包处理原则

激活某个区域,需要先将区域与 源地址或网卡接口 关联绑定(一个区域可以关联绑定多个源地址或网卡接口,一个源地址或网卡接口只能关联绑定一个区域

3、firewalld数据处理流程

firewalld对于进入系统的数据包,会根据数据包的源IP地址或传入的网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。

4、firewalld检查数据包的源地址的规则

  1. 源地址关联到特定的区域(即源地址或接口绑定的区域有冲突),则执行该区域所制定的规则。
  2. 源地址未关联到特定的区域(即源地址或接口绑定的区域没有冲突),则使用传入网络接口的区域并执行该区域所制定的规则。
  3. 若网络接口也未关联到特定的区域(即源地址或接口都没有绑定特定的某个区域),则使用默认区域并执行该区域所制定的规则。
     

四、Firewalld防火墙的配置方法

1、firewalld 命令行操作管理

1)查

firewall-cmd --get-default-zone                 查看当前默认区域
             --get-active-zones                 查看当前已激活的区域
             --get-zones                        查看所有可用的区域
             --list-all-zones                   查看所有区域的规则
             --list-all --zone=区域名           查看指定区域的规则
             --list-services --zone=区域名      查看指定区域允许访问的服务列表
             --list-ports --zone=区域名         查看指定区域允许访问的端口列表
             --get-zone-of-interface=网卡名     查看与网卡绑定的区域
             --get-icmptypes                    查看所有icmp类型

2)增

firewall-cmd --add-interface=网卡名 --zone=区域名                    给指定区域添加绑定的网卡
             --add-source=源地址 --zone=区域名                       给指定区域添加源地址
             --add-service=服务名 --zone=区域名                      给指定区域添加允许访问的服务
             --add-service={服务名1,服务名2,...} --zone=区域名       给指定区域添加允许访问的服务列表
             --add-port=端口/协议 --zone=区域名                      给指定区域添加允许访问的端口
             --add-port=端口1-端口2/协议 --zone=区域名               给指定区域添加允许访问的连续的端口列表
             --add-port={端口1,端口2,...}/协议 --zone=区域名         给指定区域添加允许访问的不连续的端口
             --add-icmp-block=icmp类型 --zone=区域名                 给指定区域添加拒绝访问的icmp类型

3)删

firewall-cmd --remove-service=服务名 --zone=区域名  
             --remove-port=端口/协议 --zone=区域名
             --remove-icmp-block=icmp类型 --zone=区域名
             --remove-interface=网卡名 --zone=区域名       从指定区域里删除绑定的网卡
             --remove-source=源地址 --zone=区域名          从指定区域里删除绑定的源地址

4)改

firewall-cmd --set-default-zone                            修改当前默认区域
             --change-interface=网卡名 --zone=区域名       修改/添加网卡 绑定给指定区域
             --change-source=源地址 --zone=区域名          修改/添加源地址 绑定给指定区域
  • 运行时配置
    • 实时生效,并持续至Firewalld重新启动或重新加载配置
    • 不中断现有连接
    • 不能修改服务配置
    • firewall-cmd ....
      firewall-cmd --runtime-to-permanent       将之前的运行时配置都转换成永久配置
  • 永久配置
    • 不立即生效,除非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/ 中的配置

五、Firewalld防火墙案例

永久生效

富规则
https://blog.51cto.com/u_3823536/2552274

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

气膜建筑:室内滑雪场的理想选择—轻空间

近年来,室内滑雪场成为越来越多投资者关注的热门项目。随着滑雪运动的普及,滑雪场的生意也愈加红火。对于投资者来说,选择一种省钱又实惠的搭建方案至关重要,而气膜建筑无疑是一个理想的选择。以下将详细介绍气膜建筑在室内滑雪场…

若依微服务实现分布式事务

一、基本介绍 1、什么是分布式事务 指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。从本质上来说,分布式事务就是为了保证不同数据库的数据一致…

RabbitMQ 交换机类型

常用交换机 发布订阅(Publish/Subscribe)交换机 一个生产者给多个队列发送消息,X 代表交换机。 交换机的作用:类似网络路由器,主要提供转发功能,解决怎么把消息转发到不同的队列中,让消费者从不…

国家数据局发布《数字中国发展报告 (2023年)》

2023年数字中国建设总体呈现发展基础更加夯实、赋能效应更加凸显、数字安全和治理体系更加完善、数字领域国际合作更加深入等四方面特点。 为贯彻落实党中央、国务院关于建设数字中国的重要部署,国家数据局会同有关单位系统总结2023年数字中国建设重要进展和工作成效…

【UE5.1 角色练习】08-传送技能

前言 在上一篇(【UE5.1 角色练习】07-AOE技能)基础上继续实现人物通过鼠标点击然后传送技能的功能。 效果 步骤 1. 首先需要显示鼠标光标,我们可以在玩家控制器中勾选“显示鼠标光标” 2. 在项目设置中添加一个操作映射,设置按…

2-Django项目进阶--继续学生管理系统

目录 项目框架: urls.py views.py modules.py class_data.html add_and_modify.html add_stu.html 笔记: 继承语法 模板继承总结: 班级添加 add_and_modify.html 修改添加公用一个页面即可 views.py 班级修改 views.py url.py 班级删除 views.py…

嵌入式UI开发-lvgl+wsl2+vscode系列:2、label(标签)+button(按钮)+slider(滑块)控件熟悉及其示例demo运行

文章目录 一、前言二、常见控件示例demo模拟环境运行及接口熟悉(重要)如何修改示例main函数测试各种示例1、label示例1.1、label示例1(标签基础示例)1.2、label示例2(标签带阴影效果)1.3、label示例3&#…

Textual for Mac:轻量级IRC客户端

在寻找一款高效、轻量级的IRC客户端时,Textual for Mac无疑是你的不二之选。它集成了众多现代技术,如本机IPv6、最新的IRCv3规范,以及客户端证书身份验证,让你的聊天体验更加顺畅和安全。 Textual for Mac v7.2.2免激活版下载 Tex…

代码随想录算法训练营第五十九天|503.下一个更大元素II、42. 接雨水

503. 下一个更大元素 II 思路: 这道题和739. 每日温度 (opens new window)也几乎如出一辙。 不过,本题要循环数组了。 本篇我侧重与说一说,如何处理循环数组。 相信不少同学看到这道题,就想那我直接把两个数组拼接在一起&…

MySQL导入SQL脚本---超详细介绍

1.新建xxx数据库,字符集选对。 2.在mysql安装目录下cmd进入小黑窗 3.执行mysql -uroot -p123456 --default-character-setutf8命令 4.use xxx; 5.source xxx.sql 执行完上面的命令等待结束就可以了 需要注意的是--default-character-setutf8,要不然可…

如何把学浪的视频保存到手机

你是不是还在为无法将学浪的视频保存到手机而烦恼?别担心,接下来我将为大家分享一个非常实用的方法,让你轻松实现这一目标! 下载学浪的工具我已经打包好了,有需要的自己下载一下 学浪下载工具打包链接:百…

网络工程师备考2——vlan

vlan 1、什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域…

DAOS: A Scale-Out High Performance Storage Stack for Storage Class Memory——论文泛读

Supercomputing Frontiers 2020 Paper 分布式元数据论文阅读笔记整理 问题 企业、政府和学术界出现的数据密集型应用程序将现有的I/O模型扩展到了极限。现代I/O工作负载的特点是元数据与未对齐和碎片化数据的结合比例越来越高。传统的存储堆栈为这些工作负载提供了较差的性能…

OrangePi AIPro:次世代嵌入式边缘AI计算与智能机器人应用开发平台

近年来,随着物联网(IoT)和人工智能(AI)技术的快速发展,嵌入式边缘计算板卡在智能设备中的应用越来越广泛。OrangePi AIpro作为一款轻量化高性能的嵌入式边缘人工智能计算SoC,在硬件配置、AI性能和使用便利性方面都有着突出的表现。本文将详细评测OrangePi AIpro的各个方…

项目文章 |NC揭示真菌中A-to-I mRNA编辑机制及其调控和演化

A-to-I mRNA编辑是一种重要的基因表达调控方式,它通过将mRNA中的腺苷(A)转变为肌苷(I),从而可能改变蛋白质的编码信息。在动物中,这一过程由ADAR家族酶介导,然而在真菌中,由于缺乏ADARs的同源物,其背后的机…

python onnx 推理yolov10

python onnx 推理yolov10 import onnxruntime as ort import cv2 import numpy as np# Class names for the COCO dataset CLASSES = ["person", "bicycle", "car", "motorcycle", "airplane"

[猫头虎分享21天微信小程序基础入门教程]第19天:小程序的插件开发与使用

[猫头虎分享21天微信小程序基础入门教程]第19天:小程序的插件开发与使用 第19天:小程序的插件开发与使用 🔧 自我介绍 大家好,我是猫头虎,一名全栈软件工程师。今天我们继续微信小程序的学习,重点了解如…

StackExchange.Redis跑起来,为什么这么溜?

StackExchange.Redis 是一个高性能的 Redis 客户端库,主要用于 .NET 环境下与 Redis 服务器进行通信,大名鼎鼎的stackoverflow 网站就使用它。它使用异步编程模型,能够高效处理大量请求。支持 Redis 的绝大部分功能,包括发布/订阅…

SwiftUI 5.0(iOS 17)进一步定制 TipKit 外观让撸码如虎添翼

概览 在之前 SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App 这篇博文里,我们已经初步介绍过了 TipKit 的基本知识。 现在,让我们来看看如何进一步利用 SwiftUI 对 TipKit 提供的细粒度外观定制技巧,让 Tip 更加“明眸…

灯塔工厂产业数字化平台解决方案(50页PPT)

方案介绍: 随着工业4.0和智能制造的快速发展,传统工厂正面临着转型升级的迫切需求。为了提升生产效率、优化资源配置、增强市场竞争力,我们推出了灯塔工厂产业数字化平台解决方案。该方案旨在通过先进的信息技术手段,将传统工厂转…