所有系统运行正常 阿姆斯特丹 · 巴黎 · 雷克雅未克 +5 支付方式 加密货币
指南

十分钟内加固全新的 Debian VPS

一台全新的 VPS 在启动后数分钟内就会收到第一次 SSH 暴力破解尝试。这是一份简短而有主见的检查清单,在您安装任何其他内容之前,先关闭那些容易被攻破的入口——密钥、防火墙、fail2ban、自动更新。

更新于 2026-06-12

Fenrir the wolf behind a fortified shield

观察任何一台全新服务器的认证日志,互联网的背景噪音会立即出现:凭据填充机器人针对 root 账户遍历字典,扫描器探测去年的漏洞,爬虫对 80 端口上的任何响应进行指纹识别。这些行为没有针对性,几乎全部是自动化的,这是好消息——自动化攻击可以通过基本的安全习惯来抵御,在部署实际工作负载之前就应完成。本指南就是这些习惯,压缩在 Debian 12/13 的十分钟内(稍作修改即可适用于 Ubuntu)。这刻意不是一份 4000 字的审计框架:它针对真实机器人实际尝试的入口,按重要性依次关闭。在您部署的每台服务器上运行它,然后继续搭建您真正想要的 VPN节点邮件服务器

本检查清单刻意省略了什么

端口敲门、内核加固 sysctl 配置、SELinux/AppArmor 调优、入侵检测套件——这些都是真实的工具,但没有一个是单用途 VPS 第一天的优先事项,而且有几个很容易被错误配置成将自己锁在外面。这里的 80/20 是诚实的:密钥 + 无密码 + 默认拒绝 + 自动补丁,基本上可以阻止所有非定向入侵。当您的威胁模型明确指向一个能够突破基本防御的对手时,再添加重型工具——如果磁盘级隐私对您的模型很重要,请记住 KVM 层允许您在虚拟机内运行全盘加密。

备份是安全的组成部分

加固降低了概率;备份限制了损失。每个套餐都包含每周快照,但快照与服务器共存——对于任何无法承受损失的数据,同样要推送加密的异地副本:将 resticborg 备份到另一台服务器(另一区域的 3.50 美元 Pup 是一个整洁的备份目标),设置仅需几分钟。测试一次恢复;未经测试的备份是一种期望,而非计划。

  1. 登录一次,更新所有内容
    apt update && apt full-upgrade -y && reboot

    模板是快照;快照日期与今天之间的时间差正是扫描器探测的窗口。先打补丁,重启进入新内核,然后再进行配置。

  2. 创建用户并安装 SSH 密钥
    adduser ops && usermod -aG sudo ops
    mkdir -p /home/ops/.ssh && nano /home/ops/.ssh/authorized_keys   # paste your ed25519 public key
    chmod 700 /home/ops/.ssh && chmod 600 /home/ops/.ssh/authorized_keys && chown -R ops:ops /home/ops/.ssh

    如果您的本地机器上还没有密钥,请先生成:ssh-keygen -t ed25519。在继续之前,先在第二个终端中测试 ssh ops@your-ip

  3. 加固 sshd

    编辑 /etc/ssh/sshd_config.d/hardening.conf

    PermitRootLogin no
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    MaxAuthTries 3
    AllowUsers ops

    然后执行 systemctl restart ssh——前提是您已确认基于密钥的会话正常工作。密码猜测在此终结:没有可猜测的密码。将端口改为非标准端口可以减少日志噪音,但这是外观上的,而非安全上的;如果您喜欢整洁,可以这样做。

  4. 建立默认拒绝防火墙(nftables)

    Debian 的原生防火墙,/etc/nftables.conf 中的最小规则集:

    table inet filter {
      chain input {
        type filter hook input priority 0; policy drop;
        ct state established,related accept
        iif lo accept
        tcp dport 22 accept
        icmp type echo-request limit rate 5/second accept
        icmpv6 type { echo-request, nd-neighbor-solicit, nd-neighbor-advert, nd-router-advert } accept
      }
    }

    systemctl enable --now nftables。仅在部署需要相应端口的服务时才开放更多端口——VPN 指南开放 51820/udp,邮件指南开放 25/465/993,依此类推。默认拒绝意味着被遗忘的测试守护进程无法访问,而不是造成安全漏洞。

  5. 添加 fail2ban 处理残余噪音
    apt install -y fail2ban
    printf "[sshd]
    enabled = true
    maxretry = 4
    bantime = 1h
    " > /etc/fail2ban/jail.d/ssh.local
    systemctl enable --now fail2ban

    密码已禁用的情况下,这是纵深防御加日志整洁——重复违规者在防火墙层被丢弃,而不是填满您的认证日志。

  6. 开启无人值守安全更新
    apt install -y unattended-upgrades
    dpkg-reconfigure -plow unattended-upgrades

    Debian 安全团队现在会在您睡觉时为您的服务器打补丁。按按键次数衡量,这是本页中效果最显著的一行:大多数真实入侵利用的是已存在几个月的旧补丁。

  7. 两分钟验证

    从外部确认安全状态:

    ssh root@your-ip          # must be refused
    nmap -p- your-ip          # only 22 (and your service ports) open
    last -a; journalctl -u ssh -n 50   # familiarise yourself with normal

    可选:在您的 VPSCrypto 账户本身添加 TOTP 2FA——面板可以重建或重装服务器,因此它值得与 root 同等级别的保护。

常见问题

常见问题

我应该更改 SSH 端口吗?

这是日志噪音控制,而非安全措施——扫描器用 masscan 几秒钟就能找到非标准端口。如果安静的日志有助于您发现真正的异常,可以这样做;但永远不要将其视为一层防御。真正的防御是仅密钥认证和 MaxAuthTries。

禁用密码后还需要 fail2ban 吗?

严格来说对 SSH 不需要——没有可以暴力破解的内容。它仍在清单上,是因为它同样覆盖您以后可能添加的其他服务(邮件、管理面板),并保持日志可读。在极简主义的服务器上可以跳过。

托管商有 DDoS 防护时还需要 VPS 防火墙吗?

它们解决的是不同问题。上游的 DDoS 缓解吸收洪流攻击;您的 nftables 策略控制的是哪些服务根本可以被访问。默认拒绝针对的是被遗忘的守护进程,而非千兆字节级别的攻击。

使用 Ubuntu 而非 Debian 怎么办?

这里的所有内容均适用;Ubuntu 附带 ufw 作为更友好的前端(ufw default deny incoming; ufw allow 22/tcp; ufw enable),并在近期版本中默认启用 unattended-upgrades。sshd 加固配置完全相同。

如果我把自己锁在外面了怎么恢复?

使用您客户区中的控制台访问——它独立于 sshd,因此您可以修复错误配置或恢复快照。这也是为什么在关闭第一个会话之前,要在第二个会话中测试新的 SSH 配置。

约一分钟部署一台离岸 VPS

无 KYC,加密货币支付,全 NVMe。选择套餐,用 Monero 或任意主流币付款,约 60 秒即可获得 root。

Fenrir 守卫中