I’m running a website that is getting a lot of bot traffic and found Cloudflare free rule tier to be a bit limiting. (5 custom rules with length limits)
Ive got subnets for major VPS providers to block and will run analysis against my traffic to build on these lists.
What do others do?
I’m contemplating my Cloudflared tunnel into Crowdsec to my app.
https://github.com/fail2ban/fail2ban
You can set
dbpurgeage
to30d
and pretty much just run it–or you can setupjail.conf
with abantime.factor
. Its appeal is that you basically can download it, enable it, and it just works for you. It depends on your environment, though. If you have incoming authorized requests from other services it might be a pain to configure, but I’ve never used anything easier to protect you from bad actors.I’ve used it on a machine before but given I am using a cloudflared container for ingress, can I route my traffic through a f2b container to the app? This might be ideal from a co fig perspective.
LLMs say yes but I’ll need to play around.
Yes, you just have to enable the built-in plugin for cloudflared: https://github.com/fail2ban/fail2ban/blob/master/config/action.d/cloudflare.conf
Ahhhmazing, I’ll set this up tonight. Really appreciate the help.
If you want to DIY something, I have a bash script that builds OpenResty with NAXSI from source. Most of the web apps I write anymore are actually in Lua, for OpenResty, maybe with an API written in something else. But I also help other members of my team deploy their Node and Python apps and stuff, and I always just park those behind OpenResty with NAXSI, just doing a standard nginx reverse proxy.
How easy is it to configure?
My goal is to download some lists from github and generate one big ban list to feed into the WAF but the community lists of Crowdsec might negate the need.
There’s a learning curve, but if you’re familiar with WAF’s it’s not hard.