CC防御指南:Debian 10配置verynginx

本文搬运自荒岛,侵删

[admonition icon=”info-circle” color=”green” title=”相关内容”]网站软防指南:自动拉黑恶意IP到Cloudflare防火墙[/admonition]

[admonition icon=”info-circle” color=”green” title=”相关内容”]网站基础防御指南[/admonition]

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:

[admonition icon=”info-circle” color=”green” title=”提示”]可以使用本站CC脚本测压[/admonition]

但此时的系统负载呢?除了Nginx要处理大量的TCP连接占用了少量CPU外,系统运行依旧流畅,网站打开不受影响:

这样基本可以防护大部分的CC攻击,但同时也有一些弊端:

1.搜索引擎的蜘蛛无法通过这个验证就无法抓取你的网站,对收录有影响。

2.各种RSS订阅和机器人,例如Telegram的那些订阅频道,应该是不能正常收到推送了。所以建议这个功能仅在被攻击的时候打开。

Leave a Reply