云服务器安全组怎么设置?按端口一步步放行

安全组就是云厂商在服务器外面加的一层虚拟防火墙,默认只放通少数几个端口。建站只需要放通 SSH、80、443 三条规则,其余一律关掉,这比装任何防护软件都管用。下面按控制台的操作顺序走一遍。

先分清:安全组和系统防火墙是两层拦截

  • 安全组在云平台侧,流量还没进到你的服务器就被拦下。
  • 系统防火墙(firewalld、ufw、Windows 防火墙)在服务器内部再拦一次。
  • 两层是「与」的关系:任何一层没放行,外面都访问不到。所以网站打不开时,两边都要查。

阿里云、腾讯云、华为云都叫「安全组」;轻量应用服务器(学生机常见)里通常叫「防火墙」,页面更简单,只有端口和授权对象两栏,逻辑完全一样。

第一步:在控制台找到安全组入口

  1. 阿里云:ECS 控制台 → 左侧「网络与安全」→「安全组」→ 找到实例所属的安全组 →「配置规则」。
  1. 腾讯云:云服务器 CVM → 左侧「安全组」→ 选中目标安全组 →「修改规则」。
  1. 华为云:弹性云服务器 ECS →「安全组」→「入方向规则」→「添加规则」。
  1. 轻量应用服务器:实例详情页 →「防火墙」→「添加规则」。

进页面后先确认两件事:

  • 一台实例可以绑多个安全组,规则取并集。老安全组里如果还留着 0.0.0.0/0 全放通的规则,先把那条删掉,否则新规则写得再严也没用。
  • 规则改完一般几十秒内生效,不需要重启服务器。

第二步:入方向按这份清单逐条加

入方向管的是「外面能不能进来」。建站场景只要这几条:

  • 远程登录:协议 TCP,端口 22,授权对象填你自己的公网 IP(在搜索引擎输入「IP」就能查到),写成 1.2.3.4/32。
  • HTTP:TCP,端口 80,授权对象 0.0.0.0/0。
  • HTTPS:TCP,端口 443,授权对象 0.0.0.0/0。
  • Windows 服务器把 22 换成 3389(远程桌面),授权对象同样建议只填自己的 IP。

操作路径是「入方向」→「手动添加」或「添加规则」,填协议类型、端口范围(单端口写成 443/443)、授权对象,保存。

这几类端口不要对公网开放

  • 3306(MySQL)、5432(PostgreSQL)、27017(MongoDB):数据库只让本机或内网访问,需要远程连就填固定 IP。
  • 6379(Redis):公网暴露的 Redis 是最常见的被扫描目标之一。
  • 9200(Elasticsearch)、2375(Docker 未加密端口):同理,默认不要开。
  • 22 端口天天被爆破的话,可以换成 22022 这类高位端口,但顺序很关键:先在安全组放行新端口,再改 /etc/ssh/sshd_config 里的 Port,执行 systemctl restart sshd 后另开一个终端验证能登进去,最后才关旧端口。反过来做,就是把自己锁在门外。
云服务器安全组入方向规则列表,显示 22、80、443 端口与授权对象的配置
入方向规则按端口逐条放行,单端口写成 443/443

第三步:出方向先别乱改

出方向默认全部允许,服务器才能下载依赖、调用外部接口。

  • 除非做严格隔离,出方向保持默认即可。
  • 如果非要收紧,至少放通 DNS(UDP 53)和 HTTP/HTTPS(TCP 80、443),否则 apt update、yum install 会直接失败。

第四步:改完怎么验证真的生效

  1. 服务器上确认服务在监听:ss -lntp | grep 443,看到 LISTEN 才说明服务本身没问题。
  1. 从本机测端口通不通:nc -zv 你的公网IP 443;Windows 上用 Test-NetConnection 公网IP -Port 443。
  1. 用手机流量(不连公司或家里的 Wi-Fi)打开域名,能开说明安全组和系统防火墙都放通了。
  1. 想从外网看端口状态,可以用云厂商控制台自带的端口检测工具,或在线端口检测页面。

如果第 1 步有 LISTEN、第 2 步不通,问题在安全组或系统防火墙;第 2 步通了但浏览器打不开,去查 Nginx 配置和域名解析。

终端窗口执行 nc -zv 检测云服务器 443 端口是否连通的结果
在终端用 nc 命令确认端口到底通不通

两个最容易踩的坑

  • 系统防火墙没跟着放行。CentOS 系执行 firewall-cmd --add-port=443/tcp --permanent 再 firewall-cmd --reload;Ubuntu 系执行 ufw allow 443/tcp。少这一步就会出现「安全组全开还是打不开」。
  • 换服务器或重装系统后,安全组不会自动跟过去。搬家时记得给新实例绑同样的规则,否则会出现「只有自己电脑能打开」的错觉。

安全组本身不额外收费,费用包含在实例里;真正花钱的是公网带宽和流量。所以先把端口收敛这件事做完,成本是零。

常见问题(FAQ)

安全组全开是不是就不会出现打不开的问题?

能通,但等于把数据库、缓存端口全暴露在公网,被扫描到只是时间问题。建站场景放通 22、80、443 三条就够用。

80 端口放行了,网站还是打不开怎么办?

先 ss -lntp 看服务有没有在监听 80,再看系统防火墙有没有放行,最后确认域名解析是否指向这台机器的公网 IP。按这个顺序排掉,问题基本就定位了。

授权对象 0.0.0.0/0 是什么意思?

代表所有 IPv4 地址都能访问。只填一个 IP 时后面要加 /32,填一个网段则用 /24 这类写法。SSH 和数据库端口建议填具体 IP。

改完规则要重启服务器吗?

不用。安全组规则在云平台侧生效,通常几十秒内起作用,重启反而可能中断正在跑的服务。

最后更新:2026-10-27(工具界面、价格与政策可能调整,请以官方页面为准)。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...