VPS 指南

保护您的 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_keys
systemctl 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 sshd

6. 保持系统更新

级别:必要

安全更新修复已知漏洞。严格的更新政策是必不可少的。

# 手动更新
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 证书

需要帮助保护您的 VPS 吗?

我们的专家团队可以为您审核和配置服务器。 请联系我们获取个性化报价。