fail2ban配合cloudflare cdn使用
Cloudflare 是一家全球最著名的 CDN 加速服务商,提供了免费和付费的网站加速和保护服务。即使是免费版,也提供了比较全面和强大的功能,非常不错。
通过使用 Cloudflare CDN 服务提供的全球节点,一方面可以提高网站响应速度和性能,节省源站资源;另一方面也可以保护站点抵御攻击,保证网站长期稳定在线。
fail2ban是一个开源工具, 它通过分析日志, 将不满足要求的访问(比如cc攻击、对网站进行扫描等)的ip获取到, 通过自带防火墙(iptables等)进行封禁.
问题一: 如何让fail2ban获取真实IP
想要通过fail2ban来封禁ip, 那么先要获取到用户(或黑客)的ip, 如果不进行处理, 那么大概率你获取到的是cloudflare请求你用的ip, 封禁这个ip是没有意义的…
我的服务架构是 cloudflare –> nginx –> 后端服务
在nginx上面配置
1 | server { |
后端也要配置打印在日志里的ip字段为 X-Real-IP
, 如果读取的是Nginx日志, 那配置一下Nginx的日志格式即可.
问题2: 封禁了用户ip, 但是请求是通过cloudflare请求过来的, 封禁没有效果
可以使用jail配置
1 | [vaultwarden] |
修改cloudflare 的action配置
/etc/fail2ban/action.d/cloudflare.conf
1 | cftoken = cloudflare全局key |
后续封禁是在cloudflare上封禁的, 可以在控制台查看到
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 杂烩饭!
评论