凌晨两点,手机像疯了一样震动。客户在群里骂娘,说服务全瘫了。我顶着困意连上服务器,看到带宽曲线飙到2Gbps——完了,又是DDoS。那是我入行第三年,自以为见过世面,却第一次被按在地上摩擦。三个小时宕机,五万用户请求打水漂,老板差点把我钉在耻辱柱上。自那以后,我处理过十七次IP攻击,踩过所有新手该踩的坑。今天说点实在的:当你的IP被盯上时,别慌,照这个流程走。

先搞明白谁在打你
IP攻击分几种,但常见的不外乎三类。第一种是DDoS,像一群暴徒堵你家门,用垃圾流量冲垮带宽。我遇过最狠的一次是SYN洪水,每秒20万请求,把服务器CPU直接灌到100%。第二种端口扫描,好比小偷挨个拧你家门把手,找没锁的入口。去年有个客户被扫出Redis未授权访问,数据全被勒索比特币。第三种恶意访问,比如爬虫刷接口或者撞库登录,我见过一个电商API被刷掉十万优惠券——说实话,这活儿挺磨人。
为什么必须先断网?
新手常犯的错是急着分析日志,却放任攻击持续。我曾以为只是普通流量高峰,耽误了半小时,结果数据库连接池被占满,连备份脚本都跑不起来。现在我的第一反应永远是:拔网线或者切VLAN。物理隔离最彻底,但云服务器只能靠控制台操作。如果你用AWS或阿里云,提前把API密钥存本地,别等攻击来了才登录后台找密码。
三步救命法:断、拦、换
第一步:断网不是认输,是争取时间
立即执行:
# 如果是物理机,直接拔线
# 云服务器用API切断网络
aliyun ecs StopInstance --InstanceId your-instance-id
# 或者用VPC切换子网路由
别心疼业务中断,不断网损失更大。有次我手慢,让攻击持续了十分钟,结果恢复后发现MySQL被慢查询拖垮,又花了三小时索引重建。
第二步:防火墙是你的门禁系统
重新上线前必须配置防火墙。我习惯用iptables,虽然老派但够硬:
# 先封禁明显恶意IP段
iptables -I INPUT -s 123.123.0.0/16 -j DROP
# 限制单个IP连接数(防CC攻击)
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT
# 开放必要端口,其他全关
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS
iptables -P INPUT DROP # 默认拒绝所有
别忘了看日志!用tail -f /var/log/nginx/access.log找攻击模式。有次我发现User-Agent全是“Go-http-client”,果断封了整个ASN段。现在我用Fail2ban自动封IP,规则设得狠一点:五分钟内失败三次就禁一天。
第三步:换IP像搬家,得通知所有人
动态IP直接重启光猫,但服务器IP通常是静态的。在云平台申请新IP并绑定,但注意:DNS解析需要时间传播。我有次没等TTL过期就切流量,结果三分之一用户还访问老IP。
最好用CDN扛攻击,比如Cloudflare的Pro版能抗住500Gbps流量。免费版也行,但得调一下规则:
// 在Cloudflare Workers里过滤恶意请求
addEventListener('fetch', event => {
const url = new URL(event.request.url);
if (url.pathname.includes('wp-admin')) {
event.respondWith(new Response('Blocked', { status: 403 }));
}
})
我的踩坑实录:那场持续6小时的拉锯战
最惨痛教训来自2021年。攻击从下午开始,我以为是促销活动,开了个自动扩容就没管。半小时后监控报警,Nginx返回502错误。我居然先去重启服务而不是查流量——蠢透了!等发现是DDoS时,带宽成本已经飙到八千块。
后来用iptables封了三百个IP,但攻击换成慢速HTTP,每个连接保持几分钟才发一个包。最终解决方案是:启用云厂商的DDoS高防IP,每小时二百块,但确实扛住了。现在回想还心有余悸:早该用专业服务,自己硬刚纯属头铁。
别等挨打才买盾牌
IP攻击防大于治。我现在的做法:
- 监控必须做:用Prometheus盯带宽,设阈值报警(超过500Mbps就发短信)
- 定期安全审计:每季度扫一次端口,nmap一把梭:
nmap -sS -O your-server-ip - 基础设施冗余:备用的IP和服务器随时待命,DNS切个记录就能用
常见误区?有人说换IP就行,但对手可能早就盯上你的ASN段。我有次连换三次IP,每次十分钟内就被打挂。还有人说加带宽硬抗,但DDoS流量能大到拖垮整个机房——你真想和运营商拼财力?
说点人话
IP攻击像感冒,没法根治但能控制。关键是:平时穿暖(安全配置),发烧早吃药(快速响应)。别信那些银弹方案,我始终认为硬件防火墙优于软件方案(尽管有人反对),但云时代用服务商方案更划算。
最后说一句:断网不丢人,数据丢了才完蛋。备份!备份!备份!我有套脚本每天全量备份到异地,需要的话私信发你——或许我漏了什么,欢迎同行指正。


评论