1.
概述与前期准备
部署前准备:1) 确认VPS所在IP段与CN2链路属性(运营商提供文档)。2) 评估业务峰值带宽与突发流量基线并购买高防能力。3) 建立应急联系人与ISP、清洗厂商联络方式,并准备登录密钥与控制台权限。
2.
网络层(L3/L4)防护配置步骤
步骤:1) 启用TCP SYN Cookies:编辑 /etc/sysctl.conf 添加 net.ipv4.tcp_syncookies=1 并执行 sysctl -p。2) 调整conntrack:net.netfilter.nf_conntrack_max=131072,超时根据业务调整。3) 限制半开连接与并发连接:使用iptables示例规则(仅防护):iptables -N SYN_FLOOD; iptables -A INPUT -p tcp --syn -m limit --limit 25/s --limit-burst 100 -j ACCEPT; 后续按需reject。
3.
应用层(L7)防护实操指南
步骤:1) 在Nginx启用限速与连接限制:配置 limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s 与 limit_conn_zone $binary_remote_addr zone=addr:10m。2) 启用WAF(ModSecurity):安装modsecurity并加载OWASP CRS规则,保存rules并在测试模式下验证。3) 对登录、支付等关键接口增加验证码与二次校验。
4.
主机安全与入侵防护
步骤:1) 安装fail2ban并编写 jail.local,监控ssh、nginx-auth、php-fpm日志,设置 ban time=86400、maxretry=3。2) 强化SSH:更换默认端口、禁止密码登录、启用公钥和JumpHost。3) 最小化镜像、关闭不必要服务并配置自动更新与定期漏洞扫描。
5.
流量清洗与BGP策略协同
步骤:1) 与ISP或清洗厂商确认黑洞/清洗触发方式(邮件、API或BGP community)。2) 建立自动化脚本:当监控流量超阈值时通过API提交清洗工单并修改A/路由指向清洗CNAME或IP。3) 流量恢复后撤销清洗并验证会话完整性。
6.
监控告警与日志分析操作指南
步骤:1) 部署Prometheus+Grafana或云监控,监控端口流量、连接数、CPU/内存。2) 配置阈值告警(如连接数>阈值、流量突增30%以上),并在告警触发时自动执行预设脚本(限流、封IP、开清洗)。3) 保留长周期日志并定期做行为分析,提取异常IP/UA名单。
7.
常见攻击场景与逐步应对流程
举例流程:1) SYN/UDP泛洪:启用SYN Cookies、限速并向ISP申请黑洞或清洗。2) HTTP慢速/应用层攻击:启用Nginx rate limit、WAF自定义规则并临时增加缓存层(如页面缓存)。3) 验证并恢复服务:先做流量隔离,然后逐条放行正常IP并观察。
8.
演练与持续优化建议
步骤:1) 定期(季度)进行DDOS响应演练,包含清洗切换和回滚流程。2) 根据演练结果调整阈值、脚本和联系人列表。3) 建立变更控制记录:每次防护规则变更都要记录原因与生效时间以便回溯。
9.
问:在台湾VPS CN2上怎样快速判断是否遭到DDoS攻击?
答:监控指标触发为主:短时间内入口流量显著高于历史峰值、连接数和半开连接异常增长、业务响应延迟大幅上升。结合nginx/access日志和tcpdump抓包(仅做流量方向与大小统计)辅助判断,随后触发应急流程并联系清洗方。
10.
问:清洗完成后如何验证业务安全恢复?
答:先在受控流量下逐步放行业务流量:1) 解除清洗后验证核心页面响应、登录链路与交易链路在多个地域正常。2) 检查日志无异常访问模式与未授权请求。3) 观察24小时内是否有回流攻击并根据结果优化规则。
11.
问:有哪些日常可做的防护低成本措施?
答:定期更新系统与应用、启用SSH公钥登录、使用fail2ban、开启tcp_syncookies、配置Nginx限流与缓存、部署基础WAF规则并建立监控告警。这些措施成本低但能显著降低被攻击时的风险与影响。