add fail2ban, so far only banning ssh connections

This commit is contained in:
Grimmauld 2023-12-29 11:47:44 +00:00
parent 29b14ef74e
commit 477bf5bf90
2 changed files with 20 additions and 0 deletions

19
fail2ban.nix Normal file
View file

@ -0,0 +1,19 @@
{ ... }: {
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
};
};
}

View file

@ -29,6 +29,7 @@
./puffer.nix ./puffer.nix
./gitea.nix ./gitea.nix
./letsencrypt.nix ./letsencrypt.nix
./fail2ban.nix
./email.nix ./email.nix
agenix.nixosModules.default agenix.nixosModules.default
nixos-mailserver.nixosModules.default nixos-mailserver.nixosModules.default