summaryrefslogtreecommitdiffstats
path: root/modules/fail2ban
diff options
context:
space:
mode:
Diffstat (limited to 'modules/fail2ban')
-rw-r--r--modules/fail2ban/files/filter/mailu.conf2
-rw-r--r--modules/fail2ban/files/jail/mailu.conf3
-rw-r--r--modules/fail2ban/manifests/filter.pp14
3 files changed, 19 insertions, 0 deletions
diff --git a/modules/fail2ban/files/filter/mailu.conf b/modules/fail2ban/files/filter/mailu.conf
new file mode 100644
index 0000000..b83feb3
--- /dev/null
+++ b/modules/fail2ban/files/filter/mailu.conf
@@ -0,0 +1,2 @@
+[Definition]
+failregex = client login failed: "Authentication credentials invalid" while in http auth state, client: <HOST>,
diff --git a/modules/fail2ban/files/jail/mailu.conf b/modules/fail2ban/files/jail/mailu.conf
new file mode 100644
index 0000000..83ae9d8
--- /dev/null
+++ b/modules/fail2ban/files/jail/mailu.conf
@@ -0,0 +1,3 @@
+[mailu]
+enabled = true
+backend = systemd
diff --git a/modules/fail2ban/manifests/filter.pp b/modules/fail2ban/manifests/filter.pp
new file mode 100644
index 0000000..192f276
--- /dev/null
+++ b/modules/fail2ban/manifests/filter.pp
@@ -0,0 +1,14 @@
+define fail2ban::filter($source=undef) {
+ include fail2ban
+
+ $_source = $source ? {
+ undef => "puppet:///modules/fail2ban/filter/${name}.conf",
+ default => $source,
+ }
+
+ file { "/etc/fail2ban/filter.d/${name}.conf":
+ source => $_source,
+ require => Package["fail2ban"],
+ notify => Service["fail2ban"];
+ }
+}