登录

VPS 先别急着装面板:我做完这套安全基线才敢放服务上线

1078
  • 楼主

    分享一下我最近给一台小 VPS 做安全基线的顺序。跑完到手检查之后,我觉得安全这块真不能等出事再补,尤其是 SSH,天天都有人在扫。

    一、先处理 SSH,别改完把自己锁外面
    先在本地生成密钥:ssh-keygen -t ed25519 -a 100,再用 ssh-copy-id 用户名 @服务器 IP 把公钥传上去。新开一个终端确认密钥能登录,再改 /etc/ssh/sshd_config,重点几项:
    Port 2222
    PermitRootLogin prohibit-password
    PasswordAuthentication no
    PubkeyAuthentication yes
    改完先执行 sshd -t 检查语法,没报错再 systemctl restart sshd。当前会话千万别急着关,万一哪行写错,还能在这个会话里改回来。我之前就吃过一次亏,只能去商家面板开 VNC 救援。

    二、防火墙只放行真正要用的端口
    Debian / Ubuntu 我一般用 ufw,顺序是:
    ufw default deny incoming
    ufw default allow outgoing
    ufw allow 2222/tcp
    ufw allow 80,443/tcp
    ufw enable
    最后 ufw status numbered 再核对一遍。切记 SSH 新端口要在 enable 之前放行,顺序反了就是把自己关在门外。

    三、装 fail2ban 挡爆破
    apt update && apt install -y fail2ban
    不要直接改 jail.conf,新建 /etc/fail2ban/jail.local,写上:
    [sshd]
    enabled = true
    port = 2222
    maxretry = 5
    findtime = 10m
    bantime = 1h
    保存后 systemctl enable --now fail2ban,再用 fail2ban-client status sshd 看状态。封禁时间不用一上来就拉到最长,先跑几天看日志,避免误伤自己。

    四、自动更新只开安全更新
    apt install -y unattended-upgrades
    装完执行 dpkg-reconfigure -plow unattended-upgrades 打开自动更新,再检查 /etc/apt/apt.conf.d/50unattended-upgrades,确认只跟安全源走。偶尔可以 unattended-upgrade --dry-run 演练一下;如果更新了内核,该重启还是得找个低峰期重启,别一直拖着。

    五、留后手,顺便收一收暴露面
    关密码登录前,务必把公钥登录和商家面板的救援 / VNC 都验证一遍;另外再建一个普通用户并给 sudo,日常少用 root 直连。最后跑 ss -tlnp 看看实际监听了哪些端口,用不上的服务直接停掉禁用,暴露面越小,后面越省心。

    整套做下来大概二十分钟,之后再装面板或者放网站,心里踏实很多。大家平时还有什么顺手的安全小习惯,欢迎补充,我也学习一下。

    收藏 1支持 1反对打赏

8 条回复

发表回复