保护您的 VPS
最后更新 : 2026年1月1日
1. 使用公钥配置 SSH 访问
级别:必要
通过密码进行 SSH 访问是暴力破解攻击的主要目标。第一步措施是切换到公钥/私钥身份验证。
第 1 步 — 在本地机器上生成密钥对:
ssh-keygen -t ed25519 -C "votre@email.com"
# 按照说明操作并设置强密码短语第 2 步 — 将公钥复制到 VPS:
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@votre-ip-vps第 3 步 — 禁用密码身份验证:
nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keyssystemctl restart sshd⚠️ 在关闭当前会话之前,在新的终端中使用您的密钥测试连接,以避免被锁定。
2. 创建非 root 用户
级别:必要
以 root 身份工作会在受到入侵时暴露整个系统。创建具有 sudo 权限的专用用户。
# 创建用户
adduser admin_cloudstore
# 添加到 sudo 组
usermod -aG sudo admin_cloudstore
# 将 SSH 密钥复制到新账户
rsync --archive --chown=admin_cloudstore:admin_cloudstore ~/.ssh /home/admin_cloudstore💡 选择非通用的用户名(避免使用"admin"、"ubuntu"、"user")。自定义名称会使枚举攻击更加困难。
3. 更改 SSH 端口
级别:必要
22 端口是机器人首先针对的目标。将其更改为非标准端口可大幅减少日志中的噪音。
nano /etc/ssh/sshd_config
# 更改 Port 行:
Port 2222
# 选择 1024 到 65535 之间的端口
systemctl restart sshd📌 在重新启动 SSH 之前不要忘记在防火墙中打开此新端口,并更新您的连接命令: ssh -p 2222 user@ip
4. 配置 UFW 防火墙
级别:必要
UFW(Uncomplicated Firewall)是 Ubuntu/Debian 推荐的防火墙解决方案。应用最小权限原则:默认阻止所有,只打开必要的内容。
# 如果没有则安装 UFW
apt install ufw -y
# 默认策略:阻止所有传入
ufw default deny incoming
ufw default allow outgoing
# 允许新端口的 SSH
ufw allow 2222/tcp
# 如果托管网站,则允许 HTTP/HTTPS
ufw allow 80/tcp
ufw allow 443/tcp
# 启用防火墙
ufw enable
# 检查状态
ufw status verbose💡 如果您使用固定 IP 进行连接,则可以将 SSH 仅限制为该 IP: ufw allow from VOTRE_IP to any port 2222
5. 安装 Fail2Ban
级别:必要
Fail2Ban 监控系统日志并临时禁止执行过多失败身份验证尝试的 IP。
apt install fail2ban -y
# 创建本地配置
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
# 在 [DEFAULT] 中配置这些参数:
bantime = 3600 # 封禁持续时间(1 小时)
findtime = 600 # 观察窗口(10 分钟)
maxretry = 5 # 封禁前的尝试次数
# 配置 SSH 监狱:
[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
systemctl enable fail2ban && systemctl restart fail2ban
fail2ban-client status sshd6. 保持系统更新
级别:必要
安全更新修复已知漏洞。严格的更新政策是必不可少的。
# 手动更新
apt update && apt upgrade -y && apt autoremove -y
# 启用自动安全更新
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades💡 仅为安全补丁配置自动更新。对于主要更新(例如:新版 PHP、MySQL),请计划维护窗口。
7. 管理活动服务
级别:中级
每个活动服务都是潜在的入口。禁用所有不严格必要的服务。
# 列出活动服务
systemctl list-units --type=service --state=active
# 禁用不必要的服务(示例)
systemctl disable bluetooth.service
systemctl stop bluetooth.service
# 检查开放端口
ss -tuln- 在无头 VPS 上禁用桌面服务(cups、avahi-daemon)。
- 仅安装严格必要的软件。
- 定期使用
ss -tuln审计开放端口。
8. 建立备份策略
级别:中级
勒索软件和人为错误可以在几秒钟内终结您的服务。定期备份是不可协商的。
- 从您的 CLOUDSTORE.AFRICA 客户区启用自动快照
- 在第二个 VPS 或对象存储上配置异地备份
- 定期测试备份恢复(至少每季度一次)
- 应用 3-2-1 规则:3 份副本、2 种不同的介质、1 份异地
- 如果备份包含敏感数据,请加密备份
# 带压缩的 MySQL 备份
mysqldump --all-databases | gzip > /backup/mysql_$(date +%Y%m%d).sql.gz
# 同步到远程存储
rsync -avz --delete /var/www/ backup_user@backup-server:/backups/www/9. 监控您的 VPS
级别:中级
主动监控可以检测入侵、资源过载和异常行为。
# 安装 Netdata 进行实时监控
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
# 安装 logwatch 用于每日日志报告
apt install logwatch -y
logwatch --output mail --mailto votre@email.com --detail high- 监控 CPU、RAM 和磁盘使用情况。
- 在关键阈值上配置警报(CPU > 90%、磁盘 > 80%)。
- 定期查阅
/var/log/auth.log和/var/log/syslog。 - 使用您的 CLOUDSTORE.AFRICA 客户区中的集成监控。
10. 保护您的 Web 应用程序
级别:高级
如果您的 VPS 托管 Web 应用程序,请应用这些补充措施:
- 安装 SSL/TLS 证书(免费 Let's Encrypt 或通过 CLOUDSTORE.AFRICA 提供的商业 SSL)
- 配置从 HTTP 到 HTTPS 的重定向
- 启用 HTTP 安全标头(HSTS、X-Frame-Options、CSP、X-Content-Type-Options)
- 定期更新 WordPress、Joomla 和其他 CMS
- 在 Nginx/Apache 上安装 WAF(Web 应用程序防火墙),如 ModSecurity
- 在生产环境中禁用 PHP 错误显示(
display_errors = Off) - 对数据库使用强密码,并且不要将它们公开暴露
11. 快速安全检查清单
检查您是否已完成以下每个步骤:
- ✅ 通过公钥进行 SSH 身份验证(禁用密码)
- ✅ 非 root 用户账户用于管理
- ✅ SSH 端口已更改(不是 22)
- ✅ UFW 防火墙已激活并设置最少规则
- ✅ Fail2Ban 已安装并配置
- ✅ 系统已更新(自动安全更新)
- ✅ 已禁用不必要的服务
- ✅ 自动备份已激活并经过测试
- ✅ 监控已就位
- ✅ 为 Web 服务安装了 SSL 证书