summaryrefslogtreecommitdiffstats
path: root/system/services/fail2ban
diff options
context:
space:
mode:
Diffstat (limited to 'system/services/fail2ban')
-rw-r--r--system/services/fail2ban/default.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/system/services/fail2ban/default.nix b/system/services/fail2ban/default.nix
new file mode 100644
index 0000000..5aee097
--- /dev/null
+++ b/system/services/fail2ban/default.nix
@@ -0,0 +1,30 @@
+# vim: ts=2
+{...}: {
+ 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";
+ overalljails = true;
+ 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
+ '';
+ };
+ };
+}