# 加固新VPS
> 加固新VPS大约需二十分钟：禁用密码和root SSH登录，启用仅密钥认证，配置nftables默认拒绝入站，启用无人值守安全升级，并安装fail2ban。这五个步骤消除绝大多数现实妥协。
**Source:** https://incognitovps.com/zh-cn/guides/harden-a-new-vps
**Updated:** 2026-07-17

## 实际上什么导致服务器沦陷

不是零日漏洞。实际是：SSH密码暴力破解针对弱凭据、数月未修补的服务、暴露的默认密码管理员面板，以及操作者安装的应用程序漏洞。这列表很无聊，但十五年来未曾改变。

下方的清单按每一步每分钟去除风险量排序。按顺序执行，若失去耐心可停止——您仍将去除大部分风险。

## 第1步——仅SSH密钥

这一改动可彻底消除最常见的攻击方式。生成一个 Ed25519 密钥，将公钥上传，然后编辑 `/etc/ssh/sshd_config`，设置 `PasswordAuthentication no`、`PermitRootLogin prohibit-password` 和 `KbdInteractiveAuthentication no`。

在关闭第一个终端之前，先在第二个终端中测试密钥。把自己锁在外面虽然尴尬，但通过控制台访问可以完全恢复——不过还是按正确顺序操作吧。

## 第 2 步 — 默认拒绝的防火墙

在较新的 Debian 和 Ubuntu 上使用 nftables，在 RHEL 衍生版上使用 firewalld。默认拒绝入站，允许已建立和相关连接，允许 SSH 端口，允许工作负载实际需要的端口，其他一概拒绝。

重要的原则是“其他一概拒绝”是关键所在。如果在调试时添加了允许规则但从未移除，那么这个防火墙就没有起到任何作用。

- 默认策略：丢弃入站，接受出站
- 接受已建立和相关连接
- 接受回环接口
- 接受 SSH 端口，最好有速率限制
- 明确列出工作负载端口并接受
- 接受 ICMP 回显 — 不要破坏路径 MTU 发现

## 第 3 步 — 自动安全更新

在 Debian 和 Ubuntu 上使用 `unattended-upgrades`，在 RHEL 衍生版上使用 `dnf-automatic`，仅配置安全更新。大多数入侵都是利用几个月前已修补的漏洞。

如果工作负载允许，请在维护窗口内启用自动重启。内核更新在重启前不会生效，一台运行 400 天且有 11 个未修复内核 CVE 的服务器并不是荣誉的象征。

## 第 4 步 — fail2ban 及其真正价值说明

在密码认证已禁用的情况下，fail2ban 阻止的实际入侵相对较少。它真正的作用是大幅减少日志噪音，这一点很重要，因为充满数千次失败尝试的日志没人会读，而没人读的日志正是真实入侵数周不被发现的根源。

默认的 sshd 监狱就足够了。为其他暴露在互联网上的服务添加监狱。

## 第 5 步 — 减少攻击面

运行 `ss -tlnp` 检查正在监听的端口。在默认安装中，这通常包括您不知道在运行且不需要的服务。卸载它们，而不是用防火墙拦截——未安装的软件没有漏洞。

将仅需本地访问的服务绑定到 127.0.0.1，而不是 0.0.0.0。监听所有接口的数据库，即使有防火墙，也可能因一次配置错误而暴露给公网。

## 哪些操作可以跳过

更改 SSH 端口可以減少日志噪音，但对针对性攻击毫无作用。如果您愿意可以这样做，但不要将其视为安全措施。端口敲门增加了复杂性，收益甚微。入侵检测系统在单台服务器上会产生无人处理的警报。

如果您想在上述五个步骤之外再增加一个有意义的步骤，那就是在不同司法管辖区进行加密的异地备份，并通过实际恢复来测试。恢复能力比多一层防护更有价值。


## 常见问题

### 更改 SSH 端口值得吗？

对于减少日志噪音来说，值得。但对于安全，不值得——它只能阻止机会主义扫描器，对针对性攻击毫无作用。如果您喜欢更安静的日志，可以这样做，但不要将其视为一项控制措施。

### 如果使用 SSH 密钥，还需要 fail2ban 吗？

对于直接安全来说，几乎不需要。但对于日志卫生，需要——成千上万次失败尝试会让日志不可读，而不可读的日志正是真实入侵不被发现的根源。

### 我应该启用自动重启吗？

如果工作负载允许，应该在维护窗口内启用。内核补丁在重启前不会生效。长时间运行但存在未修复内核 CVE 是负债，而不是成就。


---

Incognito VPS — 离岸 VPS、裸金属和 GPU 服务器，分布于 16 个地点，其中 8 个因其法律特性而入选。无需身份验证，仅加密货币支付，55 秒部署。
Operating since 2020. 16 locations, 8 of them privacy jurisdictions. AS204287.
Payment: BTC, XMR, ETH, USDT, USDC, LTC, TRX, SOL, BNB, DOGE, TON, DAI. No identity verification at any point.
Catalogue: https://incognitovps.com/pricing.md · API: https://incognitovps.com/openapi.json · Index: https://incognitovps.com/llms.txt