本文记录的是作者上周在测试环境真实踩到的坑。为了让读者能复现并亲手体验防御思路,文末给出了一份最小可运行的 Go 脚本,支持本地压测 + 日志回放,方便对比加防护前后的差异。


攻击现场还原

周一凌晨 2:14,监控群里突然弹出告警:
GET /api/search?q=1%20AND%20SLEEP(3) 的 QPS 从 20 飙到 2 k,CPU 瞬间吃满。
第一反应当然是封 IP,可 ipset 刚把 1.2.3.4 拉黑,1.2.3.5 又顶了上来——典型的“小流量多源”打法,肉鸡池明显经过了精挑细选,单个源不超过 2 Mbps,云厂商默认的 5 Gbps 黑洞阈值完全不会触发。

为什么老招失灵了?

  1. 应用层碎片化
    攻击不再只是 SYN Flood,而是把 HTTP 请求拆成合法小片段:User-Agent 随机、Header 顺序随机、慢速发送,WAF 规则很难命中。

  2. IP 信誉失效
    肉鸡多来自家用光猫、IoT 摄像头,信誉库标记为“低风险”。传统“黑名单”思路根本跟不上注册速度。

  3. 链路级清洗位置尴尬
    云厂商给的 20 Gbps 高防带宽确实够大,但清洗中心离业务机房还有 100 ms 的物理距离,对登录、支付这类长尾接口依旧致命。

临时止血:把流量搬到“带脑子”的入口

我们没时间去改业务代码,于是把 DNS 切到一家号称“AI 云清洗”的厂商(后来查合同才知道背后是群联)。
核心就两步:

  • www.xxx.com 的 A 记录切到他们提供的 Anycast 高防 IP;
  • 在源站 Nginx 加一段 20 行的配置,只允许清洗中心的回源段访问 443 端口。
geo $deny {default 1;203.0.113.0/24 0;   # 清洗中心回源段
}
server {listen 443 ssl;if ($deny) { return 444; }
}

20 分钟后,攻击流量降到 200 QPS,CPU 回到 15%。
最惊喜的是,误杀率几乎为零:群联的 AI 模型把“搜索 + 翻页”这种低频但正常的 API 行为放行了,而脚本化、无 Cookie 的流量被直接丢进黑洞。

可复现的最小实验环境

如果你想在本地体验“有无 AI 清洗”的差距,可以用下面这段 Go 代码模拟慢速 HTTP Flood。脚本会尝试保持 1000 并发,每个连接 10 s 发一个字符,绕过大包检测。

package mainimport ("bufio""fmt""net""net/http""sync""time"
)const target = "http://127.0.0.1:8080/api/search?q=test"func slowRequest(wg *sync.WaitGroup) {defer wg.Done()conn, err := net.Dial("tcp", "127.0.0.1:8080")if err != nil {return}fmt.Fprintf(conn, "GET /api/search?q=test HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: slow\r\n\r\n")// 每 1 s 读一个字节,模拟慢速reader := bufio.NewReader(conn)for {_, err := reader.ReadByte()if err != nil {break}time.Sleep(time.Second)}
}func main() {var wg sync.WaitGroupfor i := 0; i < 1000; i++ {wg.Add(1)go slowRequest(&wg)}wg.Wait()
}

运行方式:

go run slow_flood.go
  • 先用 Nginx 裸奔测试,看 CPU 何时被打满;
  • 再接入任何带 AI 清洗的高防 IP(比如群联),对比 QPS、RT、机器负载三项指标即可。

小结

这次事故让我深刻体会到:攻击者在“合法协议”里藏刀,传统阈值 + 正则的防御思路已经跟不上节奏。把流量先送到一个会学习的边缘节点,让模型实时判断“人还是机器”,是目前最省事的过渡方案。至于要不要长期用那家厂商,还得看账单——但至少今晚,我们能安心回家睡觉了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93953.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93953.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93953.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode热题100--101. 对称二叉树--简单

