先通过安全组做第一层网络访问控制,再结合系统内部防火墙(iptables/firewalld)做第二层精细管控,两者配合才能形成完整防线,单纯依赖其中任何一个都存在明显短板。
华为云服务器的防火墙体系与物理机房里的硬件防火墙概念并不完全等同,它更像一个分层防御模型,从虚拟网络边界一直延伸到操作系统内部,很多初次接触华为云的用户,容易把“安全组”和“服务器防火墙”混为一谈,实际这是两个不同维度的东西,下面按实际运维场景,把整套配置逻辑拆开讲清楚。
安全组:云上第一道闸门
安全组到底是什么角色
安全组可以理解为云服务器的“门禁系统”,它工作在虚拟交换机层面,跟服务器操作系统无关,每一台华为云ECS实例至少属于一个安全组,出方向和入方向的流量都得过这道闸门,它的工作特点是状态化——你允许了某个出站请求,那么对应的回包流量会被自动放行,不需要额外配置回程规则。
创建安全组的实操路径
登录华为云控制台,找到“弹性云服务器 ECS”服务,左侧菜单栏点击“安全组”,会看到默认存在一个名为“Sys-default”的组,建组时需指定虚拟私有云(VPC)和子网区域,建好后进入“入方向规则”页面,这里就是配置放行策略的地方。
基础规则建议这么设置:
- SSH远程管理:协议TCP,端口22,源地址指定为办公网IP段(如1.2.3.4/32),切忌填0.0.0.0/0
- Web服务:协议TCP,端口80和443,源地址填0.0.0.0/0(互联网访问)
- 数据库端口:协议TCP,端口3306,源地址只填应用服务器的私有IP
- ICMP协议:如需PING通,单独放行,但生产环境建议关闭对外PING
入方向规则按从上往下的优先级匹配,配置时把最严格的规则放在前面,比如先写一条拒绝所有来源访问22端口的规则,再写一条允许办公网IP访问22端口的规则,这样逻辑更清晰。
安全组改动后会立即生效吗
是的,安全组规则调整后秒级生效,无需重启服务器,这在排障时特别好用——当你SSH连不上服务器,先检查安全组是否放行了源IP,往往比登录服务器排查systemctl status sshd快得多,很多棘手问题排查到最后,发现是安全组规则没刷新,这种隐含成本对运维人员来说相当宝贵。
系统防火墙:华为云服务器内部第二道防线
操作系统级防火墙选哪个好
华为云ECS支持主流Linux发行版和Windows Server,以Ubuntu/CentOS为例,存在两套防火墙体系:老牌的iptables和较新的firewalld,华为云公共镜像默认安装的是firewalld(CentOS 7+)或ufw(Ubuntu 18.04+)。
不少运维老手习惯直接把firewalld停掉,图省事,认为安全组已经够用了,但在等保合规场景下,这种做法往往过不了评审——因为安全组是云平台层面的逻辑隔离,而系统防火墙是主机层面的访问控制,测评机构要求的是“网络层+主机层”双层防护。

用firewalld做端口级管控
以CentOS Stream 9为例,启动防火墙并设置开机自启:
systemctl start firewalld && systemctl enable firewalld
放行Web服务端口:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
限制SSH来源IP,只允许内网跳板机连接:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.1.100 port port=22 protocol=tcp accept' firewall-cmd --reload
查看当前所有规则:
firewall-cmd --list-all
Ubuntu 22.04 LTS则用ufw:
ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable
iptables的精细化场景
遇到需要做端口转发或流量镜像的场景,firewalld的语法反而不够灵活,比如把本机80端口转发到8080端口:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
配置完用iptables-save保存规则,否则重启后丢失,这里系统防火墙与安全组协同的典型场景是:安全组只管“谁可以进来”,系统防火墙管“进来之后能去哪”,两者职责分明,配合得当能降低被横向渗透的风险。
IAM权限配置:别给防火墙留后门
RAM用户与访问控制
华为云的访问控制服务叫IAM(Identity and Access Management),不少安全事件源头不是防火墙规则配错,而是账号权限过大,给运维人员分配子账号时,建议遵循最小权限原则,只授予和其工作相关的权限,比如仅允许管理安全组和弹性IP,不能碰云硬盘和镜像服务。
登录保护与操作审计
控制台登录启用“MFA多因素认证”,这是性价比极高的安全投入,同时开启云审计服务(CTS),记录所有修改安全组规则的操作日志,一旦业务端口异常开放产生资损,能精准追溯到具体操作人和API调用来源。
Web应用防火墙WAF:应用层攻击拦截
WAF与安全组的本质差异
安全组和系统防火墙工作在网络层和传输层,它们看不懂HTTP报文里的攻击载荷,SQL注入、XSS跨站脚本、CC攻击这些应用层威胁,得靠WAF识别,华为云WAF支持防护域名接入,通过CNAME解析把流量牵引到WAF集群清洗。
推荐的基础防护配置
在WAF控制台添加防护域名后,建议开启如下规则:
- Web基础防护:拦截SQL注入和命令注入攻击
- CC攻击防护:设置访问频率阈值,如单个IP每分钟超过120次请求自动拉黑
- 精准访问防护:对HTTP头User-Agent做黑名单过滤
WAF与安全组的配合逻辑值得圈出来强调:安全组先行放行WAF回源IP段的443端口,然后把源站IP的安全组规则收紧为“仅允许WAF回源地址访问”,这样攻击者无法绕过WAF直接攻击源站IP,是云上网站防攻击的经典架构。

