当前位置: 首页 > news >正文

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-configufw(Uncomplicated Firewall)是两种不同的防火墙管理工具,它们可以用来配置和管理防火墙规则,但它们之间可能会产生冲突。

1. UFW(Uncomplicated Firewall)

  • UFW 是一个用户友好的命令行工具,旨在简化 iptables 的使用。它提供了一个简单的界面来管理防火墙规则。
  • UFW 默认情况下是禁用的,用户可以通过命令行启用或禁用它,并添加或删除规则。

2. Firewall-config

  • firewall-config 是一个图形用户界面(GUI)工具,通常与 firewalld 一起使用。firewalld 是一个动态管理防火墙的工具,使用 zones 和服务来管理规则。
  • firewalldufw 都是基于 iptables,但它们的工作方式不同。

3. 冲突问题

  • 不建议同时使用:如果你同时启用 ufwfirewalld,可能会导致冲突,因为它们都试图管理 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 服务请求。具体来说,这个命令的作用如下:

  1. 允许 HTTP 流量:通过将 http 服务添加到 public 区域,防火墙将允许通过 HTTP 协议(通常是端口 80)进行的网络流量。这意味着外部客户端(如浏览器)可以向本地服务器发送 HTTP 请求。

  2. 适用于 public 区域public 区域通常用于不受信任的网络环境(例如公共 Wi-Fi)。在这个区域中,默认情况下大多数流量是被阻止的,因此需要明确允许特定的服务(如 HTTP)。

  3. 永久性设置:使用 --permanent 选项表示这个更改是永久性的,即使在防火墙重启或系统重启后,HTTP 服务的允许规则仍然有效。

额外步骤

在执行此命令后,通常需要运行以下命令以使更改生效:

sudo firewall-cmd --reload

总结

通过执行该命令,你的本地系统将能够接受来自外部的 HTTP 请求,允许用户访问在本地运行的 Web 服务器(如 Apache 或 Nginx)。确保在配置防火墙时,考虑到安全性,只有在需要时才允许外部访问。

在ubuntu客户机中,firewall-config建议在public区域允许http服务难道不会导致被攻击吗?

在 Ubuntu 客户机中,允许 http 服务(端口 80)确实可能会增加被攻击的风险,尤其是在 public 区域中。public 区域通常用于不受信任的网络环境(如公共 Wi-Fi),在这种情况下,默认情况下大多数服务都是被阻止的。

风险分析

  1. 暴露 Web 服务:如果你在客户端上允许 http 服务,这意味着任何人都可以尝试访问该服务。如果客户端上没有运行 Web 服务器,允许 http 服务可能没有实际意义,但如果有 Web 服务器在运行,可能会面临各种攻击(如 DDoS、SQL 注入、跨站脚本等)。

  2. 不安全的连接: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实现简单的换肤功能

实现的换肤功能:主题色切换、亮色模式和暗黑模式切换、背景图切换 主题色就是网站主色,可以配置到组件库上面;亮色模式又分为两种风格:纯白风格和背景图风格,不需要背景图的话可以删掉这部分逻辑和相关定义&#xff1b…...

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项目,一来证明了集团在行业中的翘楚地位,二来感谢各位领导给予的大力支持接下来的一周,项目经理、业务顾问相继入场&#xff0…...

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

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

面试高频问题

文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...