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…...
zookeeper 搭建集群
基础的java 环境先安好,选择3台虚拟机 ip 不一样 机器应为奇数个 zookeeper 奇数个节点实际上是(2*n-1) 比偶数台机器少一台解决成本,并且能够满足 zookeeper 集群过半选举leader 的规则 # 3台虚拟机 将zookeeper 解压到服务器上 #在 conf/ 目录下 找到zoo_s…...
Java——异常机制(下)
1 异常处理之(捕获异常) (一般处理运行时异常) (try-catch-finally子句) (finally一般用于文件最后关闭) (catch捕获的子类在前父类在后——>不然父类在前面都让父类捕获掉了,会报错) (Exception是父类放在最后,如果前面没有捕获到,就…...
centos 手动安装libcurl4-openssl-dev库
下载源代码 curl downloadshttps://curl.se/download/ 选择需要下载的版本,我下载的是8.11.0 解压 tar -zxvf curl-8.11.0 查看安装命令 查找INSTALL.md,一般在docs文件夹下 –prefix :指定安装路径(默认安装在/usr/local&…...
JS学习(1)(基本概念与作用、与HTML、CSS区别)
目录 一、JavaScript是什么? (1)基本介绍 (2)简称:JS? 二、JavaScript的作用。 三、HTML、CSS、JS之间的关系。 (1)html、css。 (2)JavaScript。 …...
代码随想录算法训练营day50|动态规划12
不同的子序列 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。、 编辑距离中的删除元素,其实就是直接变数字,其只删除原来的较长的数组里的元素 递推模拟,使用s的最后一个元素匹配,或者删除…...
JavaWeb学习(2)(Cookie原理(超详细)、HTTP无状态)
目录 一、HTTP无状态。 (1)"记住我"? (2)HTTP无状态。 (3)信息存储客户端中。如何处理? 1、loaclStorage与sessionStorage。 2、Cookie。 二、Cookie。 (1&…...
java抽象类
目录 一.抽象类 1.什么是抽象类 2.抽象类特点 (1)抽象类不能直接实例化对象 (2)可以包含抽象方法和具体方法 (3)可以有构造方法 (4)抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修…...
minio集群部署–linux环境
原文地址:minio集群部署–linux环境 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 第一步:安装 有rpm、deb、和二进制文件安装方式。参考文档在:MinIO Object Storage for Linux — MinIO Object Storage …...
在vue3里使用scss实现简单的换肤功能
实现的换肤功能:主题色切换、亮色模式和暗黑模式切换、背景图切换 主题色就是网站主色,可以配置到组件库上面;亮色模式又分为两种风格:纯白风格和背景图风格,不需要背景图的话可以删掉这部分逻辑和相关定义;…...
JavaScript编写css自定义属性
一、自定义属性 是在 CSS 中定义的变量,以 --开头。它们可以存储颜色、尺寸、字体等任何 CSS 值,并且可以在整个文档中重复使用。 :root {--primary-color: #3498db;--font-size: 16px; }body {color: var(--primary-color);font-size: var(--font-siz…...
我们来学webservie - WSDL
WSDL 题记WSDL系列文章 题记 举个例子 酒桌上大领导们谈笑风生,把酒临风,其喜洋洋者矣老张说能签下xx项目,一来证明了集团在行业中的翘楚地位,二来感谢各位领导给予的大力支持接下来的一周,项目经理、业务顾问相继入场࿰…...
【Agent】构建智能诗歌创作系统:基于多 Agent 的协同创作实现
在探索大语言模型的创意应用过程中,我们开发了一个基于多 Agent 的智能诗歌创作系统。本文将介绍如何通过多个专业化的 Agent 协同工作,实现根据地点和天气信息自动创作诗歌的功能。 GitHub Code 项目地址 核心架构设计 1. Agent 基类设计 from pydan…...
001 LVGL PC端模拟搭建
01 LVGL模拟器介绍 使用PC端软件模拟LVGL运行,而不需要任何嵌入式硬件 环境搭建:codeblocks-20.03mingw-setup 正常安装流程即可 工程获取:LVGL官网-> github仓库 本地安装包下载资源包 工程模版和软件安装包 补充:…...
AJAX三、XHR,基本使用,查询参数,数据提交,promise的三种状态,封装-简易axios-获取省份列表 / 获取地区列表 / 注册用户,天气预报
一、XMLHttpRequest基本使用 XMLHttpRequest(XHR)对象用于与服务器交互。 二、XMLHttpRequest-查询参数 语法: 用 & 符号分隔的键/值对列表 三、XMLHttpRequest-数据提交 核心步骤 : 1. 请求头 设置 Content-Type 2. 请求体 携带 符合要求 的数…...
mybatis之数据统计与自定义异常处理
文章目录 需求描述定义实体方式一、mybatisPlus实现方式二、自定义SQL实现简单查询过滤查询 异常处理1、SQL拼写异常 在使用Mybatis或MybatisPlus进行数据统计,在【 SpringBoot的Mybatis-plus实战之基础知识】中对mybatisplus引入有介绍,本次要使用其进…...
qt creator使用taglib读取音频元信息,windows平台vcpkg安装
注意:qt creator用的构建组件是qt 6.2.3 MSVC2019 64bit 安装vcpkg // 我的安装位置C:\vcpkg git clone https://github.com/microsoft/vcpkg.git C:\vcpkg cd C:\vcpkg .\bootstrap-vcpkg.bat// 设置系统环境变量 VCPKG_ROOT C:/vcpkg用vcpkg安装taglib vcpkg …...
设计模式之生成器模式
目录 1.简介 2.结构 3.使用场景 4.实例 5.优缺点 6.与其他模式的关系 7.总结 1.简介 生成器模式(Builder Pattern)是一种创建型设计模式,它允许你通过一步一步构建复杂对象,而不是通过一个包含大量参数的构造函数或方法。该…...
python学opencv|读取图像(三)放大和缩小图像
【1】引言 前序已经学习了常规的图像读取操作和图像保存技巧,相关文章链接为: python学opencv|读取图像-CSDN博客 python学opencv|读取图像(二)保存彩色图像-CSDN博客 今天我们更近一步,学习放大和缩小图像的技巧&…...
1 数据库(上):MySQL的概述和安装、SQL简介、IDEA连接数据库使用图形化界面
文章目录 前言一、数据库相关的概念二、MySQL概述1 MySQL的安装和配置2 MySQL登录、退出(1)mysql -uroot -p1234 或者mysql -uroot -p ---- 登录(2)exit或者quit ---- 退出 3 远程登录服务器上的MySQL命令mysql -hip地址 -P3306 -…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...
OPENCV图形计算面积、弧长API讲解(1)
一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积,这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能,常用的API…...
