1.
前置准备与目标定义
- 明确业务目标:需要承载的峰值并发、接受的最大攻击流量、RTO/RPO指标(恢复时间与数据丢失容忍度)。
- 确定责任人:列出网络、运维、安全负责人并指定应急联系人和联系方式。
- 准备环境与账号:供应商控制台、BGP/路由权限、DNS管理权限、SSH 密钥、工单渠道。
2.
IP资源与子网规划(可执行步骤)
- 获取IP:与香港地区高防服务商申请公网IP或弹性IP(建议预留/29或/28做NAT/漂移)。
- 子网划分:将IP按角色划分(负载均衡、应用、管理、备份、监控),例如:管理网段单独/vlan,后端服务使用私有网加SNAT。
- 文档化:在Excel或CMDB记录IP、用途、所属实例、谁负责、启用时间与到期时间。
3.
高防接入架构(BGP/Anycast)
- 使用BGP或Anycast:与高防供应商协商将你的IP通过BGP通告至其防护网络(供应商通常要求你提供ASN或使用其ASN)。
- Anycast优点:能把流量分散到多地节点,降低单点压力。缺点是状态同步复杂,需要在应用层做好会话粘性或会话恢复。
- 验证:通过traceroute/mtu检测验证路由方向;用tcpdump抓包确认流量先入防护机房再下发到主机。
4.
内部冗余与IP漂移(Keepalived/VRRP)
- 部署Keepalived示例:在两台或多台应用服务器上安装keepalived,配置虚拟IP(VIP)用于服务出口。示例配置关键项:priority、state、virtual_router_id、auth。
- 故障转移测试:停掉主节点的keepalived服务,观察VIP是否漂移;在切换时记录时间并调整priority和心跳间隔以平衡漂移速度与稳定性。
- 注意ARP/Gratuitous ARP:确保网络允许arp广播,或结合交换机静态MAC绑定策略。
5.
负载均衡与会话保持
- L4/L7选择:高防前放L4负载(TCP/UDP)可承受更高流量,应用侧做L7(Nginx/LVS)用于内容路由。
- 会话粘性:使用Nginx的ip_hash或基于cookie的粘性配置;在Anycast或多活架构下考虑无状态设计或外部会话存储(Redis、数据库)。
- 健康检查:配置LB健康检查(HTTP 200/UDP probe),在失败后自动剔除后端。
6.
防火墙与ACL精确化规则
- 白名单/黑名单:根据业务端口只开放必要端口(如80/443/22只允许管理IP),使用安全组或iptables限流。
- iptables示例:限制SYN速率与并发连接:iptables -A INPUT -p tcp --syn -m limit --limit 10/s -j ACCEPT;使用connlimit模块限制单IP并发。
- 防护策略测试:通过内网渗透和压测工具(wrk、ab)模拟合法流量,确认防火墙不会误杀。
7.
数据备份与异地容灾(RPO/RTO实现)
- 备份策略:数据库每天全备+小时差异备份(例如使用mysqldump或xtrabackup),静态资源同步到对象存储(OSS/ S3)。
- 自动化备份脚本:示例cron任务每天凌晨执行备份并rsync/ossutil上传到香港外的备份中心;保留策略按天/周/月分层保存。
- 恢复演练:定期在隔离环境做恢复演练,记录实际RTO并优化步骤。
8.
监控、报警与自动化故障切换
- 监控项:流量、连接数、响应时间、错误率、CPU/内存、磁盘I/O、BGP路由变化、黑洞事件。
- 告警策略:分级告警(P0/P1/P2),通过电话/短信/企业微信推送,设置自动抑制防止告警风暴。
- 自动化脚本:当监控检测到节点不可用时,触发自动将流量切到备用VIP或修改DNS(低TTL),并通过工单通知人工确认。
9.
故障排查与恢复流程(操作手册)
- 发现-确认-隔离-恢复:1) 发现异常并记录时间;2) 确认是攻击还是自身故障;3) 如果是攻击,启用高防清洗/策略;4) 隔离受影响实例并把流量切到备用。
- 快速清单(playbook):包含登录步骤、查看防护控制台、切换Keepalived优先级、调整DNS TTL、执行回滚脚本。把playbook放入版本控制并定期演练。
- 日志采集:集中化日志(ELK/Graylog),配合pcap保存攻击包用于后续分析和向ISP取证。
10.
演练与优化(持续改进)
- 演练频率:每季度一次桌面演练,每半年一次实战流量演练(在可控环境)。
- 指标回顾:每次演练后记录实际切换时间、数据丢失量、故障原因,并更新SOP和脚本。
- 成本与效果平衡:评估防护等级与成本,调整IP冗余、带宽保底与清洗阈值以达到性价比最优。
11.
问:部署香港高防服务器时,IP应如何与DNS策略配合以缩短故障切换时间?
问:在切换到备用IP或备用机房时如何快速生效?
答:建议使用低TTL(60-120秒)和支持API更改的DNS服务;平时将备用IP预先配置好并在发生故障时通过脚本自动修改A记录并触发CDN/Edge清理缓存。同时结合Keepalived/VRRP做L2漂移、BGP做路由切换,能最小化DNS切换带来的延迟。
12.
问:遭遇大流量DDoS时,如何在不中断业务的情况下恢复服务?
问:有哪些快速响应步骤?
答:第一步启用高防厂商流量清洗并请求建立黑洞/速率限制策略;第二步切换到多入口Anycast或备用线路分流;第三步通过WAF规则、ACL与速率限制精细化拦截恶意请求;第四步若必要,降低部分非核心功能(限流API)以保住核心业务。
13.
问:如何验证故障恢复方案已经足够可靠?
问:有哪些可量化的验证方法?
答:通过演练得到RTO与RPO数据,确认是否达到SLA;使用灾难恢复演练(包括断网、BGP撤销、主机宕机)检验切换时间;并用第三方监测从全球多个节点持续监测业务可达性,保证在真实事件中能按预期恢复。