1.
概述:什么是香港高防与外港清洗
- 定义:
香港高防服务器指位于香港且具备抗DDoS能力的服务器;外港清洗是指把异常流量导出至境外或第三方清洗中心,进行深度分析/丢弃恶意包并把干净流量回传。
- 适用场景:当本地带宽或机房防护达不到攻击流量时,通过外港清洗可保护业务连续性。
2.
常见攻击类型与判定要点
- SYN Flood:大量半连接;特征为大量SYN、低ACK。判定:高SYN/second与SYN/ACK比异常。
- UDP/ICMP Flood:无连接、包速率高。判定:单一目的端口或源IP分布异常。
- HTTP/HTTPS应用层攻击:请求激增、带有相似User-Agent或URI。判定:服务器响应时间下降但带宽未必饱和。
- 放大型攻击(NTP/DNS/CLDAP):源IP伪造、应答放大。判定:目的端口为放大服务端口且应答包特征大。
3.
准备工作:启动清洗前的检查清单
- 联系提供商:确认清洗流程、SLA、清洗能力、紧急联系人。
- 准备IP与路由权限:清洗常用方法需要你能控制或委托公告/转发你的公网前缀(/24或更小视运营商要求)。
- 日志与备份:确保 syslog/nginx/apache 等日志能持续采集并有备份以便清洗时分析。
4.
本地应急措施(第一线快速缓解)
- 启用SYN Cookies:编辑 /etc/sysctl.conf 并执行 sysctl -w net.ipv4.tcp_syncookies=1。
- 限制单IP连接数(iptables示例):iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 100 -j DROP。
- 限速ICMP/UDP:iptables -A INPUT -p icmp -m limit --limit 1/second -j ACCEPT;其他丢弃。
- 临时黑洞:如果攻击目标仅为部分IP,可向网络提供商申请RTBH(黑洞路由)或在边界路由器做ip route null0。
5.
流量采集与分析步骤
- 抓包定位:tcpdump -n -s 0 -w attack.pcap port 80 or port 443 或 tcpdump -i eth0 'icmp or udp or tcp[tcpflags] & tcp-syn != 0'。
- 快速统计:使用 tshark 或 tcptrack 分辨高频源IP、目的端口:tshark -r attack.pcap -qz conv,ip。
- 识别指纹:统计User-Agent、URI、UDP payload长度等,用于清洗策略白/黑名单。
6.
外港清洗的两种主流接入方式与步骤
- A. BGP转发(公告或委托公告前缀)步骤:1) 与清洗商签约并分配清洗配置;2) 将涉及受保护IP的路由用社区标记(或直接委托ISP/清洗商公告);3) 清洗商将流量导入清洗池并返回净流。注意:需要你的AS或与ISP协调。
- B. 隧道转发(GRE/IPsec)步骤:1) 在边界路由器与清洗端建立GRE或IPsec隧道;2) 配置策略路由把异常流量匹配后的目的/源通过隧道转发;3) 清洗端回传净流或把净化后的流量发回你的边界IP。
7.
如何在路由器上配置GRE隧道(示例以Linux iproute2)
- 本端创建隧道:ip tunnel add gre1 mode gre local <你的边界IP> remote <清洗中心IP> ttl 255;ip link set gre1 up;ip addr add 10.0.0.2/30 dev gre1。
- 策略路由把攻击流量标记并走隧道:ip rule add from <受保护IP> lookup 100;ip route add default via 10.0.0.1 dev gre1 table 100。
- 注意:对BGP用户还需在BGP设备上配置相应的next-hop策略或社区。
8.
清洗策略制定与白名单管理
- 白名单:先梳理正常源IP(CDN、内网跳转、合作伙伴)并在清洗规则中允许。
- 指纹拦截:基于tcp标志、payload长度、UA等写规则(清洗中心通常支持L7 signature)。
- 阈值设置:根据正常峰值设定SYN/second、conn/s等阈值,逐步收紧以避免误伤。
9.
清洗后验证与回切流程
- 验证清洗效果:使用外网流量探针或第三方监测(如Pingdom、Updown)确认响应与丢包率。
- 回切步骤:当攻击结束,撤销BGP社区或关闭隧道,把流量恢复到正常路由。回切要窗口化,先部分回切观察再全部回切,避免回切瞬间再次触发攻击。
10.
长期防御与运维建议
- 部署多层防护:边界ACL、主机防火墙、Web应用防火墙(WAF)、CDN与清洗结合。
- 自动化告警:结合流量基线建立阈值告警,触发自动化脚本临时限流或联系清洗。
- 定期演练:与清洗商做演练,测试BGP公告、隧道切换与回切流程,保证团队熟练执行。
11.
问:遇到持续大流量攻击,先走本地清理还是直接外港清洗?
- 答:优先做本地快速缓解(SYN cookies、限速、黑洞)以争取时间,同时并行联系清洗商启用外港清洗。大流量且已超过本地带宽时应尽快将流量导到清洗中心;两者并行可以避免业务瞬断。
12.
问:没有BGP权限怎样实现外港清洗?
- 答:可采用隧道转发(GRE/IPsec)或通过ISP/数据中心代为公告前缀(委托公告)。隧道方式只需在边界设备建立到清洗端的隧道并配置策略路由,不需要自己做BGP。
13.
问:如何判断清洗是否造成误拦或误杀正常用户?
- 答:事前准备白名单并在清洗控制台或规则中优先放行;清洗期间通过日志比对(HTTP 4xx/5xx、响应延时)与外部监测点确认用户体验;回切时采用逐步回退策略并持续观察。
来源:技术详解 香港高防服务器外港清洗 常见攻击类型与应对手段