1.
概述与准备工作
在开始前确认:拥有可管理的路由器或虚拟路由(FRR/Quagga/BIRD),与美国上游或IXP有BGP会话;有权限与上游签订黑洞/流量清洗策略;拿到AS号或使用提供商提供的子网。准备好监控(NetFlow/sFlow、tcpdump)与日志。
2.
网络与流量基线采集
步骤:1) 在边界路由器启用NetFlow/sFlow并收集7天正常/高峰流量样本;2) 使用tcpdump在服务器网口保存样本包,分析常见攻击谱系(SYN、UDP放大、HTTP floods);3) 建立告警阈值(例如每秒包量、并发TCP、UDP异常流量)。工具:nfdump、ntopng、Wireshark。
3.
建立可信的上游与黑洞通道
与上游运营商确认支持RTBH(Remote Triggered Black Hole)和BGP FlowSpec;约定黑洞community(例如:64512:666、或provider定义)。文件化流程:当触发黑洞时由哪个IP/AS下发、时长与解除流程。
4.
配置RTBH(Cisco示例)
步骤操作:1) 在边界路由器声明黑洞community允许上游转发;2) 本地示例配置(Cisco IOS):
router bgp 65000
neighbor 198.51.100.1 remote-as 65001
address-family ipv4
neighbor 198.51.100.1 activate
exit-address-family
若需发布黑洞:在路由条目上设置next-hop为NULL0并加上黑洞community或将特定/32公告给上游并告知上游sink。确保上游理解并接受该community。
5.
BGP FlowSpec用于精细丢弃/限速
FlowSpec可以基于五元组做细粒度阻断或速率限制。FRR/Quagga示例:
set policy route-map FLOWSPEC permit 10
match ip address prefix-list ATTACKERS
set community no-export
在支持FlowSpec的网络中,定义匹配规则(源IP/目标IP/端口/协议)并下发到ISP或边界PE做速率限制或丢弃。测试先在受控环境验证,不要误伤正常流量。
6.
Anycast部署与流量就近吸收
步骤:1) 在多个美国PoP配置相同的高防IP并对外做Anycast(每个PoP用相同前缀/32或/24);2) 通过BGP调优(local-preference、AS-path prepending)实现流量均衡;3) 在攻击时可把流量分散到多个清洗点降低单点压力。注意同步状态与会话粘性问题,最好配合应用层会话同步或全局负载均衡。
7.
路由策略与过滤规则(实际命令示例)
建立前缀列表、路由映射与社区策略避免被攻击放大或误路由:例(FRR):
ip prefix-list ALLOWED seq 5 permit 203.0.113.0/24
route-map EXPORT permit 10
match ip address prefix-list ALLOWED
set community 65000:100
对外只宣布必须的最小前缀,拒绝bogon与私有地址,启用RPKI/ROA验证,拒绝无效路由。
8.
RPKI/ROA与防劫持
发布ROA给RIR确保你的前缀有合法的ROA,边界路由器开启RPKI路由验证(valid只接受,invalid拒绝),防止BGP劫持导致服务中断或流量错误导向。
9.
服务器/主机层防护与TCP栈调优
在服务器端做基础硬化:启用SYN cookies、调整netfilter限速(iptables/nftables)示例:
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 200 -j DROP
iptables -A INPUT -p udp -m limit --limit 200/s -j ACCEPT
调整内核参数(/etc/sysctl.conf)如 net.ipv4.tcp_syncookies=1, tcp_max_syn_backlog, net.ipv4.ip_local_port_range 等。
10.
流量清洗中心接入与BGP failover
步骤:1) 与清洗服务建立BGP会话,约定何种community触发转发到清洗;2) 在阈值触发策略自动公告前缀给清洗中心或上游;3) 配置BGP优先级,当清洗完成恢复正常路由。确保健康检查链路与自动化脚本。
11.
监控、自动化与演练
建立自动化脚本:当监控检测到异常(如pps超过阈值)自动触发BGP公告或调用API请求上游黑洞;演练流程:每月一次模拟DDoS演练,验证上游响应、FlowSpec命中与回滚流程。同时设置事件记录与回溯。
12.
事故响应(操作手册)
步骤清单:1) 识别并快速分类攻击类型;2) 立刻启用最小影响的策略(精确FlowSpec);3) 若无法快速缓解,启用RTBH或将前缀引入清洗中心;4) 通知客户/团队并持续观察;5) 事件结束后做事后分析并调整规则库。
13.
合规与沟通要点
在美国运营注意遵守ISP/IXP规则,不滥用黑洞影响第三方。与上游/清洗提供商建立SLAs与联络链,记录每次黑洞的时间与影响用于后续审计。
14.
常见问题问答 — Q1
问:什么时候该用FlowSpec而不是RTBH?答:优先用FlowSpec做精确匹配(源端口、协议、五元组),避免丢弃大量合法流量;RTBH适用于无法快速精确识别的超大流量攻击,需要整块前缀牺牲可达性换取稳定。
15.
常见问题问答 — Q2
问:如何测试BGP黑洞与上游配合是否有效?答:在低峰时用受控流量生成器向目标发起模拟攻击并观察NetFlow/路由表变化,或临时在受控/测试前缀上发布黑洞,确认上游路由表与流量走向发生预期变化,再在生产中使用。
16.
常见问题问答 — Q3
问:Anycast部署会影响TCP会话稳定性吗?答:会有潜在影响,尤其是跨PoP切换后会话中断。解决方法:使用会话粘性、全球负载均衡(GSLB)或在应用层做状态同步与重试逻辑,Anycast更适合无状态或可容忍短连接中断的服务。
来源:通过路由策略与BGP优化提升美国服务器高防ip的抗攻击能力