1. 环境准备与初始检查
a) 登录:使用安全的终端(如 macOS/Linux 的 Terminal 或 Windows 的 MobaXterm),ssh root@IP。
b) 更新系统:Ubuntu: sudo apt update && sudo apt -y upgrade;CentOS: sudo yum -y update。
c) 检查供应商高防配置:在云控制台确认已启用“高防IP/高防节点/清洗阈值”等,并记录公网IP与清洗阈值。
2. 创建管理账号与SSH密钥认证
a) 新建用户:sudo adduser deploy && sudo usermod -aG sudo deploy。
b) 在本地生成密钥:ssh-keygen -t ed25519 -C "deploy_key";将公钥内容追加到服务器:sudo mkdir -p /home/deploy/.ssh && sudo sh -c 'cat >> /home/deploy/.ssh/authorized_keys'。
c) 禁用root登录:编辑 /etc/ssh/sshd_config,把 PermitRootLogin no、PasswordAuthentication no,重启 sshd:sudo systemctl restart sshd。
3. 基础系统加固(防火墙与内核参数)
a) 开启防火墙:Ubuntu 使用 UFW:sudo ufw default deny incoming; sudo ufw allow 22/tcp; sudo ufw allow 80,443/tcp; sudo ufw enable。
b) iptables 限制:示例限速 SSH:sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set;sudo iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 6 -j DROP。保存规则:iptables-save >/etc/iptables.rules。
c) 开启 SYN Cookies:sudo sysctl -w net.ipv4.tcp_syncookies=1 并写入 /etc/sysctl.conf。
4. 安装并配置防爆破/入侵防御
a) Fail2Ban(推荐 Ubuntu/CentOS):sudo apt install fail2ban 或 sudo yum install fail2ban。创建 /etc/fail2ban/jail.local 示例加固 SSH、nginx-proxy 等,设置 bantime、findtime、maxretry。启动并查看状态:sudo systemctl enable --now fail2ban && sudo fail2ban-client status。
b) 安装 rkhunter 和 chkrootkit 做基础检测:sudo apt install rkhunter chkrootkit,定期运行 rkhunter --check。
c) 部署 Web WAF:可以使用 ModSecurity + nginx 或选择云WAF(建议云厂商一键开启),在 nginx 上测试规则并观察误报。
5. 应用层抗DDoS与限流配置
a) Nginx 限流:在 server 或 location 中加入 limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;并在 location 使用 limit_req zone=one burst=10 nodelay。
b) TCP 层限速:使用 connlimit 模块限制每IP并发连接:iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP(按需调整)。
c) 启用云提供的清洗/黑白名单、DNS 黑洞策略,并测试切换到清洗 IP 的效果。
6. 备份总体策略与保留规则
a) 备份三要素:快照(provider)、文件增量(rsync/rdiff-backup)、数据库备份(mysqldump/binlog)。制定 RPO(可接受的数据丢失)与 RTO(可接受的恢复时间)。
b) 保留策略示例:7日内每日一份、30日内每周一份、12个月内每月一份;快照与异地副本分开保管并加密。
7. 具体备份实现与自动化步骤
a) 快照:在云控制台使用“创建磁盘快照”,或通过 API 调用;建议在低峰期并先停止服务或冷备。
b) 文件级增量(rsync):在备份服务器上执行:rsync -aAX --delete --link-dest=/backup/daily.0 /var/www/ /backup/daily.1;用 cron 每天执行并 rotate 硬链接实现增量。示例 cron:0 2 * * * /usr/bin/rsync ...。
c) 数据库:mysqldump -u root -p --single-transaction --quick --lock-tables=false mydb > /backup/mysql/mydb-$(date +%F).sql;并推送到远端备份机或对象存储(aws s3/oss)并加密:gpg -c file。
8. 恢复演练与监控告警
a) 恢复步骤演练:1) 使用快照还原磁盘并挂载;2) rsync 反向同步到目标路径:rsync -a /backup/latest/ /var/www/;3) 恢复数据库:mysql -u root -p mydb < dump.sql。记录耗时并优化。
b) 监控与告警:部署 Prometheus + node_exporter 或使用云监控,设置流量/请求/CPU/磁盘阈值告警并配置告警接收(邮件/钉钉/Slack)。
问:台湾VPS在遭受大流量DDoS时,首要应对步骤是什么?
答:第一时间开启云厂商的高防清洗或切换到已配置清洗的高防IP;同时在控制台临时提高清洗阈值或启用黑洞/白名单策略,并在主机上临时加强 iptables 限速与 nginx 限流,保障控制面可用。
问:如何保证备份数据安全且可用?
答:备份数据应加密(如 gpg),存放至少两地(本地+异地对象存储),设置自动化校验(定期校验 md5 或尝试恢复小样本),并对备份脚本与凭证做权限限制与轮换。
问:如何定期验证安全加固和备份策略有效性?
答:建立季度或月度演练计划,包含一次完整的故障恢复演练、入侵响应演练与备份恢复测试;同时审计 fail2ban/防火墙规则与云防火墙策略并记录结果,持续改进。
来源:台湾vps云主机高防云空间支持的安全加固与备份方案详解