服务器安全组怎么设置
- 云服务器
- 2025-08-05
- 8
理解安全组的核心作用
安全组是一种虚拟防火墙机制,用于控制云服务器实例的入站流量(Inbound)和出站流量(Outbound),它基于规则允许或拒绝特定IP地址/CIDR块、端口号及协议类型的数据包通过,合理配置可有效降低攻破面,同时保障合法访问。
设置前的准备工作
明确业务需求
| 场景类型 | 典型示例 | 需开放的端口/协议 |
|---|---|---|
| Web服务 | HTTP(80)/HTTPS(443) | TCP |
| 数据库远程连接 | MySQL(3306)、PostgreSQL(5432) | TCP |
| SSH管理终端 | Linux服务器登录 | TCP (默认端口22) |
| FTP文件传输 | 主动模式(21)、被动模式动态范围 | TCP+动态端口映射 |
️ 最小权限原则:仅开放必要端口,避免全端口放通(如0.0.0/0)。
工具入口路径参考(以主流厂商为例)
- 阿里云ECS控制台: 实例详情页 > 本机安全组 > 配置规则
- 西西安全CVM管理台: 左侧菜单“安全组” > 选择关联实例 > 添加规则
- AWS Lightsail: Networking > Firewall settings
- 华为云弹性云服务器: VPC控制台 > 安全组管理 > 入方向/出方向策略
分步骤配置指南
1️⃣ 创建新安全组(推荐独立管理)
- 命名规范建议:SG-WebServer-Prod(含环境标识)
- 描述字段填写用途说明,便于后续审计追踪。
2️⃣ 配置入站规则(重点防护环节)
按以下模板逐条添加:
| 序号 | 方向 | 协议类型 | 端口范围 | 来源IP/CIDR | 备注 |
|——|———|———-|—————-|——————|———————-|
| 1 | 入方向 | TCP | 80 | 0.0.0.0/0 | 公开互联网访问网页 |
| 2 | 入方向 | TCP | 443 | 0.0.0.0/0 | SSL加密通信 |
| 3 | 入方向 | TCP | 22 | [办公网段] | 仅限内网SSH登录 |
| 4 | 入方向 | ICMP | -1/-1 | [运维人员IP] | Ping测试连通性 |
特殊场景处理:若使用负载均衡器,需将健康检查节点所在网段加入白名单。
3️⃣ 限制出站流量(防数据泄露)
默认允许所有出站可能导致敏感信息外泄,应收紧策略:
| 目标动作 | 适用对象 | 示例值 |
|————————|——————————|—————————-|
| Deny All | 未明确指定的任何目的地 | — |
| Allow to Private Net | 仅信任内部网络交互 | 168.0.0/16 |
| Permit Update Sources | 补丁升级所需域名解析服务 | udp://dns.tencentcloudapi.com:53 |

4️⃣ 启用日志监控与告警
在安全组高级设置中开启流量镜像至CloudWatch/Prometheus,设置阈值触发短信/邮件通知异常连接尝试。

常见误区规避清单
错误示范1: “为了方便调试暂时放开所有端口”——高风险行为!即使短期也可能被自动化扫描工具利用。
️ 正确做法: 使用临时安全组并设置超时自动回收策略。
错误示范2: “不同业务共用同一个默认安全组”——导致权限交叉污染难以溯源。
️ 最佳实践: 按角色分离(如Web层、应用层、数据库层独立分组)。
验证有效性的方法
- Telnet测试: telnet <公网IP> <端口号> 验证是否能成功建立连接;
- Curl命令检测HTTP状态码: curl -I http://yourdomain.com 应返回200 OK而非503 Service Unavailable;
- Nmap扫描: nmap -p TCP --script=default your_ip 确认非授权端口均被阻断;
- 抓包分析: Wireshark监听指定接口过滤条件为tcp port XXXX观察实际过流量是否符合预期。
相关问题与解答栏目
Q1: 如果误删了关键安全组规则怎么办?
解决方案: 立即联系云服务商技术支持恢复最近一次快照备份;未来可通过版本控制功能定期导出配置文件存档,部分平台支持“撤销更改”按钮(如阿里云的操作记录回滚)。
Q2: 为什么设置了规则但依然无法访问?
排查步骤: ①检查安全组是否已绑定到目标实例;②确认规则优先级顺序(高序号覆盖低序号);③查看是否存在其他关联的网络ACL限制;④验证操作系统防火墙(iptables/firewalld)
