云服务器的安全加固
买了云服务器,第一件事不是装软件,而是把安全基础打好
很多人拿到服务器就直接开始装宝塔、建网站,结果没多久就被扫描爆破(轻则跑满带宽,重则数据全丢)本文整理了一套适用于 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 yourname2.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_keys2.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 服务名

