阿什本高防服务器支撑美国业务时,DDoS清洗和源站回源如何分工
面向后端开发工程师,梳理美国业务接入高防后的流量牵引、清洗与回源分工,说明网络层与应用层攻击的处理边界,并给出源站隐藏、端口收敛、日志留存和回滚验证要点。

目标先定清楚:阿什本高防服务器不是用来替代后端业务代码、数据库权限和应用限流的,它在美国业务防护架构中的核心职责,是把公网入口前移到清洗层,让异常流量先被牵引、识别和过滤,再把符合规则的请求回源到真实业务服务器。
成立条件也要说明:防护峰值、清洗策略、是否支持GRE/IPIP隧道、端口转发、反向代理、日志导出等能力,需要以LHIDC当前产品说明和合同约定为准。技术方案上可以先按“清洗层负责抗压和过滤,源站负责业务处理和最小暴露”来划分,但不能把任何一层理解成百分百防御。
先看现有暴露:源站是否还在直接接收公网流量
很多美国业务接入阿什本高防服务器后,表面上DNS已经切到高防入口,但源站仍然存在以下暴露:
- 历史A记录、子域名或测试域名仍指向源站公网IP;
- 源站安全组仍开放80、443、22、3306、6379等端口到全网;
- 应用日志中无法区分真实访客IP、清洗节点IP和代理IP;
- 运维人员为了排障临时开放端口,事后没有回收;
- 回源链路没有健康检查,清洗层异常时无法判断是攻击、网络还是源站故障;
- 应用层接口没有限流,清洗层放行后仍可能被低速HTTP请求、登录撞库或API刷量拖垮。
判断一个架构是否已经进入“高防模式”,不要只看域名解析结果,而要看源站是否只能接受来自清洗层的流量。只要攻击者能绕过阿什本高防服务器直接访问源站IP,DDoS清洗就会被旁路,防护链路等于只完成了一半。
基本链路:流量牵引、DDoS清洗和源站回源各做什么
在美国业务中,常见链路可以抽象为:
- 用户访问业务域名;
- DNS将域名解析到阿什本高防服务器或高防入口地址;
- 攻击流量和正常流量一起进入清洗层;
- 清洗层根据协议、连接状态、包特征、访问频率等规则过滤异常流量;
- 清洗后的流量通过反向代理、端口转发、隧道或其他约定方式回源;
- 源站只处理已经过入口层的业务请求,并记录真实客户端信息和回源信息。
这里的“DDoS清洗”偏向入口安全能力,“源站回源”偏向业务交付能力。二者不是同一件事。
| 环节 | 主要职责 | 不应承担的职责 |
|---|---|---|
| 流量牵引 | 将公网访问引到高防入口,避免请求直接打到源站 | 不负责修复应用漏洞 |
| DDoS清洗 | 过滤网络层、传输层异常流量,按策略放行正常请求 | 不保证所有应用层恶意行为都能识别 |
| 回源链路 | 将清洗后的请求稳定送到源站,保留必要客户端信息 | 不应让源站重新暴露到公网 |
| 源站应用 | 处理业务逻辑、鉴权、限流、审计、数据读写 | 不应直接承受大规模公网攻击 |
如果阿什本高防服务器本身承载业务程序,回源可能表现为本机服务转发或本地端口监听;如果业务源站在另一台美国服务器、私有网络或其他机房,则回源方式要单独确认。不同产品对回源协议、端口数量、隧道方式和策略粒度的支持可能不同,采购前应明确写入需求。
区分网络层攻击和应用层攻击,避免把职责放错位置
后端开发工程师容易遇到一个误判:看到服务不可用,就认为“高防没有生效”。实际要先区分攻击类型。
网络层和传输层攻击优先交给清洗层
这类攻击通常目标是耗尽带宽、连接表或协议栈资源,例如:
- UDP Flood、ICMP Flood;
- SYN Flood、ACK Flood;
- 伪造源IP的反射放大流量;
- 非业务端口的大量探测和连接尝试;
- 异常包、畸形包、协议字段异常流量。
这类流量适合在阿什本高防服务器或清洗入口处理,因为源站没有必要看到它们。源站侧要做的是关闭无关端口、限制只接受清洗节点回源、保留连接日志用于溯源,而不是在应用代码里硬扛。
应用层攻击需要清洗层和源站共同处理
应用层攻击更像“看起来正常的请求”,例如:
- 大量访问动态接口、搜索接口、登录接口;
- 慢速HTTP连接占用工作进程;
- 撞库、短信接口刷量、优惠券接口刷量;
- 带合法Header但业务参数异常的请求;
- 针对某个API路径的高频调用。
这类攻击不一定表现为巨大流量,DDoS清洗可以承担部分HTTP规则、频率控制或特征拦截,但最终还要依赖源站的业务判断。源站应至少具备:
- 按用户、IP、Token、设备指纹或账号维度限流;
- 对登录、注册、下单、支付、短信等高价值接口单独设置阈值;
- 对异常参数、空User-Agent、异常Referer进行记录和灰度处理;
- 对缓存命中率低、数据库压力高的接口做降级;
- 对接口返回码、响应时间和队列积压建立监控。
一句话判断:网络层攻击先让清洗层挡住,应用层攻击不能只靠清洗层,源站必须能识别业务语义。
防护动作:把入口收敛到阿什本高防服务器
接入高防时,建议按“先入口、再源站、后应用”的顺序执行。不要一上来就改大量业务代码,否则排障时很难判断问题来自DNS、清洗策略、回源链路还是应用本身。
1. DNS牵引到高防入口
将正式业务域名解析到阿什本高防服务器提供的高防IP或接入地址。切换前建议降低TTL,便于回滚。历史解析记录要同步清理,尤其是:
- 裸域名和www域名;
- api、static、upload、admin等子域名;
- 测试环境遗留域名;
- 第三方平台中填写过的回调域名;
- 旧CDN、旧负载均衡或旧解析线路。
可以用以下命令核对当前解析结果:
dig +short example.com
dig +short www.example.com
dig +short api.example.com
如果不同地区解析结果不一致,需要结合DNS服务商的线路策略检查,不要只以本机查询结果为准。
2. 源站只允许清洗层回源
源站隐藏是整套架构的关键。源站公网IP一旦泄露,攻击者可能直接绕过DDoS清洗。
源站侧应遵循三个原则:
- 业务端口只允许清洗层回源IP访问;
- 管理端口只允许VPN、堡垒机或固定办公IP访问;
- 数据库、缓存、消息队列端口不要暴露到公网。
如果使用云防火墙、安全组或上游ACL,应优先在网络边界完成限制;本机防火墙作为第二道保护。具体IP段、回源节点地址和端口范围要以LHIDC交付信息为准,不要用示例地址直接上线。
3. 回源方式按业务形态选择
常见回源方式包括反向代理、端口转发、四层转发、隧道回源等。选择时不要只看“能不能通”,还要看是否能保留真实IP、是否便于日志审计、是否支持健康检查。
| 回源方式 | 适合场景 | 关注点 |
|---|---|---|
| 反向代理回源 | HTTP/HTTPS网站、API服务 | Header传递、真实IP、TLS终止位置 |
| 四层转发 | TCP业务、非HTTP协议 | 端口映射、连接保持、源IP获取方式 |
| 隧道回源 | 需要固定封装链路的场景 | 隧道稳定性、MTU、路由和合同支持 |
| 本机承载 | 高防服务器直接跑业务 | 本机资源隔离、进程防护、日志分区 |
如果是外贸官网、跨境电商API或企业网站,源站配置不一定要追求最大带宽,稳定的线路和足够的CPU、内存更重要。若源站还承载视频点播、文件下载或大流量网站,则需要单独评估美国大带宽服务器资源,例如LHIDC提供的美国AMD大带宽服务器配置为AMD EPYC 7402P、64G内存、960G NVMe Gen4,并有1G三网直连或3G国际带宽选项。若是API服务、企业网站等更关注访问质量的业务,可评估美国三网优化服务器,配置为AMD EPYC 4244P、32G DDR5-4800、960G NVMe SSD、100M CN2。注意,这些源站资源选择不能替代高防清洗能力,二者解决的问题不同。
配置核对:源站隐藏、端口控制和日志留存
源站隐藏核对项
源站隐藏不是把IP“不告诉别人”这么简单,而是要减少所有可被发现的路径。
建议逐项检查:
- DNS解析中不再出现源站公网IP;
- 历史子域名、灰度域名、测试域名不指向源站;
- 源站Web服务不直接响应公网Host请求;
- SSL证书、邮件头、错误页面不泄露源站地址;
- Git仓库、前端配置、APP配置包中没有写死源站IP;
- 第三方回调平台不直接调用源站IP;
- 监控探针、健康检查地址走高防入口或内网地址;
- 源站安全组默认拒绝公网访问,只放行清洗层和运维入口。
可以用授权范围内的扫描方式检查源站是否仍暴露端口。不要扫描不属于自己的地址段。
nmap -Pn -p 22,80,443,3306,6379 origin.example-ip
结果解释很简单:如果源站公网IP对任意来源开放80或443,就需要回到安全组、ACL或本机防火墙重新收敛。
端口控制核对项
端口控制应按“公网入口端口、回源端口、管理端口、内部端口”拆开。
- 公网入口:通常只开放业务需要的80、443或约定TCP/UDP端口;
- 回源端口:只接受清洗层来源,不对全网开放;
- 管理端口:SSH、RDP、面板端口不要放到公网,至少应限制固定IP或VPN;
- 内部端口:MySQL、Redis、Elasticsearch、RabbitMQ等只允许内网访问;
- 临时端口:排障后必须关闭,并记录变更原因和时间。
如果源站运行Nginx,并且前面有高防反向代理,建议明确真实IP传递方式。以下示例只展示思路,10.0.0.10应替换为清洗层或代理层的真实回源IP,配置前先备份原文件并确认Nginx版本支持相关指令。
http {
log_format main_ext '$remote_addr - $http_x_forwarded_for - $request_id '
'[$time_local] "$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'rt=$request_time uct=$upstream_connect_time '
'urt=$upstream_response_time';
set_real_ip_from 10.0.0.10;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/example.access.log main_ext;
error_log /var/log/nginx/example.error.log warn;
location / {
proxy_set_header Host $host;
proxy_set_header X-Request-ID $request_id;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
}
}
}
这里的重点不是照抄配置,而是形成三个能力:知道请求从哪里来、知道请求走到了哪个上游、知道慢请求卡在哪一段。
日志留存核对项
DDoS事件后的复盘,最怕只有“服务挂了”四个字。清洗层、回源层和源站应用都要留日志,而且时间要对齐。
建议至少保留以下信息:
- 清洗层:攻击开始和结束时间、攻击类型、被拦截流量特征、命中策略、回源状态;
- 入口代理:客户端IP、X-Forwarded-For、请求方法、URL、状态码、请求耗时、上游耗时;
- 源站应用:用户ID、接口名、业务错误码、数据库耗时、队列耗时、限流命中情况;
- 系统层:CPU、内存、连接数、磁盘IO、网络收发、进程重启记录;
- 变更记录:DNS切换、清洗策略调整、防火墙放行、应用发布、回滚操作。
日志留存周期应结合合规要求、业务风险和磁盘成本确定。高风险业务建议保留可用于排障和安全审计的最小必要日志,并注意脱敏处理,避免把密码、Token、身份证件等敏感字段写入明文日志。
验证:切换后不要只看首页能打开
接入阿什本高防服务器后,验证要覆盖解析、清洗入口、回源、源站隐藏和应用指标。建议按以下顺序做:
- 验证域名解析是否指向高防入口;
- 验证HTTP/HTTPS访问是否正常;
- 验证登录、下单、支付回调、文件上传等核心接口;
- 验证源站公网IP是否已无法被普通公网直接访问;
- 验证应用日志中能看到真实客户端IP或可追踪的代理链路;
- 验证清洗层日志和源站日志时间能对应;
- 验证高并发下数据库、缓存、队列是否出现瓶颈;
- 验证监控告警是否能区分入口异常、回源异常和应用异常。
可用以下命令检查HTTP响应头和回源链路表现:
curl -I https://example.com
curl -s -o /dev/null -w "status=%{http_code} time=%{time_total}\n" https://example.com/health
如果健康检查正常但业务接口慢,不要立即调整清洗策略,应先看源站应用日志、数据库慢查询、缓存命中率和队列堆积。很多“被打慢”的现象,实际是某个动态接口没有缓存或限流。
回滚:提前准备,不要在故障时临时想办法
安全切换必须有回滚方案。回滚不是简单把DNS切回源站,因为那可能重新暴露源站并引来攻击。更稳妥的做法是准备分级回退:
- 配置回滚:保留切换前的Nginx、应用网关、防火墙配置备份;
- DNS回滚:切换前降低TTL,记录原解析值和变更时间;
- 策略回滚:清洗规则调整前记录旧策略,异常时可恢复;
- 回源回滚:准备备用回源端口或备用源站,但仍限制来源;
- 应用回滚:发布前准备上一版本镜像或包,确认数据库变更可兼容;
- 运维回滚:临时放行管理端口时只放行固定IP,并设定关闭时间。
如果必须临时绕过高防入口访问源站排障,应使用固定办公IP、VPN或堡垒机白名单,并在排障结束后立即关闭。不要把“临时开放全网80/443”当成默认排障动作。
复查:用持续观察确认分工是否真正生效
清洗层和源站的分工是否合理,要看运行数据,而不是只看架构图。
上线后建议重点观察这些指标:
- 高防入口的攻击类型、拦截次数、回源连接数;
- 源站入站流量是否只来自清洗层或可信入口;
- 4xx、5xx状态码是否在攻击期间异常上升;
/login、/api/search、/checkout等关键接口是否被集中访问;- Nginx或应用网关的上游响应时间是否升高;
- 数据库慢查询、锁等待、连接池耗尽是否增加;
- 源站CPU、内存、连接数是否与入口流量变化匹配;
- 是否出现新的直连源站访问记录。
一次有效的加固,应该能得到这样的验证结果:公网用户只访问阿什本高防服务器入口,网络层异常流量优先在DDoS清洗层处理,源站只接收可信回源请求;当出现应用层异常访问时,源站应用、网关和日志能够给出可追踪证据。
采购和上线前,建议把以下内容写入内部检查单:防护能力以当前产品和合同为准,回源方式提前确认,源站IP不直接暴露,管理端口不向全网开放,日志字段可用于关联清洗层和源站事件。这样阿什本高防服务器在美国业务中承担的是清晰的入口防护职责,源站也能保持可控、可回滚、可复查的运行状态。