香港服务器资讯

网站部署在VPS上,防火墙该怎么配置?

从确认服务端口、设置 UFW 入站规则,到云平台安全组、远程验证和故障回退,说明如何为 VPS 网站配置防火墙,降低误开放端口和远程锁定风险。

网站能打开,不代表服务器上的其他端口也该对公网开放。配置虚拟专用服务器防火墙配置指南的核心,是先确认网站和管理服务实际使用的端口,再默认拒绝不需要的入站连接。以下以常见的 Ubuntu 或 Debian 系统和 UFW 为例;不同发行版的管理工具可能不同。

先盘点服务,再决定开放什么

防火墙规则要对应正在运行的服务,而不是照抄一份端口清单。普通网站通常需要开放网站实际使用的 TCP 端口,例如 80 和 443;SSH 管理端口则应仅供运维使用。邮件、数据库或其他服务只有确实需要从公网访问时,才考虑开放相应端口。

先通过 SSH 登录服务器,使用 ss 查看监听情况:sudo ss -lntup。它可列出 TCP、UDP 监听端口及关联进程。注意,服务监听在 0.0.0.0 或服务器公网地址上,意味着可能接收外部连接;监听在 127.0.0.1 上的服务通常只接受本机连接。防火墙规则应与实际需求和监听地址一起核对。

用 UFW 配置基本入站规则

UFW 是 Ubuntu、Debian 系统上常见的防火墙管理工具。下面的顺序先保留管理通道,再设置默认策略,降低启用防火墙后失去远程连接的风险。

  1. 查看当前状态:sudo ufw status verbose。如果提示 UFW 未安装,应先按所用系统的包管理方式安装;不要在不确认工具和现有规则时切换防火墙管理方式。

  2. 确认 SSH 实际端口。如果使用默认端口 22,可执行 sudo ufw allow 22/tcp;如果 SSH 使用其他端口,应改为实际端口,并在启用前确认该端口已被允许。

  3. 如果网站确实提供 HTTP 和 HTTPS 服务,分别执行 sudo ufw allow 80/tcp 和 sudo ufw allow 443/tcp。没有对应服务时不必开放。

  4. 设置入站默认拒绝、出站默认允许:sudo ufw default deny incoming,再执行 sudo ufw default allow outgoing。对一般网站服务器,这种做法能收紧外部主动连接,同时避免未经评估就阻断系统更新等出站通信。

  5. 确认规则后执行 sudo ufw enable,然后运行 sudo ufw status numbered 核对状态和规则。SSH 端口不一定是 22,务必以服务器实际配置为准。

把管理入口限制得更小

固定管理地址时限制 SSH 来源

如果管理人员从固定公网地址连接,可以只允许该来源访问 SSH。例如将下面的文档示例地址替换成实际管理端公网地址:sudo ufw allow from 203.0.113.10 to any port 22 proto tcp。203.0.113.0/24 是文档示例网段,不应当作真实管理地址使用。若管理地址经常变化,过窄的来源限制可能导致无法登录;可先准备云平台控制台或其他可用的恢复入口。

动态地址与暴力尝试

管理地址不固定时,可考虑使用 UFW 的 limit 规则降低短时间内重复连接尝试的速度,例如 sudo ufw limit 22/tcp。它不能代替强认证,也不会自动判断所有恶意行为。fail2ban 可根据日志对反复触发规则的来源采取限制,适合作为补充,而不是开放管理端口的理由。

别忽略云平台和容器规则

云服务商的安全组或网络防火墙,通常在虚拟机外侧控制流量;操作系统里的 UFW 则在服务器内部过滤。两层规则需要同时允许业务流量:外层封锁时,系统内开放端口也无法从公网访问;外层放行也不代表服务器内应放弃防护。

如果使用 Docker 发布容器端口,容器网络规则可能改变流量经过主机防火墙的方式。因此,不能仅凭 UFW 显示的规则就认定端口一定无法从公网访问。应检查 Docker 发布配置,并从另一台网络上的设备实际测试。不要同时让多个工具各自改写防火墙规则;例如启用 UFW 后,又直接维护一套 nftables 规则,可能增加排错难度。

变更后验证,并预留回退方式

  1. 在现有 SSH 会话保持连接的同时,另开一个终端重新登录,确认管理入口仍可用;若修改了 SSH 端口,应测试新端口。

  2. 从外部网络检查网站和必要服务能否访问,同时确认数据库、缓存等不需要公网访问的服务没有被意外开放。只在本机测试不足以证明公网规则生效。

  3. 查看 sudo ufw status numbered,按编号删除误加规则,例如 sudo ufw delete 3;删除前先确认编号对应的端口和来源,因为规则编号可能随变化而改变。

  4. 若连接中断,优先通过云平台提供的控制台或救援入口检查规则;不要在无法确认访问路径时直接关闭所有防护。

归纳这份虚拟专用服务器防火墙配置指南:只开放业务必需端口,优先保护 SSH 管理入口,并同时核对云平台规则和主机规则。每次调整后从外部验证,才能确认配置符合实际需求。

常见问题

网站只用 HTTPS,可以关闭 80 端口吗?

如果确认不提供 HTTP 服务,也不依赖通过 80 端口访问或跳转,可以不开放 80;是否需要保留取决于站点功能和部署方式。

数据库端口要向公网开放吗?

通常不需要。网站与数据库部署在同一台服务器时,可让数据库只监听本机地址;跨服务器连接时,优先仅允许应用服务器的来源地址。

UFW 与云安全组只配一处可以吗?

不建议。它们处于不同层级,应分别检查;具体规则以服务商的网络功能和服务器系统配置为准。

怎么确认端口是否真的对外开放?

从外部网络尝试连接,并结合服务器上的监听状态与防火墙规则判断。单看某一项结果,不能完整代表实际公网可达性。

需要选择适合业务的方案?

告诉我们业务地区、配置和预算,客服可协助推荐产品。

相关文章

香港服务器资讯

VPS线路怎么选?

选线路要从访客所在地、业务对延迟的要求、路由稳定性和实际测试结果入手。本文说明普通国际线路与优化线路的差异,并给出可执行的测试、比较和试用步骤。

阅读全文