nigix显示真实ip,用Cloudflare自动拉黑恶意IP到防火墙,ubuntu-nigix版

2021年1月19日16:06:35 评论 478

小规模的CC攻击对于东灵君这样的贫穷小站长来说也是很恶心人的。没啥流量,但却搞的网站很慢。

从网上找来一个方法,Cloudflare自动拉黑恶意IP到防火墙和自动切换5秒盾脚本防CC攻击

https://wzfou.com/cloudflare-cc/

原理可行,只可惜自己试了代码跑不通。分析原因后发现这一版是给Apache写的。Nigix日志的时间格式比较另类,想改成我们习惯的 %Y-%m-%d %H:%M:%S形式比较麻烦。

本着能少改就少改的原则,我们不动日志格式,改改代码好了。

参考“将某个时间段的nginx的access.log日志进行收集”处理日志的方法

https://blog.csdn.net/weixin_43934170/article/details/106595967

代码修改为这样,上传可行,挺好用的。

输入验证码查看隐藏内容:

扫描二维码关注本站微信公众号 东灵聊动漫
或者在微信里搜索 东灵聊动漫
回复 钥匙 获取验证码
wechat 东灵聊动漫

鼓捣这段代码都踩了哪些坑?

1、时间要搞清楚

2、window编辑的脚本上传服务器后会出报错。务必保存为unix格式的。editplus可以在这里设置。

nigix显示真实ip,用Cloudflare自动拉黑恶意IP到防火墙,ubuntu-nigix版

3、cloudflare,先用challenge看看跑起来的效果比较好。一上来就block,可能会误伤真人。

题外话

此方法看似很鸡肋,因为瞬时CC攻击会导致服务器饱和,卡死,然后这个脚本就不会执行,也就不会把ip提交给防火墙。

但是如果此方法配合“负载均衡”,再弄一台服务器,对抗小规模的攻击就很有效了。对于买不起高防ip,又总遭人攻击的小网站来说,还是个相当廉价的解决方案。

nigix显示真实ip

上面那个程序执行后发现一个坑,宝塔面板安装nigix日志显示的是cloudflare代理的ip。自己屏蔽自己有卵用。需要nigix配置

cloudflare官方给了一个方法,试了一下不管用,可能这个版本太老了。

https://support.cloudflare.com/hc/en-us/articles/200170786-How-do-I-restore-original-visitor-IP-with-Nginx

万能百度google,nginx.conf中加上这两段代码就可以了。

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;

nigix显示真实ip,用Cloudflare自动拉黑恶意IP到防火墙,ubuntu-nigix版

改好了,保存,重新加载配置项。检查日志,好了。

这个需要开启realip模块

宝塔默认是装好的,检查一下装没装可以用这个语句

此处为隐藏的内容!
登录后方可查看!
/nginx -V

为了防止直连ip访问的,还可以设置仅允许Cloudflare CDN的IP访问(这个有风险,我没用)。

参考这个https://www.daniao.org/4221.html

如果我们仅允许Cloudflare CDN的IP访问网站,我们可以直接在nginx配置中将Cloudflare CDN的IP添加到允许的范围内。

  1. #直接加入
  2. # https://www.cloudflare.com/ips
  3. # IPv4
  4. allow 103.21.244.0/22;
  5. allow 103.22.200.0/22;
  6. allow 103.31.4.0/22;
  7. allow 104.16.0.0/12;
  8. allow 108.162.192.0/18;
  9. allow 131.0.72.0/22;
  10. allow 141.101.64.0/18;
  11. allow 162.158.0.0/15;
  12. allow 172.64.0.0/13;
  13. allow 173.245.48.0/20;
  14. allow 188.114.96.0/20;
  15. allow 190.93.240.0/20;
  16. allow 197.234.240.0/22;
  17. allow 198.41.128.0/17;
  18. # IPv6
  19. allow 2400:cb00::/32;
  20. allow 2405:8100::/32;
  21. allow 2405:b500::/32;
  22. allow 2606:4700::/32;
  23. allow 2803:f800::/32;
  24. allow 2c0f:f248::/32;
  25. allow 2a06:98c0::/29

添加了一堆被阻止的ip的cloudflare你还需要会批量把这些ip删掉,不容光吃不拉会死人。

cloudflare api 介绍文档
https://api.cloudflare.com/#user-properties

移除黑名单参考这篇文章https://stackoverflow.com/questions/35625592/removing-aged-ip-blocks-from-cloudflare-with-cloudflare-api-and-php

这里面有坑,直接用无效。怎么改呢?

输入验证码查看隐藏内容:

扫描二维码关注本站微信公众号 东灵聊动漫
或者在微信里搜索 东灵聊动漫
回复 钥匙 获取验证码
wechat 东灵聊动漫
  • 君子仁爱:取之有道。刷新有惊喜,看头像。
  • 原创不易,转载注明出处和链接:https://acg.92ylq.com/anime/cloudflar/
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: