Ubuntu 22.04 单台 VPS 的基础安全初始化流程

本文记录一套 Ubuntu 22.04 单台 VPS 的基础安全初始化流程

结构采用:

先执行命令 → 再解释配置。

适用环境:

  • Ubuntu 22.04
  • root + 密码登录的 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/tcp

ufw allow 443/tcp

启用防火墙:

ufw enable

安装 Fail2Ban:

apt install -y fail2ban

编辑配置:

vim /etc/fail2ban/jail.local

写入配置:

sshd

enabled = true

port = ssh

logpath = %(sshd_log)s

maxretry = 5

findtime = 600

bantime = 3600

让配置生效:

systemctl restart fail2ban

systemctl enable fail2ban


二、验证

查看防火墙状态:

ufw status

查看 Fail2Ban 状态:

systemctl status fail2ban

查看 sshd jail:

fail2ban-client status sshd


三、UFW 防火墙说明

UFW(Uncomplicated Firewall)是 Ubuntu 推荐的防火墙管理工具,用于控制服务器端口访问。

查看状态:

ufw status

Ubuntu 默认策略:

ufw default deny incoming

ufw default allow outgoing

含义:

  • 拒绝所有进入服务器的连接
  • 允许服务器主动访问外网

可以通过查看确认:

ufw status verbose

如果策略被修改,可以执行:

ufw default deny incoming

ufw 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.log

SSH 登录日志

Failed password

表示登录失败记录

如果这个数字持续增加,说明服务器正在被暴力尝试登录。


六、Fail2Ban 常用命令

查看 jail 状态:

fail2ban-client status sshd

手动封禁 IP:

fail2ban-client set sshd banip 1.2.3.4

查看封禁 IP:

fail2ban-client status sshd

输出中的:

Banned IP list

就是当前封禁的 IP。

解封 IP:

fail2ban-client set sshd unbanip 1.2.3.4


七、总结

一台 VPS 的基础安全配置:

  1. 更新系统
  2. 配置防火墙(UFW)
  3. 安装 Fail2Ban
  4. 启用服务并验证

完成后服务器将具备:

  • 基础防火墙
  • SSH 防爆破
  • 基本安全策略
相关推荐
2401_853087881 天前
企业私有代码仓库建设:高可用、备份恢复与灾备方案复盘
敏捷开发·devops·源代码管理
淘矿人2 天前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
2401_853087883 天前
历史知识库平滑迁移:全量数据迁移、格式兼容与低切换成本方案
敏捷开发·devops
效能革命笔记3 天前
DevOps工具链选型推荐:聚焦本土适配与安全可控
人工智能·安全·devops
南宫乘风4 天前
用 Skills 驱动 AI 开发:Matt Pocock 工作流在 DevOps 场景里的落地实践
devops·skills
love530love4 天前
ComfyUI:为什么说它是 AIGC 应用层面的集大成者?
人工智能·pytorch·windows·aigc·devops·comfyui·extensions
小程故事多_805 天前
AI重构DevOps,智能增强而非替代,人始终是最终决策者
人工智能·重构·devops
云达闲人5 天前
搭建DevOps企业级仿真实验环境:012容器运行时 containerd 详解
运维·kubernetes·containerd·devops·proxmox ve·容器运行时·容器部署
csdn小瓯6 天前
三层监控系统设计:从API日志到DevOps健康检查
运维·devops
Azure DevOps7 天前
在Azure DevOps Server中实现用户端原地址透传(X-Forward-For)
运维·microsoft·azure·devops