====== fail2ban ====== ===== install ===== apt install fail2ban ===== filter ===== define new filter [Definition] failregex = ^ .+ /auth/token/v2 HTTP/1.[0-9]" 401 ignoreregex = test filter fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/giano-login.conf --print-all-matched ===== action ===== [Definition] actionstart = /usr/local/bin/telegram-send -g --format markdown "`uname -n`: [Fail2Ban] jail è stata avviata" actionstop = /usr/local/bin/telegram-send -g --format markdown "`uname -n`: [Fail2Ban] jail è stata fermata" actioncheck = actionban = /usr/local/bin/telegram-send -g --format markdown "`uname -n`: [Fail2Ban] IP è stato bannato dopo tentativi falliti dalla jail " actionunban = [Init] init = 'Fail2Ban Telegram plugins activated" ===== jail ===== [giano-login] enabled = true filter = giano-login port = http,https logpath = /var/log/nginx/*access*.log findtime = 60 bantime = 6000 maxretry = 3 action = %(action_)s telegram[name=GIANO] ===== test ===== test fail2ban-client -d restart service to apply filter and jail systemctl restart fail2ban ===== status ===== fail2ban-client status giano-login ===== unban ===== fail2ban-client set giano-login unbanip IPADDRESS ===== telegram action ===== pip install telegram-send create configuration file with token and chat id [telegram] chat_id = token = test (-g option to use /etc/telegram-send.con) telegram-send -g "hello, world"