← 文章

重置一台服务器之后该做的三件事

从"能登录"到"能放心放东西",中间差的是 SSH 加固、swap 和拥塞控制。

  • 服务器
  • Linux
  • 运维

每次重置服务器,登录进去看到的都是一台香喷喷的空机器:干净、快速、什么服务都没有。 但”能登录”和”能放心往里放东西”是两件事。

一、先把门锁上

新装的系统默认允许密码登录,而 22 端口上的暴力破解是不停的。 只要有一把能用的密钥,就该立刻关掉密码登录:

# /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
KbdInteractiveAuthentication no
MaxAuthTries 4

用 drop-in 文件而不是改主配置,好处是主配置被系统更新覆盖也不会失效, 而且以后想回滚,删掉这个文件 reload 一下就行。

改完一定要 sshd -t 语法检查,再验一次密钥登录能进,最后才 reload。 顺序错了,运气不好就把自己关在门外。

二、加一点 swap

1.6G 内存的机器,不加 swap 跑 docker 或者编译一次就可能 OOM。 两行命令的事:

fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile
swapon /swapfile && echo "/swapfile none swap sw 0 0" >> /etc/fstab

比内存更重要的是别忘 fstab,不然重启之后 swap 就没了。

三、开 BBR

跨境链路对丢包特别敏感,BBR 在这种链路上提升非常明显,而且是内核自带的,不用装什么东西:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

写进 /etc/sysctl.conf 再 sysctl -p。原来用 cubic 的机器,改完下载曲线会明显稳一些。

顺带一句

防火墙别急着开 ufw。云厂商的安全组本来就是门外那道锁, 两层同时管,最容易出现的结局是自己把自己关在外面。 本地想加防护就装 fail2ban 防爆破,规则别碰 22。