本文记录一套Ubuntu 22.04 单台 VPS 的基础安全初始化流程。结构采用先执行命令 → 再解释配置。适用环境Ubuntu 22.04root 密码登录的 VPS一、快速执行直接操作更新系统apt update apt upgrade -y安装常用工具apt install -y curl wget vim git unzip lrzsz安装防火墙apt install -y ufw放行 SSH非常重要避免把自己锁在服务器外ufw allow 22/tcp如果是 Web 服务器ufw allow 80/tcpufw allow 443/tcp启用防火墙ufw enable安装 Fail2Banapt install -y fail2ban编辑配置vim /etc/fail2ban/jail.local写入配置[sshd]enabled trueport sshlogpath %(sshd_log)smaxretry 5findtime 600bantime 3600让配置生效systemctl restart fail2bansystemctl enable fail2ban二、验证查看防火墙状态ufw status查看 Fail2Ban 状态systemctl status fail2ban查看 sshd jailfail2ban-client status sshd三、UFW 防火墙说明UFWUncomplicated Firewall是 Ubuntu 推荐的防火墙管理工具用于控制服务器端口访问。查看状态ufw statusUbuntu 默认策略ufw default deny incomingufw default allow outgoing含义拒绝所有进入服务器的连接允许服务器主动访问外网可以通过查看确认ufw status verbose如果策略被修改可以执行ufw default deny incomingufw default allow outgoing恢复默认策略。常用操作放开端口ufw allow 80放开指定协议端口ufw allow 8080/tcp删除规则ufw delete allow 8080/tcp禁止端口ufw deny 80查看规则ufw status numbered四、Fail2Ban 说明Fail2Ban 用于检测暴力破解并自动封禁恶意 IP。配置文件目录/etc/fail2ban/常见文件jail.conf默认配置不建议修改jail.local本地自定义配置加载顺序jail.conf → jail.local → jail.d/*.conf说明jail.local 在 jail.conf 默认配置基础上补充或覆盖相同配置项。五、查看是否有人爆破 SSH查看失败登录次数grep “Failed password” /var/log/auth.log | wc -l含义/var/log/auth.logSSH 登录日志Failed password表示登录失败记录如果这个数字持续增加说明服务器正在被暴力尝试登录。六、Fail2Ban 常用命令查看 jail 状态fail2ban-client status sshd手动封禁 IPfail2ban-client set sshd banip 1.2.3.4查看封禁 IPfail2ban-client status sshd输出中的Banned IP list就是当前封禁的 IP。解封 IPfail2ban-client set sshd unbanip 1.2.3.4七、总结一台 VPS 的基础安全配置更新系统配置防火墙UFW安装 Fail2Ban启用服务并验证完成后服务器将具备基础防火墙SSH 防爆破基本安全策略