最近网站遇到一波CC攻击,导致服务器访问不稳定。从这多年建站的经验来看,网站遭受攻击是非常平常的事情,最开始还可能想着去处理一下,后来没有时间和精力就懒得管了。但是这次的攻击持续时间有点长,影响了网站的“正常”访问。
其实解决VPS网站小型的CC攻击的基本思路我在
一般来说,攻击者用的肉机有一半以上都来自国外,所以如果你的网站为中文网站的话,为了解除攻击给网站带来的访问困扰,此时可以直接拒绝国外的IP访问网站。
通过分析我们可以看到攻击者用的美国IP居多,我们也可以单独设置某个国家的IP不能访问。打开CloudFlare的防火墙。
这里就可以设置非国内IP用户不能访问了,CloudFlare的防火墙还提供了Cookie、IP地址、主机名等规则,你可以灵活选择。
一般来说CloudFlare设置为质询就可以了,当然你也可以选择直接阻止。
此时,我们在CloudFlare的防火墙日志中能看到已经阻止的IP了。
通过上面的操作,一般来说已经阻挡了一半以上的攻击力量了。此时,我们还需要进入服务器做进一步的设置:仅允许CloudFlare IP访问。
Nginx仅允许CloudFlare IP访问请参考:
想使用VPS的iptables防火墙仅允许CloudFlare IP访问,请参考:
有些服务器在开启CDN后获取到的IP会是CDN的IP,并不是真实用户的IP地址,此时我们需要对Nginx或者Apache做进一步的调整。参考:
原理是下载指定国家的IP段,然后将IP段添加到iptables规则当中,直接执行以下命令:
wget https://raw.githubusercontent.com/iiiiiii1/Block-IPs-from-countries/master/block-ips.sh chmod +x block-ips.sh ./block-ips.sh
然后会要你选择是封禁IP还是解封IP。
选择封禁IP后会让你输入国家代码,请到这里查看:http://www.ipdeny.com/ipblocks,例如美国就是输入us,确定好完成对整个US的IP封禁。
我们能否通过分析日志来确认恶意的访问请求呢?我们可以监控服务器日志,将请求出错的访问者 IP 放入一个 List 特别观察,在一段时间内如果没有太多的出错,我们就将其从列表中移除,否则,错误太多达到警戒值就调用 iptable 将其禁封。参考:
从使用体验来看,解决VPS网站小型的CC攻击最有效的方法就是接入CloudFlare开启五秒防护,利用CloudFlare自带的防火墙可以对攻击者的IP进行区别对待,从而最大限度地提高防御效果。
另外,防御攻击还有一个关键是主机商,像阿里云、腾讯云这类的云主机,一旦遭遇到攻击直接就是黑洞,根本就没有给站长施展“拳脚”的机会,黑洞24小时过了攻击者也“散场”了。
文章出自:挖站否 https://wzfou.com/vps-cc-fanghu/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
文章更新于: %s = human-readable time difference 上午2:30
查看评论
不知道国内 CF 有没有被墙的可能性,还有 CF 性能。另外推荐一个 Wordfence 插件,可以限制请求次数,挺好用的
如果cc攻击大的话,感觉这些php防护会直接导致死机。
网络上的闲人太多,红眼病的人也太多,无奈。。。。
其实不一定非得到最后一环(nginx)再拦截,在主机提供商提供的防火墙处拦截可以大大减轻机器的压力
小型VPS没有防火Q
https://cdn.wzfou.com/ 挂了?
已经恢复。
防是不可能防的,这辈子都不可能防得住的。
所以说小型攻击用软防,大型攻击用硬防
还是要提高配置,高防IP还是不错的。
攻击量不大。拉黑和屏蔽国家ip段最有效,有些CC好像能过CF的5秒盾,可以考虑国内直连、国外走CF,开5秒盾也不影响国内访问。也怕DDos攻击,直接把流量打没。
ddos一般来说是无解。
大部分攻击都是国外的IP,直接屏蔽国外的IP即可。
qi大大还是那个微信不~
是的,还是那个。