Перейти к содержанию

Уведомление о бане IP в Telegram

Подготовка

В качестве скрипта который отправляет сообщение будет использоваться этот скрипт.

  1. Скачиваем его или копируем его содержимое в /usr/bin/bash_telegram_notify
  2. Даем права на выполнение: chmod +x /usr/bin/bash_telegram_notify

Создаем action

  1. Создаем фаил /etc/fail2ban/action.d/telegram.conf с следующим содержимым, меняя где нужно токен и пользователей:
    # Fail2Ban configuration file
    #
    # Author: kiriharu
    
    [INCLUDES]
    
    before = sendmail-common.conf
    
    [Definition]
    
    # bypass ban/unban for restored tickets
    norestored = 1
    actionban = /usr/bin/bash_telegram_notify -t botтокен_бота -u id_юзеров,через_запятую "[Fail2ban] Забанен <ip> после неудачных <failures> попыток по фильтру <name>."
    
    actionstart = /usr/bin/bash_telegram_notify -t botтокен_бота -u id_юзеров,через_запятую "[Fail2ban] Включен <name>"
    #
    actionstop = /usr/bin/bash_telegram_notify -t botтокен_бота -u id_юзеров,через_запятую "[Fail2ban] Выключен <name>"
    
    
    [Init]
    name = default
    

Добавление нашего ban action в jail

  1. Идем в /etc/fail2ban/jail.local и в [DEFAULT] прописываем banaction
    [DEFAULT]
    ignoreip = 127.0.0.1/8
    bantime  = 86400
    findtime = 600
    maxretry = 5
    
    banaction = iptables-allports
            telegram
    action = %(action_)s