{ ... }: { services.fail2ban = { enable = true; maxretry = 5; ignoreIP = [ # Whitelist some subnets "10.0.0.0/8" "172.16.0.0/12" "192.168.0.0/16" "matrix.org" "app.element.io" # don't ratelimit matrix users ]; bantime = "1h"; # Ban IPs for 1h at first. bantime-increment = { enable = true; # Enable increment of bantime after each violation multipliers = "1 2 4 8 16 32 64 128 256"; maxtime = "168h"; # Do not ban for more than 1 week overalljails = true; # Calculate the bantime based on all the violations }; }; }