云服务器的安全加固

买了云服务器,第一件事不是装软件,而是把安全基础打好

很多人拿到服务器就直接开始装宝塔、建网站,结果没多久就被扫描爆破(轻则跑满带宽,重则数据全丢)本文整理了一套适用于 Ubuntu Server 的安全加固流程,按步骤做完基本能挡住绝大多数自动化攻击

实验环境: Ubuntu Server 22.04.5 LTS(推荐版本,兼容性最好)

Ubuntu 的版本命名
├── 按"有没有图形界面"分
│   ├── Desktop 版  → 有桌面,给普通电脑用
│   └── Server 版   → 纯命令行,给服务器用
│
└── 按"支持周期"分
    ├── LTS 版      → 长期支持,5年维护
    └── 普通版      → 只维护9个月

镜像下载:点我跳转

第一步:更新系统软件包
sudo apt update && sudo apt upgrade -y
第二步:SSH 安全加固(最重要)
2.1 创建普通用户,禁止 root 直接登录
# 创建新用户
adduser yourname
# 加入 sudo 组
usermod -aG sudo yourname
2.2 配置 SSH 密钥登录

在你的 本地电脑(Windows)上生成密钥对:

ssh-keygen -t ed25519 -C "your-server"
# 默认生成在 C:\Users\你的用户名\.ssh\id_ed25519

把公钥上传到服务器:

# 在服务器上,切换到新用户
su - yourname
mkdir -p ~/.ssh && chmod 700 ~/.ssh
# 把你本地的 id_ed25519.pub 内容粘贴进来
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2.3 修改 SSH 配置
nano /etc/ssh/sshd_config

需要修改或确认的关键项:

Port 22222          # 改成非标准端口(减少扫描骚扰)
PermitRootLogin no  # 禁止 root 登录
PasswordAuthentication no  # 禁止密码登录(配好密钥后再改)
MaxAuthTries 3

改完重启 SSH(先不要断开当前连接,开一个新窗口测试):

systemctl restart sshd
第三步:配置防火墙 UFW
apt install ufw -y

# 先允许你的新 SSH 端口,再启用!顺序很重要
ufw allow 22222/tcp   # 替换成你设的端口
ufw allow 80/tcp      # 如果有 Web 服务
ufw allow 443/tcp

ufw enable
ufw status
第四步:安装 Fail2Ban(防爆破)
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

基础配置已经够用,它会自动监控 SSH 登录失败并封 IP

第五步:关闭不需要的服务
# 查看当前监听的端口
ss -tlnp
# 查看运行的服务
systemctl list-units --type=service --state=running

看到不需要的服务就 systemctl disable --now 服务名