轻量级替代方案
如果业务只是个人博客或小型API服务,暂时不打算采购WAF,可以先用Nginx的限流模块和ModSecurity开源规则集顶一顶,不过这属于临时手段,效果和运维成本跟专业WAF产品差距明显,线上业务遭受DDoS攻击时,若源站带宽被打满,仍需要考虑高防IP产品,据行业内多个白皮书报告数据,近年来的Web攻击流量中,自动化工具发起的恶意扫描占相当大比例。
SSL证书部署:为防火墙加一层加密
证书类型选哪种
华为云SSL证书管理服务支持DV(域名验证)、OV(组织验证)、EV(扩展验证)三类证书,个人开发者用DV够用,企业官网展示正规形象建议OV,金融或电商类应用走EV更稳妥,以某企业官网为例,将OV证书部署到Nginx服务器:
在华为云证书管理控制台下载Nginx格式的证书文件(含crt和key),上传到服务器的/etc/nginx/ssl目录:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
配置完成后用nginx -t检查语法,然后reload,很多初学者忽略了一个细节:安全组和系统防火墙的443端口必须同时放行,缺一不可,否则域名显示“无法访问”。
证书自动续期方案
免费DV证书有效期只有90天,手工续期容易忘,华为云证书服务支持自动DNS验证,配合脚本可以做到证书到期前自动替换,云上部署的自有证书通常采用这种自动化方式管理,大幅降低证书过期导致的安全事故概率。
云服务器安全加固的完整体检清单
做完防火墙配置,建议按下面清单做一轮安全自检:
- 查看安全组规则有无高危端口暴露,如0.0.0.0/0访问22端口(很多挖矿木马专门扫描这类入口)
- 检查系统防火墙服务是否正常运行,集群场景或分布式架构下,能够自动同步规则的工具尤其重要
- 确认密码登录已改为密钥对认证,禁用root直接SSH登录
- 开启主机安全服务(企业主机安全HSS),监控文件篡改和异常登录行为
- 每日自动备份关键配置和数据库到云硬盘快照,按业务要求设计保留周期,确保遭遇攻击时可以回滚到安全状态
是否需要配置防火墙规则,取决于业务的实际访问方向,内网互相调用的业务,安全组按最小化原则只放开指定端口;对外提供Web服务的业务,按“域名接入WAF→WAF回源到安全组→安全组转发到系统防火墙→系统防火墙转到Nginx”这条链路逐层梳理即可,无规则遗漏点。
安全组与系统防火墙的配合策略

云上安全策略遵循“默认拒绝、按需放行”的原则,用表格来对比安全组、系统防火墙、WAF各自负责的层级:
| 防护层级 | 配置位置 | 管控对象 | 状态 |
|---|---|---|---|
| DDoS高防 | 华为云DDoS防护 | 流量清洗 | 按需购买 |
| Web应用防火墙 | 应用层 | HTTP/HTTPS报文 | 网站业务 |
| 安全组 | 虚拟网络层 | IP/端口/协议 | 必须配置 |
| 系统防火墙 | 操作系统层 | 端口/服务/进程 | 推荐开启 |
这个表格列出的每一层,都对应着一道单独的检查关卡,关于在华为云服务器上同时操控安全组和系统防火墙时,是否存在必然的配置冲突,答案是不存在——只要遵循“安全组控制跨子网访问、防火墙控制本机访问”的原则,两条线各司其职。
多层级防护下的性能损耗
多数情况下,安全组规则由底层虚拟化平台卸载转发,对云服务器CPU占用几乎为零,系统防火墙基于内核netfilter框架处理数据包,在万兆内网环境下性能损耗在可接受范围内,如果业务对网络延迟极度敏感(如高频量化交易),可以考虑把系统防火墙规则精简到个位数,或改用硬件安全设备承载防护逻辑。
常见问题排查与解答
改了安全组规则之后,网站依然打不开,问题出在哪
依次检查三个地方:安全组入方向是否放行80/443端口,系统防火墙(firewalld/ufw)是否放行对应端口,Nginx或Apache服务是否正常监听,在服务器上执行netstat -tlnp | grep nginx,如果看不到监听端口,说明服务没起来,这时候防火墙配置再宽松也无济于事。
为什么把安全组22端口源地址指定为我的IP,还是被拒之门外
先从ping测试排查网络连通性,然后确认你的公网出口IP是否为动态IP——电信或联通宽带拨号上网的用户,出口IP会不定期变化,在安全组里配置的旧IP已经失效了,此时可以登录华为云控制台,查看云服务器监控面板上的“弹性公网IP”流量记录,比对实际登录时间点的访问来源。
云服务器被暴力破解了,防火墙要怎么做才能止损
在安全组入方向增加一条优先级较高的拒绝规则,阻断攻击源IP;然后在系统防火墙层建立IP黑名单,使用fail2ban这类工具自动识别并封禁短时间多次尝试登录的IP;同时把SSH登录方式改成密钥验证,并为复杂密码策略设置强规则,如果攻击流量规模较大,比如达到数十Gbps,云服务器本身的防御能力已经顶不住,需要启用DDoS高防服务,将攻击流量引流至清洗节点,事后排查阶段,建议开通云审计服务,追溯攻击者的操作路径和被入侵的时间点,处理完攻击事件后,对服务器配置做一次全面复查,排除隐藏的后门和恶意脚本。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/557141.html