简介
网站使用Cloudflare等CDN后可以有效隐藏源站IP,减少源站负载,自定义访问规则,防止DDOS攻击等。但CC攻击比DDOS攻击更为难以防御,特别是源站服务器配置不高的情况下,即使使用了Cloudflare,网站依旧可能被CC攻击导致服务器资源耗尽无法访问。Cloudflare通常可以自动缓解CC攻击,但仅限流量较大,PPS较高的情况,且从攻击开始到Cloudflare介入开始过滤流量通常需要1-2分钟的时间。对于性能较低的服务器此时已无力回天。
对此,当在源站负载较高时自动开启CC盾和验证码(手动强制介入防御)能有效缓解CC攻击所带来的损失。有小伙伴会问,为什么不一直开启强制防御呢?因为持续开启强制防御将会对访客造成极为不好的访问体验,也会影响一些API的正常工作,所以仅在需要时开启即可。
本文将给出脚本,仅需进行简单设置,即可在服务器负载过高(通常意味着遭到了CC攻击)时及时自动开启强制防御,缓解攻击。实测开启后能防御并过滤90%的CC攻击,极大减少损失。
项目地址
本项目Fork自jiuqi9997/autouam,站长自行添加了控制脚本,可以方便地安装、开启、关闭自动开盾程序以及查看程序状态。
使用教程
使用系统软件包管理器安装screen
软件包,如:
yum install screen -y
拉取控制脚本到任意你喜欢的目录。核心脚本将安装于同一目录下。
wget https://raw.githubusercontent.com/csh733/autouam/main/autouamcontrol.sh && bash autouamcontrol.sh
运行脚本并输入1下载自动开盾程序
安装完成后使用你喜欢的编辑器编辑同一目录下的uam.sh
文件,填入必要的内容后保存。
# --------------------------使用前修改以下配置值--------------------------
mode="load"
# 两种模式可选,一:load (负载) 二:cpu。建议选 load
challenge="1"
# 是否同时开启验证码质询 设为1即开启。建议开启
keeptime="180"
# ≈开盾最小时间,如60 则开盾60秒内负载降低不会关,60秒后关。建议值 180
interval="1"
# 检测间隔时间,默认0.5秒。建议设为1
email="눈_눈"
# CloudFlare 账号邮箱
api_key="눈_눈"
# CloudFlare API KEY
zone_id="눈_눈"
# 区域ID 在域名的概述页面获取
default_security_level="high"
# 默认安全等级 关闭UAM时将会把安全等级调整为它
check="6"
#自定义开盾阈值(非必需)。load模式建议设为CPU核心数 + 2,如4核则设为6。
#load模式填负载值 如:8 cpu模式填百分数值 如:90
# --------------------------下方无需修改--------------------------
Cloudflare登陆地址:dash.cloudflare.comCloudFlare
账号邮箱为登录时所用的邮箱,Cloudflare API Key
在下图一所示处获取。区域ID
为下图2所示处获取。其他配置可根据自己的实际情况修改。
设置完成确认无误后,再次运行脚本。选择2,启动自动开盾。
bash autouamcontrol.sh
启动成功后即可自由使用脚本的其他功能。
自动开盾功能菜单
By: Connor
URL: https://bitpd.com
1. 安装自动开盾
2. 启动自动开盾
3. 停止自动开盾
4. 显示自动开盾状态
0. 退出菜单
请选择:
安装完成并开启后系统将在达到设定条件时自动开启防护盾,及时拦截非法攻击,降低损失。
bash autouamcontrol.sh
即可
暂无评论内容