summary refs log tree commit diff stats
path: root/system/services/fail2ban/default.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--system/services/fail2ban/default.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/system/services/fail2ban/default.nix b/system/services/fail2ban/default.nix
index 5b5e9e7..5aee097 100644
--- a/system/services/fail2ban/default.nix
+++ b/system/services/fail2ban/default.nix
@@ -3,6 +3,13 @@
   services.fail2ban = {
     enable = true;
     maxretry = 2; # ban after 2 failures
+    daemonConfig = ''
+      [Definition]
+      logtarget = SYSLOG
+      socket    = /run/fail2ban/fail2ban.sock
+      pidfile   = /run/fail2ban/fail2ban.pid
+      dbfile    = /srv/fail2ban/fail2ban.sqlite3
+    '';
     bantime-increment = {
       enable = true;
       rndtime = "8m";
@@ -10,5 +17,14 @@
       multipliers = "2 4 16 128 256";
       maxtime = "72h";
     };
+    jails = {
+      dovecot = ''
+        # block IPs which failed to log-in
+        # aggressive mode add blocking for aborted connections
+        enabled = true
+        filter = dovecot[mode=aggressive]
+        maxretry = 2
+      '';
+    };
   };
 }