避免VPS网站的小型CC攻击方法-CloudFlare+Nginx+iptables(防火墙)

admin
admin
admin
86
文章
10
评论
2020年12月10日19:43:32
评论
68

最近网站遇到CC攻击,导致服务器访问不稳定。从经验来看,网站遭受攻击是非常平常的事情,最开始还可能想着去处理一下,后来没有时间和精力就懒得管了。但是这次的攻击持续时间有点长,影响了网站的“正常”访问。

当你真的得罪了行业“大佬”,只能说认倒霉,要么花钱搞高防IP,要么自己关机“清静”几天,毕竟DDos是一个世界性的难题。为了可以让VPS主机运行更加安全,我们应该提前做好防范工作,以避免在攻击到来产生更大的危害。

一、持续攻击可接入CloudFlare

如果你的VPS主机被人持续攻击且没有机会登入到VPS后台操作的话,这时最快的方法就将网站接入到CloudFlare中。
然后在CloudFlare右边开启攻击模式,此时任何访问你的网站的用户都会看到一个5秒提示,这个提示足以将机器人挡在外面了。

二、快速阻止国外IP访问网站

一般来说,攻击者用的肉机有一半以上都来自国外,所以如果你的网站为中文网站的话,为了解除攻击给网站带来的访问困扰,此时可以直接拒绝国外的IP访问网站。

通过分析我们可以看到攻击者用的美国IP居多,我们也可以单独设置某个国家的IP不能访问。打开CloudFlare的防火墙。

这里就可以设置非国内IP用户不能访问了,CloudFlare的防火墙还提供了Cookie、IP地址、主机名等规则,你可以灵活选择。

一般来说CloudFlare设置为质询就可以了,当然你也可以选择直接阻止。

此时,我们在CloudFlare的防火墙日志中能看到已经阻止的IP了。

三、仅允许CloudFlare IP访问

通过上面的操作,一般来说已经阻挡了一半以上的攻击力量了。此时,我们还需要进入服务器做进一步的设置:仅允许CloudFlare IP访问。

有些服务器在开启CDN后获取到的IP会是CDN的IP,并不是真实用户的IP地址,此时我们需要对Nginx或者Apache做进一步的调整。参考:

四、分析日志自动启用防火墙

3.1  一键屏蔽指定国家IP访问

  1. https://github.com/iiiiiii1/Block-IPs-from-countries

原理是下载指定国家的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。

避免VPS网站的小型CC攻击方法-CloudFlare+Nginx+iptables(防火墙)

选择封禁IP后会让你输入国家代码,请到这里查看:http://www.ipdeny.com/ipblocks,例如美国就是输入us,确定好完成对整个US的IP封禁。

避免VPS网站的小型CC攻击方法-CloudFlare+Nginx+iptables(防火墙)

2.3  使用脚本定时检测日志

我们能否通过分析日志来确认恶意的访问请求呢?我们可以监控服务器日志,将请求出错的访问者 IP 放入一个 List 特别观察,在一段时间内如果没有太多的出错,我们就将其从列表中移除,否则,错误太多达到警戒值就调用 iptable 将其禁封。

五、总结

从使用体验来看,解决VPS网站小型的CC攻击最有效的方法就是接入CloudFlare开启五秒防护,利用CloudFlare自带的防火墙可以对攻击者的IP进行区别对待,从而最大限度地提高防御效果。

另外,防御攻击还有一个关键是主机商,像阿里云、腾讯云这类的云主机,一旦遭遇到攻击直接就是黑洞,根本就没有给站长施展“拳脚”的机会,黑洞24小时过了攻击者也“散场”了。

文章出自:挖站否 版权所有。

继续阅读
admin
  • 本文由 发表于 2020年12月10日19:43:32
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: