互联网教程

安全组与防火墙:哪些端口必须开、哪些绝不能开

发布者:黔序科技更新于 2026-11-06 11:40依据官方文档核验:2026 年 11 月

AI 导读

约 2 分钟读完

公网只开80、443和限源SSH,数据库端口绝不暴露给全网。针对企业运维与决策者,文章厘清安全组与系统防火墙的双重管控逻辑,给出端口最小化开放的具体配置步骤及出方向策略要点。核心在于纠正“默认放行”误区,明确勒索攻击主要源于3306等高危端口对公网开放,提供从云控制台到本地验证的完整排查路径,直接规避因配置疏漏导致的数据泄露风险。

  • 公网仅保留80、443及限制来源IP的SSH端口
  • MySQL、Redis等数据库端口严禁向0.0.0.0开放
  • 需同步检查云安全组、系统防火墙及面板设置
  • 出方向全放行可能导致线上服务访问超时
  • 弱密码配合公网暴露端口是勒索软件主要入口

内容由 AI 智能生成,仅供参考

一句话:对公网只开三个口:80、443,以及限制来源 IP 的 SSH 端口。数据库释、缓存释、面板端口要么不开,要么限定 IP。

端口清单

公网端口开放清单:80/443 对全网,SSH 与面板端口限制来源 IP,数据库与缓存不开放
开哪些、给谁开,一张表说清
  • 80:HTTP,必须开(用于 301 跳转到 HTTPS释 与证书验证)。
  • 443:HTTPS,必须开。
  • 22 / 自定义 SSH 端口:只对自己的出口 IP 开。
  • 8888 等面板端口:同上,最好不对公网开。
  • 3306(MySQL)、6379(Redis)、27017(MongoDB):绝不对 0.0.0.0 开放。需要远程连就用跳板或 SSH 隧道。

配置步骤

  1. 先看安全组云控制台 → 实例 → 安全组 → 入方向。默认往往只放了 22,需要手动加 80、443。
  2. 来源写具体面向全网的写 0.0.0.0/0;管理类端口写自己的固定 IP,不要图省事写全网。
  3. 再看系统防火墙firewalld 用 firewall-cmd --list-all,ufw 用 ufw status。宝塔面板里也有独立的防火墙设置,三处要对齐。
  4. 验证用在线端口检测工具从外网探测,不要只在本机 curl。

注意:数据库端口暴露在公网,是服务器被勒索的最主要原因。攻击者用脚本全网扫 3306,弱密码几分钟就被拿到,随后整库被加密勒索。Redis 未设密码且对公网开放,还会被写入 SSH 公钥直接拿到 root。

出方向也要留意

多数云默认出方向全放行。如果做过收紧,要注意服务器需要访问外网的部分:系统更新源、证书续期(ACME 验证)、对象存储上传、短信与支付回调。出方向被挡的表现是「本地正常、线上超时」。

资料来源

  • 阿里云 / 腾讯云安全组文档:入方向与出方向规则、优先级与来源写法。
  • firewalld 与 ufw 官方文档:区域、规则与端口放行。
  • Redis 官方安全建议:禁止公网暴露、启用认证与保护模式。

常见问题

安全组放行了 80,为什么还打不开?

系统防火墙可能还挡着;也可能是 nginx 没启动、没监听 80、或站点配置里 server_name 不匹配。按「安全组 → 系统防火墙 → 进程监听 → 站点配置」的顺序逐层查。

能不能把 3306 开放出来方便远程管理?

不要。远程管理用 SSH 隧道把本地端口转发过去,或者走云厂商的数据库代理/跳板机。为了省事开放 3306,等于把数据库交给全网扫描器。

改 SSH 端口之后连不上了怎么办?

用控制台的 VNC / 远程连接进去改回来。所以改端口前要先在安全组放行新端口,再改 sshd 配置,顺序反了就会把自己锁在外面。

相关阅读