搬瓦工 VPS 安全加固如何关闭不必要的系统服务端口

文章导读
搬瓦工 VPS 关闭不必要端口的核心是通过 Linux 防火墙(如 UFW 或 Firewalld)拦截入站流量,而非直接停止系统服务,操作前必须确保 SSH 端口开放且拥有控制台访问权限。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
A A

搬瓦工 VPS 关闭不必要端口的核心是通过 Linux 防火墙(如 UFW 或 Firewalld)拦截入站流量,而非直接停止系统服务,操作前必须确保 SSH 端口开放且拥有控制台访问权限。

先说结论:优先使用防火墙策略限制端口访问,保留 SSH 管理端口,操作前务必确认搬瓦工后台 KVM 控制台可用。

  • 先判断:使用 ss 或 netstat 命令列出当前监听端口,区分业务必需端口和默认开放端口。
  • 优先做:配置防火墙允许 SSH 端口(默认 22 或自定义端口),再开启防火墙拦截策略。
  • 再验证:从外部网络使用 nmap 或 telnet 测试端口连通性,确认非必需端口已不可达。

命令速用版

以下命令适用于 Ubuntu/Debian 系统,CentOS 系统请使用 firewall-cmd 替代 ufw。

# 查看当前监听端口
ss -tulpn

# 允许 SSH 端口(假设端口为 22)
ufw allow 22/tcp

# 允许 HTTP/HTTPS(如有 Web 服务)
ufw allow 80/tcp
ufw allow 443/tcp

# 启用防火墙
ufw enable

为什么会这样

关闭不必要的系统服务端口是为了减少服务器攻击面,防止未授权访问。

默认安装的 Linux 系统可能开启 FTP、Telnet 或数据库默认端口,这些服务若未配置强密码或访问控制,容易被扫描利用。通过防火墙拦截入站流量,可以在不卸载服务的情况下阻断外部连接,降低被暴力破解或漏洞利用的风险。

分步处理

步骤 1:检查当前开放端口

登录 SSH 后执行 ss -tulpnnetstat -tulpn,记录所有处于 LISTEN 状态的端口号。

步骤 2:确认搬瓦工控制台访问权限

登录搬瓦工客户中心,找到对应 VPS 实例,确认 Launch SSH 或 KVM 控制台按钮可用,以防防火墙配置错误导致 SSH 断开。

步骤 3:配置防火墙白名单

先执行允许命令放行 SSH 端口和管理所需端口,再执行启用命令。若使用 CentOS 7+,使用 firewall-cmd `--permanent` `--add-port`=22/tcp 后重载。

步骤 4:启用并保存策略

执行启用命令后,防火墙立即生效。确保会话未断开前不要关闭当前 SSH 窗口。

怎么验证是否生效

在本地电脑或另一台服务器上,使用 nmap -p 端口号 你的 VPS IP 扫描目标端口。

若端口状态显示为 filtered 或 closed,说明防火墙已拦截;若显示 open,则策略未生效。也可使用 telnet 你的 VPS IP 端口号 测试连接是否被拒绝。

常见坑

1. 误关 SSH 端口:开启防火墙前未放行 SSH 端口,导致无法远程连接,必须通过搬瓦工后台 KVM 控制台恢复。

2. IPv6 配置遗漏:部分防火墙默认只配置 IPv4,若 VPS 开启 IPv6,需同步配置 ip6tables 或 UFW IPv6 规则。

3. 服务依赖错误:某些应用依赖本地回环端口,防火墙规则应针对入站流量(input),避免影响本地服务间通信。

常见问题

如何查看 VPS 当前开放了哪些端口?

在终端执行 ss -tulpn 命令,列表中包含所有正在监听的网络端口及对应进程。

防火墙开启后无法 SSH 连接怎么办?

立即登录搬瓦工客户中心使用 KVM 控制台登录,关闭防火墙或添加 SSH 端口允许规则后重启防火墙服务。

Ubuntu 和 CentOS 关闭端口的命令一样吗?

不一样,Ubuntu 默认常用 ufw 命令,CentOS 7 及以上默认使用 firewall-cmd 命令,底层均为 iptables 规则管理。