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 防爆破
  • 基本安全策略
相关推荐
运维全栈笔记1 天前
零基础掌握Jenkins CI/CD:Java项目自动构建与部署全流程指南
git·servlet·ci/cd·gitee·自动化·jenkins·devops
程序员老邢1 天前
【重启日记】第五周复盘:持续突破高位,把 “平台期” 变成 “上升期”
java·运维·经验分享·ai·devops
云达闲人2 天前
搭建DevOps企业级仿真实验环境:003Proxmox 系统优化与国内源配置
运维·devops·服务器搭建·实验环境搭建·apt源配置·虚拟化运维·实验指南
云达闲人2 天前
搭建DevOps企业级仿真实验环境:002Proxmox 系统安装流程详解
运维·虚拟化·devops·kvm·proxmox·实验环境搭建·web管理
小江的记录本2 天前
【微服务与云原生架构】DevOps、CI/CD流水线、GitOps 系统性知识体系
分布式·后端·ci/cd·微服务·云原生·架构·devops
云达闲人2 天前
搭建DevOps企业级仿真实验环境:001Proxmox VE 8.x 系统介绍与安装准备
运维·devops·proxmox·idrac·实验环境搭建
Eine .2 天前
DevOps自动化发布系统搭建
运维·自动化·devops
龙智DevSecOps解决方案4 天前
Atlassian Rovo Agents技术指南:面向DevOps的AI工作流编排与落地实践
人工智能·atlassian·devops
极光1314 天前
DevOps学习
运维·学习·devops
魏波.5 天前
DevOps 双簧理论
devops