在拿到韩国VPS后,首要完成几项初始化安全配置以减少暴露面:1)更新系统与软件:apt update && apt upgrade 或 yum update;2)创建非root管理员账户并禁用root直接登录:adduser、usermod -aG sudo;编辑 /etc/ssh/sshd_config 将 PermitRootLogin no;3)设置强口令与定期修改策略(chage);4)关闭不必要的服务(systemctl disable/stop);5)启用时钟同步(chrony/ntp)与安全补丁自动安装(unattended-upgrades)。这些都是降低被扫描与被利用风险的基础。
示例命令(Debian/Ubuntu):
apt update && apt -y upgrade
adduser adminuser && usermod -aG sudo adminuser
编辑 /etc/ssh/sshd_config:PermitRootLogin no, PasswordAuthentication no(可选),重启 ssh:systemctl restart sshd。
推荐先从简单易用的 ufw 入手(Debian/Ubuntu),熟练后可转到 iptables 或 nftables 做更细粒度控制。基本思路为“默认拒绝,按需放行”。步骤:1)安装并重置规则:apt install ufw;2)设置默认策略:ufw default deny incoming; ufw default allow outgoing;3)放行必要端口:ufw allow 22/tcp(或更改后的SSH端口)、80、443;4)启用并检查:ufw enable; ufw status verbose。
使用iptables可写入状态防护和限制连接速率,例如阻止SYN泛滥或限制SSH速率:iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name SSH,并配合 --rcheck --seconds 60 --hitcount 6 拒绝频繁连接。若VPS提供商支持云防火墙或控制面板,优先在云端设置规则以防止被端口扫描暴露。
关键点在于减少可被攻击的入口与引入自动封禁机制:1)修改默认端口并限制登录来源(sshd_config 中更改 Port)。2)禁止密码登录,仅使用SSH密钥:设置 PasswordAuthentication no,将公钥写入 ~/.ssh/authorized_keys。3)使用 fail2ban 或 sshguard 自动封禁多次失败IP:apt install fail2ban,配置 /etc/fail2ban/jail.local 指定监控SSH。4)最小权限原则:为应用创建单独用户并使用 sudo 限权,避免将服务以 root 运行。
生成密钥:ssh-keygen -t ed25519,将公钥复制:ssh-copy-id -i ~/.ssh/id_ed25519.pub adminuser@your-ip。在 fail2ban 中设置 bantime 与 maxretry,例如 10 分钟封禁 5 次失败。注意:更改 SSH 端口前保持一条稳定会话以免被锁在外。
备份策略应满足可恢复性、频率与保留策略三要素。推荐混合方案:短期使用本地快照(VPS 控制面板或 LVM/ZFS 快照),中长期将备份异地存储(对象存储或另一个地域的VPS)。基础步骤:1)定期快照:利用云面板或 qemu/KVM 快照 API,每日或每6小时快照关键系统盘;2)文件/数据库备份:使用 rsync(增量)或 borg/restic(去重加密备份)同步到远端;3)数据库使用 mysqldump 或 Percona XtraBackup 做一致性备份;4)制定保留策略(例如:最近7天每日,最近4周每周,最近12月每月)。
示例 rsync cron(每天凌晨2点增量备份到远程主机):
0 2 * * * rsync -a --delete /var/www/ backupuser@backup.example.com:/backups/your-vps/
监控与应急恢复包含日志、告警与演练:1)部署轻量监控(Prometheus+Node Exporter 或商用监控)监控 CPU、内存、磁盘、网络流量与关键服务健康;2)集中日志(rsyslog/Fluentd/ELK)以便溯源与异常检测;3)配置告警(邮件/钉钉/Slack)在服务异常或流量突增时通知;4)制定恢复手册:包含快照恢复步骤、从远端备份恢复数据库与文件、DNS切换至备用服务器的流程;5)定期演练:每季度或每次重要发布后演练一次完整恢复流程,验证备份可用性与时效。
补充操作建议:启用并配置 自动快照+异地备份、为关键服务设置健康检查与自动重启(systemd 的 Restart=on-failure),并保持一份离线备份(例如下载到本地或存入受限访问的对象存储)。