在阿里云上保护服务器,严格来说没有传统意义上的“服务器本地防火墙”(如 iptables/firewalld)作为第一道防线,而是采用分层防护体系,核心是阿里云提供的 安全组(Security Group) —— 它是阿里云虚拟化网络层的状态化、无状态(按规则匹配)的分布式防火墙,也是最推荐、最高效、最易管理的入口级访问控制机制。
以下是完整、安全、符合最佳实践的设置指南:
✅ 一、核心防护:配置安全组(必做!)
⚠️ 安全组是阿里云ECS实例的网络访问控制第一道关卡,作用于网卡层面,优先级高于系统内防火墙。
步骤:
-
登录阿里云控制台 → 进入 ECS管理控制台
-
左侧导航栏 → 网络与安全 → 安全组
-
点击右上角 创建安全组(建议按用途命名,如
web-prod-sg、db-private-sg)- 选择 专有网络 VPC(务必与ECS实例在同一VPC)
- 选择 安全组类型:推荐 普通安全组(支持更多规则,兼容性好)
-
配置入方向(Inbound)规则(关键!最小权限原则) 协议类型 端口范围 授权对象 说明 HTTP/HTTPS80/4430.0.0.0/0(仅生产Web服务)若为后台管理,应限制为运维IP段(如 203.208.100.0/24)SSH22仅限可信IP段(如公司出口IP、堡垒机IP) ❌ 绝对禁止 0.0.0.0/0开放22端口!RDP3389同上(Windows) 同样严格限制来源IP 自定义 TCP/UDP 如 3306(MySQL)、6379(Redis)仅允许应用服务器内网IP段(如 172.16.0.0/16)数据库/缓存绝不暴露公网! ICMP ALL可选(用于诊断) 生产环境可关闭 🔐 黄金法则:
- 先拒绝所有(默认策略即拒绝未匹配规则),再显式放行必需端口+最小IP范围;
- 使用 CIDR 精确授权(如
/32单IP,/24网段),避免宽泛授权; - 避免使用
0.0.0.0/0,除非绝对必要(且需配合其他防护如WAF)。
-
配置出方向(Outbound)规则(通常设为
0.0.0.0/0允许全部,或按需限制)大多数业务需要主动访问网络(如yum更新、调用API),可保持默认;敏感环境可限制目标IP/端口。
-
绑定安全组到ECS实例
- 在ECS实例列表 → 找到目标实例 → 更多 > 网络和安全组 > 修改安全组
- 移除默认安全组(通常过于宽松),添加你新建的最小权限安全组。
✅ 二、增强防护(推荐组合部署)
| 层级 | 方案 | 适用场景 | 阿里云产品 |
|---|---|---|---|
| 应用层 | Web应用防火墙 | 防SQL注入、XSS、CC攻击、0day漏洞利用 | WAF(Web应用防火墙) |
| 网络层 | 云防火墙(企业级) | 统一管控VPC间、互联网边界流量,支持入侵检测(IDS)、威胁情报 | 云防火墙(需单独购买) |
| 主机层 | 操作系统内置防火墙 | 作为第二道防线(安全组失效或规则误配时兜底) | iptables(Linux) / Windows Defender Firewall(Windows) |
| 访问控制 | 堡垒机(Bastion Host) | 统一审计、管控SSH/RDP等高危操作,强制MFA | 云堡垒机 |
| 身份认证 | RAM权限精细化管控 | 防止账号泄露导致越权操作 | RAM访问控制 |
✅ 三、主机层防火墙(补充防护,非替代安全组)
📌 仅当有特殊需求(如多网卡、容器网络复杂场景)才启用,且规则必须与安全组策略一致,避免冲突。
Linux(以 CentOS/RHEL 8+ 为例):
# 1. 启用 firewalld(推荐)
sudo systemctl enable --now firewalld
# 2. 仅开放必要端口(与安全组策略对齐!)
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-source=192.168.10.0/24 # 仅允许内网访问
sudo firewall-cmd --permanent --remove-service=ssh # 关闭SSH(若已通过安全组严格限制)
# 3. 重载生效
sudo firewall-cmd --reload
# 查看状态
sudo firewall-cmd --list-all
⚠️ 注意:若使用
iptables,请确保不与firewalld冲突;生产环境建议统一用firewalld或nftables。
Windows Server:
- 启用 Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则(按端口/程序/IP限制)
- 强烈建议:禁用“文件和打印机共享”等非必要规则。
✅ 四、关键安全加固建议(超越防火墙)
| 类别 | 措施 | 阿里云支持 |
|---|---|---|
| 访问安全 | SSH密钥登录 + 禁用密码登录 + 修改默认端口(非必须,但可降低扫描风险) | ECS控制台支持密钥对绑定 |
| 系统安全 | 定期 yum update / apt upgrade,启用自动安全更新 |
云安全中心 提供漏洞扫描与修复建议 |
| 日志审计 | 开启操作审计(ActionTrail)、云安全中心日志分析 | 全链路日志采集与告警 |
| DDoS防护 | 阿里云免费提供 基础DDoS防护(5 Gbps),高防IP需按需购买 | DDoS防护 |
❌ 常见错误(务必避免)
- ✖️ 将安全组入方向全放开(
0.0.0.0/0)后,依赖主机防火墙“兜底”——这是严重架构缺陷; - ✖️ 多个安全组叠加导致规则混乱(建议1台ECS绑定1个明确职责的安全组);
- ✖️ 忘记更新安全组规则(如临时开放22端口调试后未及时关闭);
- ✖️ 数据库(MySQL/Redis)直接暴露公网端口。
✅ 总结:你的防护清单(Checklist)
| 项目 | 是否完成 | 备注 |
|---|---|---|
| □ 创建最小权限安全组,并绑定到ECS | 仅开放必需端口+精确IP | |
□ SSH/RDP 严格限制来源IP(禁用 0.0.0.0/0) |
可结合堡垒机 | |
| □ 数据库/中间件仅允许内网访问 | 使用VPC内网IP通信 | |
| □ 开启云安全中心并处理高危漏洞 | 免费版已足够基础防护 | |
| □ (可选)接入WAF防护Web应用 | 尤其面向公网的网站/API | |
| □ (可选)部署云防火墙实现南北+东西向统一管控 | 中大型企业推荐 |
如需进一步帮助,可提供:
- 你的业务场景(如:对网络站?内部API服务?数据库?)
- ECS网络类型(经典网络 or VPC?)
- 是否已启用云安全中心/WAF?
我可以为你 定制化生成安全组规则JSON模板 或 自动化脚本(Terraform/CLI)。
安全无小事,层层设防才是正道。💪
需要我帮你写一个 生产环境安全组 Terraform 模板 吗?
云小栈