一个技术小白的真实经历:从发现数据被盗,到和AI助手一起建起五层防护
早上8点的日报,暴露了问题
事情要从7月11号早上说起。
那天我像往常一样,在飞书上收到了Hermes(我的AI助手)推送的每日服务器巡查报告。报告里各种数据都挺正常——服务器运行时间7周多,负载0.03,磁盘用了29G……
但有一行数据引起了我的注意:
API调用次数:8409次

等等,昨天不是才79次吗?怎么突然翻了快100倍?而且这是晚间的报告,正常根本不可能出现这么多的使用次数。
我第一反应是:是不是哪里出bug了?还是有人在搞事情?
我让Hermes去查一下服务器日志,看看这些请求到底是谁发的、在干什么。
几分钟后,Hermes回来了,语气不太乐观:
"发现了4个可疑IP,它们的行为模式非常像爬虫——高频轮询你的API接口,而且所有请求都返回了200状态码,说明它们通过了认证,数据已经被拿走了。"
说实话,看到这个消息的时候,我心里咯噔一下,因为我完全是一个技术小白,碰到这样的情况,确实不知道该怎么处理。
AI帮我查清了"敌人"是谁
Hermes开始深入分析。它登录服务器,翻nginx日志,查数据库,一步步还原了攻击的全貌。
第一个发现:爬虫不止一个,而是一群。
| 最狠的一个,一天刷了15000多次请求(现在统计的白天加晚上),专门盯着一个项目反复扒数据 | ||
第二个发现:更严重的问题——admin账号密码泄露了。
有一个IP(113.***.105)居然用admin账号登录了系统,拿到了管理员的Token。
第三个发现:为什么爬虫能通过认证?
我当时的系统,用户登录后拿到的Token有效期是7天。也就是说,只要爬虫搞到一个有效的Token,它能连续7天自由进出,想扒多少扒多少。
Hermes总结了一句话,让我印象很深:
"你的系统目前没有任何反爬措施,等于大门敞开着。"
第一轮反击:五层防护体系
发现问题后,我让Hermes马上动手加固。它立马给我建了一套五层防护体系:

第一层:直接封IP(iptables) 最粗暴也最有效——把确认的爬虫IP直接拉黑,让它们连服务器都连不上。
第二层:Nginx限流 在Nginx层面设置请求频率限制:
登录接口:每分钟最多3次(防暴力破解) 敏感API:每秒最多5次 普通API:每秒最多10次
第三层:fail2ban自动封禁 装了一个叫fail2ban的工具,它会自动监控日志,发现某个IP在10分钟内请求超过200次,就自动封它24小时。这样新来的爬虫也能被自动识别。
第四层:应用层限流中间件 在代码层面再加一道防线,基于用户ID和IP双重维度限流。就算爬虫换了IP,同一个账号短时间内请求太多也会被拦住。
第五层:缩短Token有效期 把Token从7天改成1天。这样就算Token泄露了,最多只能用1天。
改完这些,我让Hermes重启了所有服务,确认每层防护都生效了。
当时我还挺安心了,心想:这下应该稳了吧?
第二天就被打脸了
7月12号下午,我又让Hermes去检查一下情况。
结果……又发现了一个爬虫。
这次是一个叫 113. **.34 的IP,从早上9点到下午3点半,持续爬了6个半小时,总共3135次请求。

我当时就懵了:五层防护都上了,怎么还能进来?
Hermes开始排查,很快就找到了原因——这个爬虫很聪明。
它不像之前那些爬虫那样疯狂刷请求,而是故意放慢速度。我设的Nginx限流是每秒5次,它实际只跑0.13次/秒;fail2ban的阈值是10分钟200次,它10分钟只跑130次。
它刚好卡在所有阈值下面,一点一点地偷数据。
Hermes说了一句话,让我意识到问题的本质:
"我们之前的防御是针对'暴力型'爬虫设计的,但今天遇到的是'慢性子型'。它不是靠速度取胜,而是靠耐心。"
没有一劳永逸的防护,只有持续对抗。
持续迭代:从被动到主动
经过这两轮交手,我和Hermes一起总结了几条经验:
1. 云服务器上iptables不太靠谱 之前用iptables封的IP,有些规则根本没生效。后来改用Nginx的deny指令,在HTTP层面直接返回403,效果更好。
2. 阈值要动态调整 爬虫会试探你的底线,所以限流参数要根据实际流量不断调优。
3. 必须持续监控 光封一次是不够的,新爬虫随时可能出现。
于是Hermes帮我设置了定时监控报告——每天早上8点和傍晚6点,自动分析服务器日志,推送一份安全报告到飞书。报告里会列出服务器状态、访问量、异常IP预警这些信息。这样我每天都能看到有没有新的可疑IP出现。
写在最后:AI放大了我的边界
回头看这次经历,最让我感慨的不是"把爬虫防住了",而是我一个完全不懂技术的普通人,居然做到了这些事。
以前,我的能力边界就是我懂的东西。我不懂服务器安全,那这件事就超出了我的边界,只能找人帮忙或者花钱买服务。
但这次不一样。我不需要知道nginx怎么配、iptables怎么写、fail2ban怎么装——我只需要说"帮我查查"、"帮我封了"、"帮我建套防护"、"帮我设个监控"。AI听懂了我的意图,然后把事情办成了。
我的能力边界,不再是我懂什么,而是我能表达清楚我想要什么。
AI把我的一个想法("数据不对劲"),变成了一个完整的行动链条——分析、封禁、加固、监控、迭代。如果没有AI,这个想法就只是一个想法,我可能看看日报就算了。
AI不是替代了我,而是放大了我。 它让一个人做到了原本需要一整个团队才能做的事。我依然是那个不懂技术的产品人,但我现在可以管理服务器、建安全防护、持续监控——这些事,放在半年前我想都不敢想。
保持敬畏心。当然,也正因为AI的能力在不断强大, 同时他也会有错判和误判的情况,所以,我们对于他给的结果,也同样要有基本的判断力,多重验证,始终保持敬畏之心。
夜雨聆风