ubuntu防火墙(三)——firewalld使用与讲解
本文是Linux下,用ufw实现端口关闭、流量控制(二)
firewalld使用方式
firewalld
是一个动态管理防火墙的工具,主要用于 Linux 系统(包括 Ubuntu 和 CentOS 等)。它提供了一个基于区域(zones)和服务(services)的管理方式,使得防火墙的配置和管理更加灵活和易于使用。以下是如何使用 firewalld
管理防火墙的基本步骤和命令。
1. 安装 firewalld
在大多数 Linux 发行版中,firewalld
默认是预装的。如果没有安装,可以使用以下命令进行安装:
# 在 Ubuntu 上
sudo apt install firewalld# 在 CentOS 上
sudo yum install firewalld
2. 启动和启用 firewalld
启动 firewalld
服务并设置为开机自启:
# 启动 firewalld
sudo systemctl start firewalld# 设置开机自启
sudo systemctl enable firewalld
3. 查看当前状态
可以使用以下命令查看 firewalld
的状态:
sudo systemctl status firewalld
4. 基本命令
- 查看当前区域和规则:
sudo firewall-cmd --get-active-zones
- 查看特定区域的规则:
sudo firewall-cmd --zone=public --list-all
5. 管理区域
firewalld
使用区域来定义不同的信任级别。可以使用以下命令添加、删除或更改区域的规则。
- 添加服务到区域:
sudo firewall-cmd --zone=public --add-service=http --permanent
- 移除服务:
sudo firewall-cmd --zone=public --remove-service=http --permanent
- 重新加载配置:
sudo firewall-cmd --reload
6. 添加和移除端口
可以直接添加或移除特定端口:
- 添加端口:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 移除端口:
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
7. 临时和永久规则
- 使用
--permanent
选项添加的规则在重启后仍然有效。没有--permanent
选项的规则在重启后会失效。
8. 查看帮助
可以使用以下命令查看 firewalld
的帮助信息:
firewall-cmd --help
总结
firewalld
提供了一种灵活且易于管理的方式来配置 Linux 防火墙。通过使用区域和服务的概念,用户可以轻松地管理网络流量和安全策略。使用 firewalld
时,确保定期检查和更新防火墙规则,以保持系统的安全性。
问答
ubuntu中firewall-config和ufw会冲突吗,可以一起管理防火墙吗
在 Ubuntu 中,firewall-config
和ufw
(Uncomplicated Firewall)是两种不同的防火墙管理工具,它们可以用来配置和管理防火墙规则,但它们之间可能会产生冲突。
1. UFW(Uncomplicated Firewall)
- UFW 是一个用户友好的命令行工具,旨在简化 iptables 的使用。它提供了一个简单的界面来管理防火墙规则。
- UFW 默认情况下是禁用的,用户可以通过命令行启用或禁用它,并添加或删除规则。
2. Firewall-config
firewall-config
是一个图形用户界面(GUI)工具,通常与firewalld
一起使用。firewalld
是一个动态管理防火墙的工具,使用 zones 和服务来管理规则。firewalld
和ufw
都是基于 iptables,但它们的工作方式不同。
3. 冲突问题
- 不建议同时使用:如果你同时启用
ufw
和firewalld
,可能会导致冲突,因为它们都试图管理 iptables 规则。一个工具的规则可能会覆盖或干扰另一个工具的规则。 - 选择其一:建议选择其中一个工具来管理防火墙。如果你选择使用
ufw
,请确保firewalld
被禁用;如果你选择使用firewalld
,请确保ufw
被禁用。
4. 如何禁用
-
如果你决定使用
ufw
,可以禁用firewalld
:sudo systemctl stop firewalld sudo systemctl disable firewalld
-
如果你决定使用
firewalld
,可以禁用ufw
:sudo ufw disable
总结
在 Ubuntu 中,建议只使用一个防火墙管理工具(要么是 ufw
,要么是 firewalld
),以避免潜在的冲突和管理上的复杂性。选择一个适合你需求的工具,并确保另一个工具被禁用。
sudo firewall-cmd --zone=public --add-service=http --permanent允许本地接受 外部http的服务?
是的,命令 sudo firewall-cmd --zone=public --add-service=http --permanent
的确允许本地系统接受来自外部的 HTTP 服务请求。具体来说,这个命令的作用如下:
-
允许 HTTP 流量:通过将
http
服务添加到public
区域,防火墙将允许通过 HTTP 协议(通常是端口 80)进行的网络流量。这意味着外部客户端(如浏览器)可以向本地服务器发送 HTTP 请求。 -
适用于
public
区域:public
区域通常用于不受信任的网络环境(例如公共 Wi-Fi)。在这个区域中,默认情况下大多数流量是被阻止的,因此需要明确允许特定的服务(如 HTTP)。 -
永久性设置:使用
--permanent
选项表示这个更改是永久性的,即使在防火墙重启或系统重启后,HTTP 服务的允许规则仍然有效。
额外步骤
在执行此命令后,通常需要运行以下命令以使更改生效:
sudo firewall-cmd --reload
总结
通过执行该命令,你的本地系统将能够接受来自外部的 HTTP 请求,允许用户访问在本地运行的 Web 服务器(如 Apache 或 Nginx)。确保在配置防火墙时,考虑到安全性,只有在需要时才允许外部访问。
在ubuntu客户机中,firewall-config建议在public区域允许http服务难道不会导致被攻击吗?
在 Ubuntu 客户机中,允许 http
服务(端口 80)确实可能会增加被攻击的风险,尤其是在 public
区域中。public
区域通常用于不受信任的网络环境(如公共 Wi-Fi),在这种情况下,默认情况下大多数服务都是被阻止的。
风险分析
-
暴露 Web 服务:如果你在客户端上允许
http
服务,这意味着任何人都可以尝试访问该服务。如果客户端上没有运行 Web 服务器,允许http
服务可能没有实际意义,但如果有 Web 服务器在运行,可能会面临各种攻击(如 DDoS、SQL 注入、跨站脚本等)。 -
不安全的连接:HTTP 是未加密的协议,数据在传输过程中可能被窃听或篡改。使用 HTTPS(端口 443)可以提供加密的连接,增加安全性。
建议
-
仅在需要时允许:如果你的客户端不需要提供 Web 服务,建议不要在
public
区域中允许http
服务。只在确实需要时才允许。 -
使用 HTTPS:如果你需要提供 Web 服务,尽量使用 HTTPS 而不是 HTTP,以确保数据传输的安全性。
-
限制访问:如果可能,使用防火墙规则限制可以访问该服务的 IP 地址范围,或者使用 VPN 进行安全访问。
-
定期检查和更新:定期检查防火墙规则和系统安全性,确保没有不必要的服务暴露在公共网络上。
总结
在 public
区域中允许 http
服务确实可能增加被攻击的风险,因此应谨慎处理。确保只在必要时允许服务,并采取适当的安全措施来保护系统。
建议默认允许端口
- dhcpv6-client
相关文章:
ubuntu防火墙(三)——firewalld使用与讲解
本文是Linux下,用ufw实现端口关闭、流量控制(二) firewalld使用方式 firewalld 是一个动态管理防火墙的工具,主要用于 Linux 系统(包括 Ubuntu 和 CentOS 等)。它提供了一个基于区域(zones)和服务&#x…...
【大数据技术基础 | 实验十一】Hive实验:新建Hive表
文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤(一)启动Hive(二)创建表(三)显示表(四)显示表列(五)更改表(六&am…...
Python实现Excel中数据条显示
Python中要实现百分比数据条的显示,可以使用pandas库,pandas图表样式的设置与Excel中的条件格式设置比较类似,比如Excel里常用的数据条的用法,在pandas中使用代码进行高亮显示,用来突出重点数据,下面一起来…...
矩阵与向量的基本概念
**一、四个基本子空间的定义** 1. **行空间(Row Space)** 行空间是由矩阵的所有行向量所形成的空间。它包含所有可能的行向量的线性组合。行空间的维度称为矩阵的行秩。 2. **零空间(Null Space)** 零空间是与矩阵相乘后结果为零的…...
亚马逊云科技大语言模型加速OCR应用场景发展
目录 前言Amazon Bedrock关于OCR解决方案Amazon Bedrock进行OCR关键信息提取方案注册亚马逊账号API调用环境搭建 总结 前言 大语言模型是一种基于神经网络的自然语言处理技术,它能够学习和预测自然语言文本中的规律和模式,可以理解和生成自然语言的人工…...
十九(GIT2)、token、黑马就业数据平台(页面访问控制(token)、首页统计数据、登录状态失效)、axios请求及响应拦截器、Git远程仓库
1. JWT介绍 JSON Web Token 是目前最为流行的跨域认证解决方案,本质就是一个包含信息的字符串。 如何获取:在使用 JWT 身份验证中,当用户使用其凭据成功登录时,将返回 JSON Web Token(令牌)。 作用…...
深入探索现代 IT 技术:从云计算到人工智能的全面解析
目录 1. 云计算:重塑 IT 基础设施 2. 大数据:挖掘信息的价值 3. 物联网(IoT):连接物理世界 4. 区块链:重塑信任机制 5. 人工智能(AI):智能未来的驱动力 结语 在当今…...
Redis的持久化
目录 1. 文章前言2. RDB2.1 触发机制2.2 流程说明2.3 RDB文件的处理2.4 RDB的优缺点 3. AOF3.1 使用AOF3.2 命令写入3.3 文件同步3.4 重写机制3.5 启动时数据恢复 4. 持久化总结 1. 文章前言 (1)Redis支持RDB和AOF两种持久化机制,持久化功能…...
小型支付商城系统-MVC工程架构开发
第1-1节 DDD 架构概念 1.DDD 是什么 那 DDD 是什么呢?来自于维基百科的一段定义:"Domain-driven design (DDD) is a major software design approach. ",DDD 是一种软件设计方法。也就是说 DDD 是指导我们做软件工程设计的一种手…...
探索 ONLYOFFICE 8.2 版本:更高效、更安全的云端办公新体验
引言 在当今这个快节奏的时代,信息技术的发展已经深刻改变了我们的工作方式。从传统的纸质文件到电子文档,再到如今的云端协作,每一步技术进步都代表着效率的飞跃。尤其在后疫情时代,远程办公成为常态,如何保持团队之间…...
Spark 计算总销量
Spark 计算总销量 题目: 某电商平台存储了所有商品的销售数据,平台希望能够找到销量最好的前 N 个商品。通过分析销售记录,帮助平台决策哪些商品需要更多的推广资源。 假设你得到了一个商品销售记录的文本文件 product_id, product_name,…...
力扣每日一题 - 3001. 捕获黑皇后需要的最少移动次数
题目 还需要你前往力扣官网查看详细的题目要求 地址 1.现有一个下标从 1 开始的 8 x 8 棋盘,上面有 3 枚棋子。2.给你 6 个整数 a 、b 、c 、d 、e 和 f ,其中:(a, b) 表示白色车的位置。(c, d) 表示白色象的位置。(e, f) 表示黑皇后的位置。…...
【React】React常用开发工具
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、React DevTools二、Redux DevTools三、Create React App 前言 React 是一种用于构建用户界面的流行 JavaScript 库,由于其灵活性、性能和可重用…...
c++ 数据结构:图
图是一种重要的非线性数据结构,用于表示对象及其关系。它广泛应用于社交网络、交通网络、任务调度、导航等领域。 图的基本概念 图的定义: 图由 顶点(Vertex) 和 边(Edge) 组成,记为 G(V,E)&a…...
SpringBoot整合Mockito进行单元测试超全详细教程 JUnit断言 Mockito 单元测试
Mock概念 Mock叫做模拟对象,即用来模拟未被实现的对象可以预先定义这个对象在特定调用时的行为(例如返回值或抛出异常),从而模拟不同的系统状态。 导入Mock依赖 pom文件中引入springboot测试依赖,spring-boot-start…...
十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能
十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能 文章目录 十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能1. Druid 的基本介绍2. 准备工作:3. Druid 监控功能 3.1 Druid 监控功能 —— Web 关联监控3.2 Druid 监控功能 —— …...
Python办公—DataMatrix二维条码制作
目录 专栏导读1、库的介绍2、库的安装3、核心代码4、完整代码总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专…...
Linux:软硬链接
目录 一、概念 软链接 硬链接 二、原理 硬链接 软链接 三、使用场景 硬链接 软链接 一、概念 软链接 在当前目录下,有一个普通文件a.txt。 ln -s a.txt a_soft.link结论: 软链接是一个文件。 观察inode_id,发现软链接有着独立…...
[笔记] Windows 上 Git 安装详细教程:从零开始,附带每个选项解析
Git 是目前最流行的分布式版本控制系统之一,广泛应用于软件开发和项目管理中。对于 Windows 用户来说,正确安装和配置 Git 是开始使用 Git 的第一步。本文提供一份详细的指南,帮助你在 Windows 系统上顺利安装 Git,并解释每个安装…...
23种设计模式之策略模式
目录 1. 简介2. 代码2.1 Strategy (策略接口)2.2 AddStrategy (具体策略类)2.3 SubStrategy (具体策略类)2.4 MultiplyStrategy (具体策略类)2.5 Operation (上下文类&am…...
总篇:Python3+Request+Pytest+Allure+Jenkins接口自动化框架设计思路
1、技术选型 Python3 Python 是一种广泛使用的高级编程语言,具有简洁、易读、易维护的特点。 Python 拥有丰富的第三方库,可以方便地进行接口测试的开发。 Request Request 是一个强大的 HTTP 库,用于发送 HTTP 请求和处理响应。 Request 支持多种 HTTP 方法,如 GET、P…...
【QML】release版本bug,信号的参数无法获取
1. 现象 问题 QML程序在debug编译模式下程序可以正常运行,但是release版本下报错:ReferenceError: para is not defined版本 Qt creator 10.0.2Qt_5_15_2_MinGW 平台 win 10 2. 解决方法 暂时没有找到好的解决办法,只能规避规避方法 //问…...
Javaweb 前端 ajax
作用:和后端交互 script 是 js axios(这里是函数的调用方式){封装的是对象} {}是对象 案例 。then的含义,请求后端之后,后端把数据放在回调 点了清空之后,还要查询全部 await等待请求执行完之后,接收这个结果 代码…...
汽车EEA架构:发展历程
1.发展历程的基本逻辑 汽车电子电气的发展历程中,其使用的基本逻辑是IPO(Input-Processing-Output)模型,如下图1所示: 图 1 那什么是IPO模型了?我们从控制器的原理入手解释IPO模型,控制器的主要用途如下: 根据给定的逻…...
几个Linux系统安装体验: 统信服务器系统
本文介绍统信服务器系统(UOS)的安装。 下载 下载地址: https://www.chinauos.com/resource/download-server 本文下载的文件名称为uos-server-20-1070e-amd64.iso。 安装 本次实践仅是做测试体验,因此在pc上使用虚拟机vmware…...
用二维图像渲染3D场景视频
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
ChatGPT 最新推出的 Pro 订阅计划,具备哪些能力 ?
OpenAI 最近推出了 ChatGPT Pro,这是一个每月收费 200 美元的高级订阅计划,旨在为用户提供对 OpenAI 最先进模型和功能的高级访问。 以下是 ChatGPT Pro 的主要功能和能力: 高级模型访问: o1 模型:包括 o1 和 o1 Pro…...
如何在 IntelliJ IDEA 中为 Spring Boot 应用实现热部署
文章目录 1. 引言2. 准备工作3. 添加必要的依赖4. 配置 IntelliJ IDEA4.1 启用自动编译4.2 开启热部署策略 5. 测试热部署6. 高级技巧7. 注意事项8. 总结 随着现代开发工具的进步,开发者们越来越重视提高生产力的特性。对于 Java 开发者来说,能够在不重启…...
NLP与LLM的工程化实践与学习思考 - 写在开头
NLP与LLM的工程化实践与学习思考[24年半年工作总结] - 写在开头 0 开头的开头 0 开头的开头 24年因为一些工作原因,短暂在NLP领域遨游了半年。这半年对我的影响蛮大,一来是因为此前从没接触过这个方向学到新东西挺开心的,二来是在工程化实践…...
Redis(一)
Redis 基础 什么是 Redis? Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库…...
RocketMq源码-broker(五)
一、RocketMq存储设计 RocketMQ 主要存储的文件包括Commitlog 文件、ConsumeQueue 文件、IndexFile。RocketMQ 将所有主题的消息存储在同一文件,确保消息发送时顺序写文件,尽最大的能力确保消息发送的高性能与高吞吐量。 但由于一般的消息中间件是基于消…...
【Linux】文件描述符fd
1.前置预备 文件 内容 属性访问文件之前,都必须先打开他 #include<stdio.h> int main() { FILE* fpfopen("log.txt","w"); if(fpNULL) { perror("fopen"); return 1; } fclose(fp); return 0…...
mysql之事务
MySQL的事务隔离特性指的是多个并发事务之间相互隔离的程度,以保证数据的一致性和并发性。MySQL支持四个隔离级别,分别是读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repe…...
python插入mysql数据
# 插入与上一篇变化不大,只是需要进行确认操作. 增加确认操作的方法有两种(假设类对象为a): 1.在连接时传入一个参数:autocommitTrue aConnection( host"localhost", port3306, user"root", password"自己的密码…...
C语言面试题/笔试题/高频面试题
一、C: 1.static和const的作用优缺点 限制作用域: static声明中使用全局变量、函数 ,仅当前文件内可用,其他文件不能引用 static修饰的局部变量只能在本函数中使用. 延长生命周期: static修饰的变量生命周期为整个程序 存放位置&a…...
rust websocket Echo server高性能服务器开发
最近在学习websocket时,一直没有发现好的websocket server工具来调试,于是就自己做了一个websocket server用来学习和调试。因为rust性能遥遥领先,所以就采用了rust来搭建服务器。废话不多说直接上代码main.rs: use tokio::net::TcpListener; use tokio_tungstenite::tung…...
Docker打包SpringBoot项目
一、项目打成jar包 在进行docker打包之前,先确定一下,项目能够正常的打成JAR包,并且启动之后能够正常的访问。这一步看似是可有可无,但是能避免后期的一些无厘头问题。 二、Dockerfile 项目打包成功之后,需要编写Doc…...
ViT学习笔记(二) Patch+Position Embedding阶段的详细推演与理解
我认为讲得最好的一个文章:Vision Transformer详解-CSDN博客 有很多文章,自己并没有完全正确理解。 我的笔记,以ViT的标准应用为例: • 输入图像:输入图像的尺寸是224x224,且是RGB图像,因此输…...
Elasticsearch 单节点安全配置与用户认证
Elasticsearch 单节点安全配置与用户认证 安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问 。在使用 Elasticsearch 构建搜索引擎或处理大规模数据时,需要启用基本的安全功能来防止未经授权的访问。本文将通过简单的配置步骤,为单节…...
【PHP项目实战】活动报名系统
目录 项目介绍 开发语言 后端 前端 项目截图(部分) 首页 列表 详情 个人中心 后台管理 项目演示 项目介绍 本项目是一款基于手机浏览器的活动报名系统。它提供了一个方便快捷的活动报名解决方案,无需下载和安装任何APP,…...
ASP.NET Core8.0学习笔记(二十五)——EF Core Include导航数据加载之预加载与过滤
一、导航属性数据加载 1.在EF Core中可以使用导航属性来加载相关实体。 2.加载实体的三种方式: (1)预先加载:直接在查询主体时就把对应的依赖实体查出来(作为初始查询的一部分) (2)显式加载:使用代码指示稍后显式的从…...
【RK3562J开发笔记】MCP2518FD外部CAN-FD控制器的调试方法
“SPI转CAN-FD”是嵌入式开发领域的常用方法,它极大地促进了不同通信接口之间的无缝连接,并显著降低了系统设计的复杂性。飞凌嵌入式依托瑞芯微RK3562J处理器打造的OK3562J-C开发板因为内置了SPI转CAN-FD驱动,从而原生支持这一功能。该开发板…...
docker安装Emqx并使用自签名证书开启 SSL/TLS 连接
docker安装Emqx并使用自签名证书开启 SSL/TLS 连接 一、获取自签名证书1、创建openssl.cnf文件2、生成证书自签名证书 二、docker安装EMQX1、初始化目录2、加载镜像文件并挂载相应的文件目录3、启动docker容器4、EMQX加载自签名证书 三、客户端MQTTX连接测试四、Springboot整合…...
AI驱动的低代码平台:解密背后的算法与架构创新
引言 在如今的数字化浪潮中,企业对软件的需求正以前所未有的速度增长。传统的开发方式由于开发周期长、成本高,已逐渐无法满足市场的快速变化。而低代码平台的出现,使得开发者和业务人员能够以极简的方式快速构建应用。然而,随着企…...
ruoyi的excel批量导入
最简单方式 若依的官方文档提供了教程,可以按照起前后端的教学,进行代码编写 前段 组件 <!-- 导入对话框 --><el-dialogtitle"导入数据"v-model"openImport"width"500px"append-to-body><el-uploadref&quo…...
大数据-244 离线数仓 - 电商核心交易 ODS层 数据库结构 数据加载 DataX
点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop࿰…...
Spring Security
一.权限控制 1.1 认证和授权概念 问题1:在生产环境下我们如果不登录后台系统就可以完成这 些功能操作吗? 答案显然是否定的,要操作这些功能必须首先登录到系统才可 以。 问题2:是不是所有用户,只要登录成功就都可以操…...
OpenAI 正式发布 o1 完整版
OpenAI 在 o1 模型完整版,该模型相较于之前的 o1-preview 版本在智能能力上有所提升,特别是在编程能力方面,并且能够根据问题的难度智能调节响应速度。此外还新增了图像识别功能,但目前仍然不支持网页浏览、文件上传等功能 o1 模…...
Ubuntu22.04搭建LAMP环境(linux服务器学习笔记)
目录 引言: 一、系统更新 二、安装搭建Apache2 1.你可以通过以下命令安装它: 2.查看Apache2版本 3.查看Apache2运行状态 4.浏览器访问 三、安装搭建MySQL 1.安装MySQL 2.查看MySQL 版本 3.安全配置MySQL 3.1是否设置密码?(按y|Y表…...
C#与PLC通讯时,数据读取和写入浮点数,字节转换问题(ModbusTCP)
在与PLC进行通讯时,会发现一个问题,浮点数1.2接收过来后,居然变成了两个16位的整数。 经过一系列的分析,这是因为在PLC存储浮点数时32位,我们接收过来的数据会变成两个16位的高低字节,而且我们进行下发数据…...