Skip to content

Instantly share code, notes, and snippets.

@acundari
Last active December 6, 2022 09:41
Show Gist options
  • Star 28 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save acundari/9bdcf2ba0c0f8a4bf59a21d06da35612 to your computer and use it in GitHub Desktop.
Save acundari/9bdcf2ba0c0f8a4bf59a21d06da35612 to your computer and use it in GitHub Desktop.
Traefik fail2ban
# /etc/fail2ban/filter.d/traefik-auth.conf
[Definition]
failregex = ^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+\" 401 .+$
# /etc/fail2ban/filter.d/traefik-botsearch.conf
[INCLUDES]
before = botsearch-common.conf
[Definition]
failregex = ^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) \/<block> \S+\" 404 .+$
# /etc/fail2ban/jail.d/traefik.conf
[traefik-auth]
enabled = true
logpath = %(traefik_access_log)s
port = http,https
[traefik-botsearch]
enabled = true
logpath = %(traefik_access_log)s
maxretry = 1
port = http,https
[traefik-badbots]
enabled = true
filter = apache-badbots
logpath = %(traefik_access_log)s
maxretry = 1
port = http,https
@datenfahrt
Copy link

i think, you have to define the key "traefik_access_log" in your paths-common.conf (or paths-debian.conf / Name may vary on your server OS) like (in the [DEFAULT] Section)

# traefik
traefik_access_log = /path/to/log/traefik/access.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment