腾讯云安全组配置教程:22、80、443、3389 端口开放与常见错误

腾讯云安全组配置

腾讯云 CVM 创建完成后,安全组往往是决定服务器能否被正常访问的第一层网络控制。SSH 连不上、Windows 远程桌面失败、网站部署完成却打不开,很多时候并不是程序或服务器本身出了问题,而是入站规则没有放行对应协议、端口或来源 IP。

安全组配置并不复杂,但也不建议采用“所有端口全部开放”的方式省事。更合理的做法是先确认服务器真正需要提供哪些服务,再按最小必要范围放行。对于普通 Linux、Windows 和网站服务器,22、80、443、3389 是最常接触的几个端口,但它们的用途和开放范围并不相同。

腾讯云安全组是什么,和系统防火墙有什么区别

腾讯云将安全组定义为带有状态检测能力的虚拟防火墙,用于控制 CVM 等云资源的入站和出站流量。安全组规则可以根据来源或目标 IP、协议、端口以及 Allow 或 Reject 策略决定流量是否通过;没有规则的安全组默认拒绝流量。安全组还是有状态的,已经允许建立的连接,其返回流量不需要再单独配置一条反向规则。

安全组控制云平台这一层的访问

安全组工作在腾讯云网络侧。外部用户访问 CVM 时,请求首先需要满足安全组规则,之后才进入实例内部。如果 TCP 22 在安全组中没有放行,即使 Linux 内部的 sshd 服务运行正常,公网 SSH 仍然无法建立连接。

系统防火墙则位于操作系统内部,例如 Linux 的 UFW、firewalld、iptables,以及 Windows Defender Firewall。安全组放行而系统防火墙拒绝,访问同样会失败。因此排查端口问题时,要把“腾讯云安全组”和“服务器内部防火墙”当成两层独立配置。

如果还没有确定使用 CVM 还是 Lighthouse,可以先参考 腾讯云主机是什么 。两种产品都涉及网络访问控制,但控制台入口和管理方式并不完全一致。

入站规则和出站规则分别控制什么

入站规则决定外部网络是否可以访问 CVM,例如电脑通过 SSH 登录 Linux、浏览器访问网站,属于典型入站流量。出站规则则决定 CVM 能否主动访问外部网络,例如下载软件包、调用第三方 API 或连接外部数据库。

普通建站和远程管理问题,首先检查的通常是入站规则;只有服务器本身无法访问外部服务时,才需要重点查看出站规则。

有状态规则为什么容易被误解

安全组的“有状态”意味着连接建立后,返回流量会被自动识别。例如本地电脑通过允许的 22 端口发起 SSH 连接,服务器返回的数据不需要再额外创建一条完全对称的出站规则。

这个机制能减少规则数量,但不代表出站规则没有作用。如果业务要求 CVM 主动连接某个外部地址或端口,而出站策略又被收紧,仍然需要单独检查对应规则。对于普通用户来说,排查公网访问时先看入站规则即可;只有服务器主动访问外部服务失败时,再重点检查出站方向。

22、80、443、3389 分别应该在什么情况下开放

腾讯云当前的常用安全组模板把 TCP 22 用于 Linux SSH,TCP 80 和 443 用于 HTTP/HTTPS Web 服务,TCP 3389 用于 Windows RDP,同时可开放 ICMP 用于 Ping。

用途协议/端口常见开放对象
Linux SSHTCP 22管理员 IP
HTTP 网站TCP 80公网访问用户
HTTPS 网站TCP 443公网访问用户
Windows RDPTCP 3389管理员 IP
Ping 测试ICMP按排查需要开放

22 和 3389 属于管理端口

22 和 3389 的用途主要是管理服务器,并不是网站对访客提供服务的端口。腾讯云官方安全组场景中,Linux SSH 对应 TCP 22,Windows RDP 对应 TCP 3389,两者都可以设置为允许全部 IP 或只允许指定 IP、IP 网段访问。

正式业务环境更建议限制来源 IP。例如办公室有固定公网 IP,可以只允许该地址访问 22 或 3389。这样不会影响网站正常访问,同时可以减少管理端口长期暴露在公网后的扫描和暴力尝试。

80 和 443 用于网站访问

网站需要向互联网正常提供 HTTP/HTTPS 服务时,80 和 443 通常需要面向实际访客开放。腾讯云官方示例也是将 HTTP 80 和 HTTPS 443 配置为可从 0.0.0.0/0 访问。

但安全组开放 80、443 只代表流量可以到达实例,并不代表网站一定能打开。Nginx、Apache、IIS 或应用服务仍然需要正常运行并监听对应端口。

如果网站已经部署但无法访问,可以结合 腾讯云国际版 CVM 无法远程连接 继续判断是云网络、系统防火墙还是服务本身的问题。

腾讯云安全组入站规则的正确配置方法

在 CVM 控制台找到目标实例绑定的安全组后,进入规则管理即可新增入站规则。实际需要关注的核心参数只有几项:来源、协议端口、策略以及规则优先级。

来源 IP 不要只看端口

来源决定“谁可以访问”。0.0.0.0/0 表示匹配所有 IPv4 地址;如果只填写一个公网 IP,则只有该地址能够匹配规则;CIDR 则可以一次允许一个网段。腾讯云添加安全组规则时也支持这些来源写法。

因此出现“22 端口明明已经开放,但换了一台电脑就连不上”的情况时,要检查的不只是端口,还要检查当前电脑的公网出口 IP 是否仍在允许范围内。家庭宽带、移动网络和部分公司网络的公网 IP 都可能发生变化。

Allow 和 Reject 要结合规则顺序判断

Allow 表示允许匹配流量通过,Reject 表示拒绝匹配的数据包。真正容易出错的是:安全组并不是把所有规则同时判断,而是存在优先级。

腾讯云当前规则按照列表从上到下匹配,上方规则优先级更高;一旦流量匹配到某条规则并生效,后面的规则不会继续参与判断。如果两条规则存在冲突,高优先级规则优先生效。

所以看到“TCP 22 Allow”并不能马上判断 SSH 一定被放行,还要确认它前面是否已经存在覆盖范围更大的 Reject 规则。

多个安全组同时绑定时也要检查优先级

一台 CVM 可以绑定一个或多个安全组。腾讯云会按照安全组自身的优先级顺序执行规则,并允许调整其先后顺序。官方同时建议不要给一台实例绑定过多安全组,因为规则叠加后更容易发生冲突,甚至造成网络中断。

实际维护中,更适合按照业务用途规划安全组。例如同一批 Web 服务器使用统一的 Web 安全组,数据库服务器使用另一套更严格的规则,而不是每遇到一个端口问题就再创建并绑定一个新安全组。

对于不同地域和业务节点的网络规划,可以结合 腾讯云海外服务器选择指南 一起考虑,避免后期实例数量增加后安全组规则越来越难管理。

已经开放端口,服务仍然访问不了的常见原因

安全组只是整个访问链路的一部分。端口已经 Allow,但 SSH、RDP 或网站仍然不可用时,应继续检查服务器内部。

最常见的情况是系统防火墙仍然阻止对应端口。例如安全组已经开放 22,但 Linux UFW 没有允许 SSH;或者 3389 已经开放,但 Windows 防火墙中的远程桌面规则仍处于关闭状态。

另一种情况是“端口开放了,但没有程序监听”。例如安全组允许 443,但 Nginx 没有启动 HTTPS 服务,那么连接仍然无法建立。修改过默认 SSH 或 RDP 端口的服务器也要特别注意:如果 SSH 实际改成 2222,继续只开放 22 没有作用。

公网 IP、EIP 或 DNS 配置错误也会造成类似现象。尤其是迁移实例、更换 IP 或调整地域以后,域名还解析到旧地址时,继续修改安全组不会解决问题。

网站打不开时重点检查 80 和 443

如果 SSH 可以正常进入服务器,但浏览器无法打开网站,可以先把远程管理问题排除,重点检查 Web 访问链路。

先确认安全组是否允许 TCP 80 和 443,再确认系统防火墙是否放行,然后检查 Web Server 是否监听对应端口。HTTP 可以访问但 HTTPS 不行时,除了 443 安全组规则,还需要继续检查 SSL 证书、Nginx/IIS HTTPS 配置以及 443 监听状态。

如果源站已经可以正常访问,只是海外不同地区访问速度差异较大,再考虑 CDN、缓存和全球访问优化。这类问题可以参考 腾讯云国际版 CDN 怎么配合全球加速使用,不要把访问速度问题和端口不通混在一起处理。

Ping 不通不等于服务器已经无法访问

Ping 使用的是 ICMP,而 SSH、RDP 和网站访问主要使用 TCP,两者并不是同一套协议。因此 CVM Ping 不通,并不能直接说明 22、80、443 或 3389 也无法访问。

腾讯云官方针对 CVM Ping 失败的排查顺序包括公网 IP、安全组 ICMP 规则以及操作系统内部 ICMP 和防火墙设置。即使安全组已经允许 ICMP,如果 Linux 内核或 Windows 防火墙禁止 Echo 请求,仍然可能出现 Request timeout。

所以 Ping 更适合当作网络诊断工具之一,而不应该作为判断服务器是否正常的唯一标准。

常见业务场景的安全组配置思路

普通企业网站通常只需要将 80 和 443 对公网开放,SSH 22 则限制为管理员来源 IP。Windows 服务器可以采用同样思路,只是管理端口换成 3389。

数据库服务器则不应该因为“连接方便”直接把数据库端口开放给整个互联网。如果数据库只供同一 VPC 内的应用服务器访问,更合理的是限制私网来源或指定安全组,实现业务服务器与数据库之间的必要通信。

如果使用自定义业务端口,也不要照搬常见端口模板。先确认应用真正监听的协议和端口,再创建对应规则,并在备注中写清用途和负责人,后续排查会更容易。

核心原则不是记住一套万能模板,而是明确每个端口对应的业务,再只开放真正需要的来源和协议。腾讯云官方配置文档同样建议只在必要时开放端口,以减少不必要的安全风险。

修改安全组时保留可恢复空间

已经运行正式业务的 CVM,在大范围调整安全组之前,建议先导出现有规则。腾讯云官方也建议修改前备份安全组规则,以便配置错误时能够恢复。

同时,安全组命名和备注不要随意。实例越来越多以后,类似 Web-Production、SSH-Admin、Database-Private 这样的用途标识,会比“安全组1、测试组2”更容易维护。

账号和权限较复杂的团队,还可以结合 腾讯云账号使用指南 划分操作权限,减少误改正式服务器网络规则的风险。

腾讯云安全组本身并不难,真正容易出问题的是把“开放端口”理解成单一开关。正确的判断需要同时看端口、协议、来源 IP、Allow/Reject、规则优先级、绑定的多个安全组以及操作系统内部防火墙。把这几层关系理顺以后,SSH、RDP、网站访问和 Ping 等常见网络问题通常都能更快定位。

滚动至顶部