首页 > Technology > 正文

VPS 安全加固指南:新手逐步操作

fenij 2026-07-28 91 Technology

VPS 一上线,自动化的扫描机器人就开始探测它:扫端口、猜 SSH 密码、找过期软件。大部分被攻破的服务器并不是被黑客盯上了,而是连最基本的安全卫生都没做。好消息是,花半小时做一遍加固,就能挡住绝大多数自动化攻击。下面这份清单可以直接复制执行。

VPS 安全加固清单

层级 措施 优先级
网络层 UFW 防火墙只开必要端口
SSH 层 改端口+禁root+密钥登录
系统层 自动安全更新 unattended-upgrades
应用层 Fail2ban 防暴力破解
监控层 配置日志轮转+告警
备份层 每日自动备份+异地存储
6层
安全无死角
🔧
30min
基础加固耗时
📊
90%
攻击可被基础加固挡住

1. 更新系统并开启自动安全补丁

未打补丁的软件是最容易突破的入口。先完整升级:

sudo apt update && sudo apt upgrade -y
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

CentOS/RHEL 系列用 dnf upgrade -y 配合 dnf-automatic

2. 创建普通用户,停止使用 root

所有操作都用 root,意味着一次失误或一次凭证泄漏就会交出全部控制权:

adduser deploy
usermod -aG sudo deploy

以后用这个用户登录,需要管理员权限时再用 sudo

3. 加固 SSH:用密钥代替密码

在本地生成密钥对,然后复制到服务器:

ssh-keygen -t ed25519
ssh-copy-id deploy@your-server-ip

编辑 /etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

也可以把 SSH 端口改到高位(比如 2222)减少日志噪音。改完用 sudo systemctl restart sshd 重启。注意保留当前会话,先在新终端确认能登录再关旧窗口。

4. 配置 UFW 防火墙

默认拒绝一切入站,只放行必要的端口:

ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp   # 你的 SSH 端口
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

UFW 的详细配置方法参考 VPS 防火墙配置指南:UFW 完整教程

5. 安装 Fail2ban 防暴力破解

Fail2ban 读日志,自动封禁多次登录失败的 IP:

apt install fail2ban
cat > /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 3600
findtime = 600
EOF
systemctl restart fail2ban

Fail2ban 的完整配置参考 Fail2ban 暴力破解防护完整配置指南

6. 配置自动备份

加固做得再好也可能翻车。数据库和重要配置文件必须自动备份到异地:

# 数据库示例
mysqldump -u root -p --all-databases > /backup/db_$(date +%F).sql
# 文件示例
tar czf /backup/www_$(date +%F).tar.gz /var/www/

把备份脚本放进 crontab,每天跑一次。详细的备份脚本参考 VPS 自动备份配置完整指南

7. 其他安全习惯

  • 删除不用的软件和服务,减少攻击面
  • 定期检查用户账号:cat /etc/passwd
  • 查看登录记录:last -20lastb -20
  • 安装并配置 logwatch 或类似的日志汇总工具
  • 敏感目录设置严格权限:chmod 700 /home/*/.ssh

8. 一份快速加固清单

检查项 期望状态
系统更新 apt upgrade 已执行并启用自动更新
root 登录 PermitRootLogin no
密码登录 PasswordAuthentication no
防火墙 UFW 已启用,只放行必要端口
Fail2ban 已运行并监控 SSH
备份 数据库 + 文件定时备份到异地
日志 定期 review last / fail2ban 日志

更多服务器安全教程,请访问 fenij.com

常见问题

问:改了 SSH 端口会不会更安全?
答:改端口不能阻止定向攻击,但能挡住 90% 的自动化扫描,日志会干净很多。安全的关键还是禁用密码登录、用密钥。

问:UFW 和 iptables 用哪个?
答:UFW 是 iptables 的简化前端,适合新手。如果你要配复杂规则,直接写 iptables 或 nftables 更灵活。

问:自动更新会不会把系统搞坏?
答:unattended-upgrades 默认只安装安全更新,不升级大版本。生产环境可以先把更新策略设为只下载不安装,手动 review 后再装。

🔗 延伸阅读

给服务器账户设置强密码,可以用在线随机密码生成器

相关完整手册

系统化的排查与配置思路,建议顺手收藏这几篇完整手册: