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 防爆破
  • 基本安全策略
相关推荐
牛奶咖啡1321 小时前
DevOps自动化运维实践_ansible-playbook的使用
运维·自动化·ansible·devops·playbook·playbook模块及其示例
q_30238195563 天前
告别kubectl命令地狱!MCP-K8s让AI成为你的智能运维助手
运维·人工智能·语言模型·chatgpt·kubernetes·文心一言·devops
信创DevOps先锋5 天前
Gitee:中国DevOps生态的数字化转型引擎
运维·gitee·devops
信创DevOps先锋5 天前
中国企业DevOps工具链选型趋势:本土化与安全可控成核心指标
运维·安全·devops
智能运维指南5 天前
嘉为蓝鲸 DevOps 平台与 AI 技术结合:推动数字化转型的行业标杆
运维·人工智能·devops
信创DevOps先锋5 天前
中国DevOps工具链选型指南:本土化与安全合规成企业数字化转型关键
运维·安全·devops
信创DevOps先锋6 天前
本土化DevOps突围战:Gitee如何重构企业研效基因
重构·gitee·devops
Luke~6 天前
已上架阿里云计算巢!Loki AI 事故分析引擎正式开放一键部署,帮 SRE 快速完成故障复盘
人工智能·阿里云·云计算·loki·devops·aiops·sre
信创DevOps先锋7 天前
Gitee DevOps:国产化研发体系的破局者与赋能者
运维·安全·devops
研发小能8 天前
AI 助力 DevOps 智能化:提升企业研发效能的革命性变革
devops