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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 安装配置 RabbitMQ 详解

博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库,能够为大家提供全方位的技术支持和交流。 工作五年,具有丰富的…

R语言的数据结构--矩阵

【图书推荐】《R语言医学数据分析实践》-CSDN博客 《R语言医学数据分析实践 李丹 宋立桓 蔡伟祺 清华大学出版社9787302673484》【摘要 书评 试读】- 京东图书 (jd.com) R语言医学数据分析实践-R语言的数据结构-CSDN博客 矩阵是一个二维数组,矩阵中的元素都具有相…

JAVA基础学习笔记_反射+动态代理

文章目录 反射获取class对象的三种方式获取构造方法获取成员变量获取成员方法反射的作用 动态代理 反射 允许对成员变量\成员方法\构造方法的信息进行编程访问 把类内的信息扒的干干净净,获取解剖 获取从class字节码文件中获取 获取class对象的三种方式 public static void …

微信小程序一键复制功能

wx.setClipboardData(Object object) 设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s wx.setClipboardData({data: 你需要复制的内容,success (res) {wx.getClipboardData({success (res) {console.log(res.dat…

【Python网络爬虫 常见问题汇总】

目录 1. 爬取图片出现403解决办法:设置请求头中的Referer字段 2.关于干坏事的问题后续不定期更新 欢迎共同探讨学习进步 1. 爬取图片出现403 问题出自案例9,已解决。 【Python网络爬虫笔记】9- 抓取优美图库高清壁纸 当在爬取图库图片时遇到 403 错误…

Linux: docker: 怎么修改 proc下的文件内容?

文章目录 参考问题方法 1:在宿主机上修改参数方法 2:启动容器时挂载 /proc 为可写方法 3:通过 Kubernetes 调整配置方法 4:构建特权容器参考 https://docs.docker.com/security/for-admins/hardened-desktop/enhanced-container-isolation/features-benefits/#procfs–sys…

分布式 分布式事务 总结

前言 相关系列 《分布式 & 目录》《分布式 & 分布式事务 & 总结》《分布式 & 分布式事务 & 问题》 分布式事务 所谓分布式事务是指操作范围笼罩多个不同节点的事务。例如对于订单节点&库存节点而言,一次完整的交易需要同时调动两个节…

STM32+模拟或硬件IIC+SHT20驱动问题:接上拉电阻、BUSY死锁?

主要问题: 1,使用STM32F103C8T6,模拟IIC,SCL和SDA口配置为推挽输出上拉,主要是SDA脚,每次都要输出输入模式重新配置,虽然也能通信,但不稳定,出错率大; 2&…

【工业机器视觉】基于深度学习的水表盘读数识别(3-数据标注与转换)

【工业机器视觉】基于深度学习的仪表盘识读(2)-CSDN博客 数据标注 标注扩展 Labelme 和 LabelImg 都是用于创建机器学习和计算机视觉项目所需标注数据的工具。它们都允许用户通过图形界面手动标注图像,但各自有其特点和适用场景。 Labelme…

静态路由与交换机配置实验

1.建立网络拓扑 添加2台计算机,标签名为PC0、PC1;添加2台二层交换机2960,标签名为S0、S1;添加2台路由器2811,标签名为R0、R1;交换机划分的VLAN及端口根据如下拓扑图,使用直通线、DCE串口线连接…

【Spark】Spark Join类型及Join实现方式

Spark Join类型 1. Inner Join (内连接) 示例:val result df1.join(df2, df1("id") df2("id"), "inner")执行逻辑:只返回那些在两个表中都有匹配的行。 2. Left Join (左外连接) 示例:val result df1.jo…

socket UDP 环路回显的服务端

基于socket通讯的方式&#xff0c;无论用http或者udp或者自定义的协议&#xff0c;程序结构都是类似的。这个以UDP协议为例简要说明。 #include <stdio.h> // 标准输入输出库 #include <sys/types.h> // 提供了一些数据类型&#xff0c;如ssize_t #include <sy…

Linux:network:添加ip的时候自动添加一个本地路由

文章目录 问题问题 最近在看一个路由的问题,顺便看内核代码,发现在添加IP的时候,内核会自动添加一个local route。 net/ipv4/devinet.c inet_rtm_newaddr->__inet_insert_ifa /* Send message first, then call notifier.Notifier will trigger FIB update, so thatlis…

Magnet Player:一款基于Web的磁力链媒体播放器

Magnet Player&#xff1a;一款基于Web的磁力链媒体播放器 项目地址:https://gitcode.com/gh_mirrors/ma/magnet-player 是一个创新的开源项目&#xff0c;它允许用户直接在浏览器中播放磁力链&#xff08;Magnet URI&#xff09;内容&#xff0c;无需下载或安装任何桌面应用…

php:完整部署Grid++Report到php项目,并实现模板打印

一、下载Grid++Report软件 路径:开发者安装包下载 - 锐浪报表工具 二、 安装软件 1、对下载的压缩包运行内部的exe文件 2、选择语言 3、 完成安装引导 下一步即可 4、接收许可协议 点击“我接受” 5、选择安装路径 “浏览”选择安装路径,点击"安装" 6、完成…

web安全攻防入门教程

Web安全攻防入门教程 Web安全攻防是指在Web应用程序的开发、部署和运行过程中&#xff0c;保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现&#xff0c;还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。 本教程将带你入门Web安全攻…

前端node环境安装:nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)

需求&#xff1a;在做前端开发的时候&#xff0c;有的时候 这个项目需要 node 14 那个项目需要 node 16&#xff0c;我们也不能卸载 安装 。这岂不是很麻烦。这个时候 就需要 一个工具 来管理我们的 node 版本和 npm 版本。 下面就分享一个 nvm 工具 用来管理 node 版本。 这个…

Unity在运行状态下,当物体Mesh网格发生变化时,如何让MeshCollider碰撞体也随之实时同步变化?

旧版源代码地址&#xff1a;https://download.csdn.net/download/qq_41603955/90087225?spm1001.2014.3001.5501 旧版效果展示&#xff1a; 新版加上MeshCollider后的效果&#xff1a; 注意&#xff1a;在Unity中&#xff0c;当你动态地更改物体的Mesh时&#xff0c;通常期望…

OpenCV--特征匹配

OpenCV--特征匹配 代码和笔记 代码和笔记 import cv2 import numpy as np""" 特征匹配 """""" 暴力特征匹配&#xff1a;使用第一组&#xff08;第一幅图&#xff09;中的一个特征描述子&#xff0c;使用一些距离计算与第二组中…

什么是自动化办公

自动化办公是指使用技术工具或软件&#xff0c;通过预设流程或脚本&#xff0c;自动执行日常办公任务&#xff0c;从而提升效率、减少错误、节约时间的办公模式。它适用于需要重复性、规则明确的工作流程&#xff0c;让员工将精力集中在更具创造性和战略性的工作上。 自动化办公…