首页
关于
留言
Search
1
红米 AX3000 (AX6) 路由器解锁 SSH 教程
6,676 阅读
2
网盘挂载程序sharelist美化教程
4,216 阅读
3
小米路由器 AX3600 开启SSH教程,官方固件即可安装 ShellClash开启科学上网
2,168 阅读
4
Oracle 甲骨文 ARM VPS 自动抢购脚本
1,819 阅读
5
编译带PassWall和SSR-plus插件的Openwrt系统
1,393 阅读
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
登录
Search
标签搜索
Java
Linux
Mysql
IDEA
Debian
Docker
Springboot
CentOS
Cloudflare
Maven
JavaScript
SQL
Wordpress
宝塔
Nginx
Windows
MacBook
JS
CSS
Openwrt
William
累计撰写
144
篇文章
累计收到
702
条评论
首页
栏目
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
页面
关于
留言
搜索到
2
篇与
的结果
2022-04-12
Cloudflare 常用API - 自动开启5秒盾 根据平均负载自动开盾
Cloudflare API 通过编程接口公开完整的 Cloudflare 功能。您可以使用 Cloudflare API 管理帐户设置、配置产品和开发应用程序。 via 管理 API 令牌和密钥;要使用API,实现5秒盾,根据平均负载自动开盾,都需要一下几个 Cloudflare注册邮箱,Global API Key,Zone ID等;查看 API 密钥官方文档:管理 API 令牌和密钥(请自行切换语言)修改安全级别设置正常情况下,我们要设置防火墙的安全等级,我们可以在 Cloudflare 的控制面板-防火墙-设置-安全级别进行设置,简单,直观;(如上图位置);为了应对不期而至的 CC 攻击,我们可能会需要一个自动提高安全级别的策略,把安全级别从 off 提高到 under_attack;官方示例Cloudflare 常用API - 自动开启5秒盾(off, essentially_off, low, medium, high, under_attack)完整官方文档,访问 https://api.cloudflare.com/ 搜索 Security Level settingcurl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/security_level" \ -H "X-Auth-Email: cloudflare 账号邮箱" \ -H "X-Auth-Key: 你的 API Key" \ -H "Content-Type: application/json" \ --data '{"value":"medium"}'现在,我们动手制作一个可执行Shell脚本,假设命名为:cf.security.sh:#!/bin/bash #cf.security.sh CFEMAIL="填写你的Cloudflare注册邮箱" CFAPIKEY="填写你的API Key" ZONEID="填写你的ZONEID" curl -X PATCH "https://api.cloudflare.com/client/v4/zones/${ZONEID}/settings/security_level" \ -H "X-Auth-Email: ${CFEMAIL}" \ -H "X-Auth-Key: ${CFAPIKEY}" \ -H "Content-Type: application/json" \ --data '{"value":"medium"}'其中,"value" 的值可设置为:off essentially_off low medium high under_attack执行 cf.security.sh,如果成功则返回如下提示:{"result":{"id":"security_level","value":"medium","modified_on":"2022-04-12T03:41:56.393080Z","editable":true},"success":true,"errors":[],"messages":[]}根据平均负载自动开盾以下仅做示例参考,还有很多判定方法值得考量(HTTP 502 错误数量,系统平均负载,异常的IP数量,HTTP 404 状态码数量(如果用 random 攻击的话等等))#!/bin/bash #cf.security.change.sh ##近期平均负载情况判定 usage=`echo $(cat /proc/loadavg | awk '{print $2}')` #获取当前系统平均负载值 max=2 #设置最大阈值 CFEMAIL="填写你的Cloudflare注册邮箱" CFAPIKEY="填写你的API Key" ZONEID="填写你的ZONEID" if [ `echo "$usage > $max"|bc` -eq 1 ]; then curl -X PATCH "https://api.cloudflare.com/client/v4/zones/${ZONEID}/settings/security_level" \ -H "X-Auth-Email: ${CFEMAIL}" \ -H "X-Auth-Key: ${CFAPIKEY}" \ -H "Content-Type: application/json" \ --data '{"value":"under_attack"}' fi在Linux系统中,uptime、w、top 等命令都会有系统平均负载 load average 的输出,那么什么是系统平均负载呢? 命令输出的最后内容表示在过去的 1、5、15 分钟内运行队列中的平均进程数量。上面的脚本意思是当最近5分钟系统负载大于2时,则修改 Cloudflare 防御等级为最高级(under_attack模式)最后,设置一下 Crontab 每分钟自动执行脚本即可(脚本每1分钟运行一次):脚本具体位置以你自己放置位置为准*/1 * * * * /root/cf.security.change.sh
2022年04月12日
153 阅读
0 评论
0 点赞
2021-01-15
Linux定时任务crontab将错误日志与正确输出写入到文件
不输出内容*/5 * * * * /root/XXXX.sh &>/dev/null 2>&1将正确和错误日志都输出到 /tmp/load.log*/1 * * * * /root/XXXX.sh > /tmp/load.log 2>&1 &只输出正确日志到 /tmp/load.log*/1 * * * * /root/XXXX.sh > /tmp/load.log // 上下效果等同 */1 * * * * /root/XXXX.sh 1>/tmp/load.log &只输出错误日志到 /tmp/load.log*/1 * * * * /root/XXXX.sh 2> /tmp/load.log & 名词解释在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout 和 标准错误stderr,三个系统文件的文件描述符分别为0,1和2。所以这里2>&1的意思就是将标准错误也输出到标准输出当中。>就相当于 1> 也就是重定向标准输出,不包括标准错误。通过2>&1,就将标准错误重定向到标准输出了(stderr已作为stdout的副本),那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。如果只想重定向标准错误到文件中,则可以使用2> file。
2021年01月15日
144 阅读
0 评论
3 点赞