Postsread more
VPS 安全加固:从 0 到三层防御实战记录
一台裸奔的海外 VPS,跑着 new-api、x-ui、Hermes Agent 三个服务,端口审计发现 3000 + 50404 公网监听——我是怎么一步步把它变成铁桶的。
背景:一台裸奔的 VPS
上个月整理 GCP 免费赠金 VPS,发现上面跑着:
- new-api(端口 3000)— AI API 代理网关
- x-ui(端口 50404)— 代理面板
- Hermes Agent(内部端口)— 个人 AI 助理
三个服务全部 0.0.0.0 绑定,直接暴露在公网。用 nmap 扫了一下自己的 IP:
$ nmap -Pn <my-ip>
PORT STATE SERVICE
3000/tcp open ppp
50404/tcp open unknown
更要命的是,new-api 后台后来审计发现了 7 个陌生 bot 账号,说明已经被扫到了。ROOT_PASSWORD 还是默认的弱密码。
这篇文章记录我从"裸奔"到"三层防御"的完整过程,每一步都是真实踩坑后的总结。
第一层:GCP Firewall — 在流量进主机前挡住
核心思路:在 GCP 层面直接拒绝,流量根本不到你的主机。
GCP Firewall 支持按 instance tag 匹配规则。我先创建了一个 tag secure-server,然后写规则:
# 拒绝所有入站,只允许特定端口
gcloud compute firewall-rules create deny-all-ingress \
--direction=INGRESS \
--priority=65534 \
--network=default \
--action=DENY \
--rules=all \
--target-tags=secure-server \
--source-ranges=0.0.0.0/0
踩坑:规则创建后测试 nc -zv <ip> 3000,发现还是通的。排查半小时发现——instance 没打 tag。规则存在但没 target,等于没配。