开启CETOS 裸奔了一年的服务器开启firewall防火墙

记录一下关于firewall,博主非运维专家或服务器专家。

背景

客户有一台裸奔运行了一年多的系统有公网但发现没有开防火墙,iptables和firewall均是关闭状态,通过扫描发现很多漏洞。根据客户要求对端口进行重新梳理且关闭不必要或有潜在风险的端口、关闭swagger-ui接口等,但有一个前提就是不影响业务正常运行。经历了整一天挨个排错,终于全部解决。

服务器的系统用到了很多开源组件,如:MQ、MYSQL、MINIO、DOCKER、NGINX等。

CENTOS 7.X

首先梳理应用所有端口,然后配置firewall,整理出需要公网的端口并对外开放,有些敏感端口做映射、加用户名认证等方式,我主要做了如下操作:

常用的一些命令

bash 复制代码
#重新加载
sudo firewall-cmd --reload 
#列出当前所有配置
firewall-cmd --list-all
#开启
systemctl start firewalld
systemctl status firewalld
systemctl enable firewalld
systemctl stop firewalld

**

遇到的问题:

**

**切记禁用AllowZoneDrifting。**否则安装了Docker的应用会有莫名奇妙的网络问题。我发现Docker内部的网络与宿主机不同,比如宿主机可以ping 通内网192.168.11.10而Docker内部时而能ping通时而不行,最终定位是AllowZoneDrifting的问题。

引用一名博友对AllowZoneDrifting的解释:

系统上启用了AllowZoneDrifting选项。然而,这被认为是不安全的配置选项,并且在将来的版本中将会被删除。

AllowZoneDrifting选项允许firewalld根据检测到的网络配置更改动态地更改活动区域。也就是说,如果firewalld检测到网络接口在不同的区域之间漂移(例如,从一个公共网络切换到一个内部网络),它将自动将防火墙区域更改为与新网络接口匹配的区域。

然而,这种自动的区域漂移在安全性方面存在潜在的问题。攻击者可能利用此功能绕过安全策略,使系统暴露于不受保护的网络环境中。

禁用AllowZoneDrifting办法:

bash 复制代码
sudo vi /etc/firewalld/firewalld.conf

sudo systemctl reload firewalld
相关推荐
晚风予卿云月5 分钟前
【linux】进程优先级
linux·运维·服务器
YJlio21 分钟前
用女娲蒸馏 Mark Russinovich 排障思维:打造 Windows 桌面运维专家 Skill
运维·windows·飞书·ai办公·多维表格·飞书v7.63·飞书问卷
yyuuuzz22 分钟前
aws注册过程中的常见问题梳理
运维·服务器·网络·云计算·github·aws
德迅云安全-小潘23 分钟前
手游架设全攻略:服务器选型、配置与部署一站式指南
运维·服务器
Hical_W36 分钟前
从 io_context 出发,掌握 C++20 协程式异步 I/O,学会 TCP 服务器、定时器和多线程模型,结合 Hical 框架实战解读
服务器·tcp/ip·开源·c++20
CDN36038 分钟前
2026年服务器运维实战:从eBPF内核观测到Serverless边缘计算
运维·服务器·serverless
isyangli_blog1 小时前
7. 使用Mininet 创建回环网络拓扑
服务器·网络·php
努力努力再努力wz1 小时前
【MySQL 进阶系列】C/C++ 如何通过客户端库访问 MySQL?从连接原理到 API 调用流程详解(附完整demo代码)
服务器·c语言·数据结构·数据库·c++·b树·mysql
千百元1 小时前
华为应用生成 .p12、.cer、.p7b
运维·服务器
Max_uuc1 小时前
【调度心法】别用 Mutex 制造“人质危机”!撕碎互斥锁的防御幻觉,论优先级反转与火星探测器的史诗级瘫痪
linux·运维·制造