最近总是有个傻逼东西喜欢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的那些订阅频道,应该是不能正常收到推送了。
所以建议这个功能仅在被攻击的时候打开。
学会了新技能,我艹我自己
新技能 我艹我自己
哦no评论还需要审核
三连发我艹我自己
直接用cloudflare不就搞定了。
为什么我无法评论
Akismet认为这是垃圾评论,让你乱填邮箱!
这次邮箱十分正规
学会了新技能,我艹我自己
学会了新技能,我艹我自己
我在床上 饭在锅里 哥哥
土味情话
我的主站一天被C没C挂, 倒是跑了我整整1T的流量, 真是X了狗了… 后来用fail2ban限制每天最大请求数, 不知道是人家玩腻了还是真有效…
fail2ban可以防,有一定的作用,1T流量要是国内那些CDN的话,房子阔能就没了呀。。
centos系统能用嘛?用不惯Debian
可以用,但是方法可能没Debian这么简单,如果CentOS的源里面没有LUA模块的话就得自己手动编译一下。
233 新技能解锁