1. 题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a;输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a;输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 2. 题解 /*** Definition for…

Pub/Sub是什么意思

Pub/Sub&#xff08;发布/订阅模式&#xff09;​​ 是一种异步消息通信范式&#xff0c;用于分布式系统中不同组件之间的解耦通信。它的核心思想是将消息的发送方&#xff08;发布者&#xff09;​​ 和接收方&#xff08;订阅者&#xff09;​​ 分离&#xff0c;通过一个中间…

Redisson3.14.1及之后连接阿里云redis代理模式,使用分布式锁:ERR unknown command ‘WAIT‘

文章目录一、问题背景1、问题原因2、阿里云对Redisson的支持二、解决方案1、继续使用Redisson3.14.0版本2、阿里云redis改为直连模式3、升级Redisson版本到 3.47.0一、问题背景 1、问题原因 阿里云Redis分直连和代理模式&#xff0c;其中代理模式是不支持WAIT命令的。 目前尝…

Linux: RAID(磁盘冗余阵列)配置全指南

Linux&#xff1a;RAID&#xff08;磁盘冗余阵列&#xff09;配置一、RAID 核心概念 RAID&#xff08;Redundant Array of Independent Disks&#xff0c;磁盘冗余阵列&#xff09;通过将多个物理磁盘组合为一个逻辑存储设备&#xff0c;实现提升读写性能、增强数据安全性或平衡…

《GPT-OSS 模型全解析:OpenAI 回归开源的 Mixture-of-Experts 之路》

目录 一、引言 二、GPT-OSS 模型简介 1. 版本与定位 2. 架构设计与技术亮点 2.1 Mixture-of-Experts&#xff08;MoE&#xff09;架构 2.2 高效推理机制与优化技术 2.3 模型对比 三、模型部署 1. 安装相关依赖 1.1 uv 安装 1.2 conda 安装 1.3 Transformers 运行 g…

【力扣热题100】双指针—— 接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 注意&#xff1a;答案中不可以包含重复的三元组。输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由…

51单片机拼接板(开发板积木)

一、前言 1.1 背景 读书那会儿&#xff08;2013年左右&#xff09;网上接了很多51单片机的设计。 当时有个痛点: 每张板子都是定制的&#xff0c;画板子&#xff0c;打样&#xff0c;写代码需要花费很多时间。 希望有一张板子&#xff0c;能够实现绝大多数单片机的功能&#xf…

使用segment-anything将目标检测label转换为语义分割label

使用segment-anything将目标检测label转换为语义分割label一、segment-anything简介二、segment-anything安装2.1安装方法2.2预训练模型下载三、将目标检测label转换为语义分割label3.1示例代码3.2代码说明一、segment-anything简介 segment-anything是facebookresearch团队开…

【unitrix数间混合计算】3.3 无符号整数标记trait(bin_unsigned.rs)

一、源码 这段代码是用 Rust 语言实现的一个类型级无符号二进制整数系统&#xff0c;通过类型系统在编译时表示和操作二进制数字。这是一种典型的"类型级编程"&#xff08;type-level programming&#xff09;技术。 use crate::number::{U0, Bin, Bit, BinInt};/// …

Python基本语法总结

1.类&#xff08;Class&#xff09;在Python中类&#xff08;Class&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心概念。1.1.类的基本定义最简单的类class Cat:"""这是一个最简单的类"""pass #创建实例 obj Cat()包含方法的类cl…

数据结构05(Java)-- ( 归并排序实质,归并排序扩展问题:小和问题)

前言 本文为本小白&#x1f92f;学习数据结构的笔记&#xff0c;将以算法题为导向&#xff0c;向大家更清晰的介绍数据结构相关知识&#xff08;算法题都出自&#x1f64c;B站马士兵教育——左老师的课程&#xff0c;讲的很好&#xff0c;对于想入门刷题的人很有帮助&#x1f4…

税务专业人员能力构建与发展路径指南

CDA数据分析师证书含金量高&#xff0c;适应了未来数字化经济和AI发展趋势&#xff0c;难度不高&#xff0c;行业认可度高&#xff0c;对于找工作很有帮助。一、税务专业人员的核心能力框架能力维度关键技能要素专业工具与方法论实践输出成果税务法规应用税种政策解读、法规更新…

Linux中rsync使用与inotify实时同步配置指南

Linux中rsync使用与inotify实时同步配置指南 一、rsync 简介 rsync&#xff08;Remote Sync&#xff09;是 Linux 系统下的一款高效数据镜像和备份工具&#xff0c;用于在本地或远程同步文件和目录。 支持本地复制、基于 SSH 的远程同步&#xff0c;以及使用自有 rsync 协议的同…

Unicode 字符串转 UTF-8 编码算法剖析

&#x1f4ca; Unicode 字符串转 UTF-8 编码算法剖析 ——从 C# char 到 C wchar_t 的编码转换原理 引用&#xff1a;UTF-8 编解码可视化分析 &#x1f50d; 1. 算法功能概述 该函数将 Unicode 字符串&#xff08;C# string&#xff09;转换为 UTF-8 编码的字节数组&#xf…

php的安全性到底怎么样

PHP作为一种流行的服务器端脚本语言&#xff0c;被广泛应用于Web开发。然而&#xff0c;由于PHP是一种较为灵活的语言&#xff0c;其安全性议题一直备受争议。在这篇文章中&#xff0c;我将从多个方面来讨论PHP的安全性&#xff0c;包括常见的安全漏洞、防范措施以及最佳实践。…

mapbox高阶,结合threejs(threebox)添加建筑glb模型,添加阴影效果,设置阴影颜色和透明度

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言 1.1 ☘️mapboxgl.Map 地图对象 1.2 ☘️mapboxgl.Map style属性 1.3 ☘️threebox loadObj加载模型 二、🍀…

SSM从入门到实战:1.6 Spring数据访问与JDBC模板

&#x1f44b; 大家好&#xff0c;我是 阿问学长&#xff01;专注于分享优质开源项目解析、毕业设计项目指导支持、幼小初高的教辅资料推荐等&#xff0c;欢迎关注交流&#xff01;&#x1f680; 06-Spring数据访问与JDBC模板 &#x1f4d6; 本文概述 本文是SSM框架系列Spri…

下一代IT服务管理:ITIL5会是什么样?

ITIL4发布到现在也就5年多时间&#xff0c;按照以往的更新节奏&#xff0c;ITIL5最早也得2027年之后。但现在IT发展的速度&#xff0c;跟以前完全不是一个量级。AI都快把我们的饭碗抢了&#xff08;开个玩笑&#xff09;&#xff0c;ITIL要是还按部就班&#xff0c;估计真要被时…

最新研究进展:2023-2025年神经机器翻译突破性成果

文章目录 一、模型架构创新 1.1 混合架构的崛起 1.2 多模态翻译的突破 1.3 大语言模型与NMT的深度融合(2023-2024) 1.4 非自回归翻译(NAT)的效率革命(2024) 二、数据与训练策略优化 2.1 低资源语言翻译的飞跃 2.2 动态数据增强技术 三、效率与部署 3.1 模型压缩与加速 3.…

OpenTelemetry WebSocket 监控终极方案:打通最后一公里

概述 OpenTelemetry&#xff0c;以下简称 OTEL&#xff0c;是由 CNCF 托管的“一站式可观测性标准”&#xff0c;把指标、链路、日志三大信号统一为单一 SDK/API&#xff0c;零侵入地采集从浏览器、移动端到后端、容器、云服务的全栈遥测数据&#xff0c;并支持 40 后端一键导…