最近总是有个傻逼东西喜欢CC本博客,你说你个脑残玩意C个1次2次就算了吧,CNM每天来几次?(你妈一天要高潮几次?)我都懒得屌你知道吗?小老弟。。
你肯定能看到这篇文章,既然你妈这么喜欢高潮,麻烦让你妈今晚上把批洗好在床上等我。
言归正传,正好前两天也有人问我怎么有效防止CC攻击,这里介绍一个最简单/最有效的方法:使用verynginx。
Debian10首先最简单的方法用APT装一下Nginx和Git:
apt -y install nginx git
然后装一下这个LUA模块:
apt -y install libnginx-mod-http-lua
接下来拉取verynginx的项目文件/安装:
git clone https://github.com/alexazhou/VeryNginx.git cd VeryNginx python install.py install verynginx
然后编辑Nginx的主配置文件:
nano /etc/nginx/nginx.conf
引用下面的配置:
include /opt/verynginx/verynginx/nginx_conf/in_external.conf; # http配置块外部 include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf; # http配置块内部
编辑nginx默认站点配置文件:
nano /etc/nginx/sites-enabled/default
server配置块内部引用:
include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;
准确点说是每个server配置块内都需要引用in_server_block.conf,例如你在conf.d内还有几个vhost,那么这些都需要引用in_server_block.conf。
之后测试配置看有没有报错:
nginx -t
没有的话,重启一下Nginx就OK了:
systemctl restart nginx
访问服务器的公网IP+/verynginx/index.html (默认的管理员账号密码:verynginx)
接下来我自己测试下防护CC的能力,我测试的方法:
我临时开了一台小鸡并搭建了一个WordPress博客,并且没有开启verynginx的浏览器验证功能,接着我找了一堆代理IP+一个CC工具(支持UA随机变换)
然后我C我自己,从verynginx的WEB页面来看,TCP连接数700左右,每秒请求最高峰接近800r/s:
此时top看一下系统负载和进程使用资源的情况,33的负载,可以说这台小鸡已经挂逼了,网站肯定也是打不开的:
接下来我开启了verynginx的浏览器验证功能,使用JS的方式进行验证,因为有些高级点的CC工具支持Cookie:
配置好了之后别忘记了保存,要确保这里是Enable的状态:
接下来我再次C我自己(我C我自己),可以看到TCP连接数接近800:
但此时的系统负载呢?除了Nginx要处理大量的TCP连接占用了少量CPU外,系统运行依旧流畅,网站打开不受影响:
这样基本可以防护大部分的CC攻击,但同时也有一些弊端:
1.搜索引擎的蜘蛛无法通过这个验证就无法抓取你的网站,对收录有影响。
2.各种RSS订阅和机器人,例如Telegram的那些订阅频道,应该是不能正常收到推送了。
所以建议这个功能仅在被攻击的时候打开。
LALA
我什么都不卖了,告辞!
最新评论
5211314
能不能教我 一点不会