在操作系统之外生效,控制实例的出入方向流量。未放行的端口在云网络层直接被拦截,流量不会到达服务器。
安全组与系统防火墙入门
约 1453 字
安全组与操作系统防火墙是云服务器两道彼此独立的访问防线。本文介绍安全组的作用、规则要素,以及它与系统防火墙的关系,帮助您在服务无法访问时快速定位问题。
什么是安全组
安全组是云平台上的一种虚拟防火墙,用于控制实例出入方向的流量。安全组在操作系统之外生效,是访问实例的第一道关卡:如果安全组未放行某个端口,外部请求在到达服务器之前就会被拦截,与实例内部的任何配置无关。
注
购买服务器时若选择无需安全组,则所有端口默认放行,无需额外设置。出于安全考虑,仍建议为服务器配置安全组并遵循最小开放原则。
安全组与系统防火墙的关系
运行在操作系统内部,如 Linux 的 firewalld / ufw、Windows Defender 防火墙,对通过安全组的流量做进一步精细化控制。
两者是"与"关系
一个端口必须同时被安全组和系统防火墙放行,流量才能最终到达应用程序。排查访问问题时,请按「安全组 → 系统防火墙 → 服务监听」的顺序依次检查。
安全组规则要素
一条安全组规则通常包含以下要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 方向 | 入方向控制外部访问实例,出方向控制实例访问外部 | 入方向 |
| 协议 | TCP、UDP 或 ICMP | TCP |
| 端口 | 单端口或端口范围 | 80 / 1000-2000 |
| 源地址 | 允许访问的来源 IP 或网段(CIDR) | 0.0.0.0/0 或 192.168.1.0/24 |
| 策略 | 允许或拒绝 | 允许 |
关于源地址
0.0.0.0/0 表示允许所有来源 IP 访问。对必须公开的服务(如网站 80/443)可以使用;对 SSH、远程桌面、数据库等管理类端口,强烈建议只填写您自己的公网 IP 或可信网段。
常用端口对照表
| 端口 | 协议 | 用途 | 开放建议 |
|---|---|---|---|
| 22 | TCP | Linux SSH 远程连接 | 建议限制来源 IP,或修改默认端口 |
| 3389 | TCP | Windows 远程桌面 | 建议限制来源 IP,或修改默认端口 |
| 80 | TCP | HTTP 网站访问 | 按需对公网开放 |
| 443 | TCP | HTTPS 网站访问 | 按需对公网开放 |
| 21 | TCP | FTP | 被动模式还需放行数据端口段 |
| 3306 | TCP | MySQL | 不建议对公网开放,仅限内网或白名单 |
| 1433 | TCP | SQL Server | 同上 |
| 6379 | TCP | Redis | 不建议对公网开放,仅限内网或白名单 |
| 5432 | TCP | PostgreSQL | 同上 |
| 8080 | TCP | 常用备用 Web 端口 | 按需对公网开放 |
| ICMP | — | ping 测试 | 使用 ping / MTR 测试时需放行 |
典型场景配置
放行网站访问
放行入方向 TCP 80、443,源地址 0.0.0.0/0。
放行远程连接端口
- 默认端口:入方向 TCP
22(Linux)或3389(Windows)。 - 已修改默认端口的,放行修改后的端口号,操作参见修改服务器默认远程端口。
仅允许指定 IP 远程连接
添加入方向 TCP 22(或您的自定义远程端口),源地址填写您本地的公网 IP(可通过 IP 查询网站获取)。
服务无法访问时的排查顺序
检查安全组
登录速维云控制面板,进入安全组页面,确认实例所属安全组的入方向规则已放行对应 IP 和端口。
检查系统防火墙
- Linux:查看
firewalld/ufw状态与规则,参见管理 Linux 实例的系统防火墙。 - Windows:参见管理 Windows 实例的系统防火墙。
- Linux:查看
检查服务监听状态
在实例内确认服务已启动并在预期端口上监听:
# Linux:查看所有监听端口及对应进程 ss -tunlp # 确认某个端口(如 80) ss -tunlp | grep :80# Windows:查看端口监听 netstat -ano | findstr :80验证连通性
使用 telnet / nc 测试端口连通性,参见Linux测试TCP-UDP端口连通性。
常见问题
安全组规则已放行,为什么还是访问不了?
- 检查规则方向是否为入方向,协议与端口是否与服务实际使用的一致。
- 检查系统防火墙是否拦截,见上文排查顺序。
- 确认服务已启动并在监听,且监听地址为
0.0.0.0而非127.0.0.1。
安全组"有状态"是什么意思?
安全组是有状态的:入方向放行的端口,其返回流量(出方向)会自动放行,无需为响应流量额外配置出方向规则。
修改安全组规则后需要重启实例吗?
安全组规则修改后即时生效,无需重启实例,已建立的连接一般不受影响。
生产环境建议
最佳实践
- 最小开放:只开放业务必需的端口,数据库等核心服务仅对内网或白名单开放。
- 按源限制:管理类端口(SSH / 远程桌面)尽量指定来源 IP。
- 定期审计:定期检查安全组规则,清理不再使用的放行项。
- 双层防护:安全组与系统防火墙建议同时配置,任何一层拦截都能留下日志线索。
