Module 11 · Lesson 23 of 26

Tightening fail2ban and rate limits

Part of Mailcow: Self-Hosted Mail Server Mastery — Hardening, fail2ban, TLS, MTA-STS.

netfilter-mailcow ships sensible defaults but every public-facing mail server should review them.

UI: Access → Fail2ban tab. Tunables:

Setting Default Recommended
Max attempts 5 3
Find time (s) 600 600
Ban time (s) 1800 86400 (24 h)
Permanent ban after 5 short bans 3

Rate limit submission (per UI → Configuration → Rate limits):

Limit Sane value
Per mailbox / hour 200
Per domain / hour 2000
Per IP / hour (smtp) 100

Block prevention beats cleanup — once an IP hits a Spamhaus listing, you're delisting for weeks.

Sign in to keep track of what you have read.

Pulse · self-hosted sending

Own the infrastructure your pipeline depends on.

One install script on your own server. Pulse sets up the MTA, mailboxes, certificates and dashboard; you add domains and start sending.

# on a fresh Ubuntu server
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Also from us:Beat — monitoring that tells you the fixConsulting — $65/hr, no retainer