Главная
Главная Руководства Asterisk › Защищаем asterisk от подбора паролей



Автор:

Статья опубликована: 2016-04-08 17:52:35
Последние правки: 2022-03-23 17:26:20

Защита asterisk от подбора паролей при помощи fail2ban.

  • Установка
    Debian
    # apt-get install fail2ban
    
    FreeBSD
    # cd /usr/ports/security/py-fail2ban
    # make install clean
    

  • Включаем логирование в asterisk
    Debian /etc/asterisk/logger.conf
    FreeBSD /usr/local/etc/asterisk/logger.conf
    messages => notice,warning,error,security
    

  • fail2ban jail
    Debian
    /etc/fail2ban/jail.conf, копируем файл с новым именем jail.local, дальше делаем изменения в нем:
    ищем внутри [asterisk-tcp] и [asterisk-udp] и в каждом меняем
    enabled = false
    
    на
    enabled = true
    

    FreeBSD
    /usr/local/etc/fail2ban/jail.conf, копируем файл с новым именем jail.local, дальше делаем изменения в нем:
    [asterisk]
    enabled = true
    port    = 5060,5061
    action  = bsf-ipfw[table=TABLE, tablearg=5060]
    
    TABLE - номер таблицы ipfw, куда записывать пойманных негодяев
    5060 - пометка, что негодяи были пойманы на взломе asterisk

  • Проверка
    Перезагружаем asterisk,fail2ban, затем проверяем:

    Лог-файл
    /var/log/fail2ban.log

    Статус jail
    Debian
    # fail2ban-client status asterisk-tcp
    Status for the jail: asterisk-tcp
    |- Filter
    |  |- Currently failed: 0
    |  |- Total failed:     0
    |  `- File list:        /var/log/asterisk/messages
    `- Actions
       |- Currently banned: 0
       |- Total banned:     0
       `- Banned IP list:
    
    и
    # fail2ban-client status asterisk-udp
    Status for the jail: asterisk-udp
    |- Filter
    |  |- Currently failed: 0
    |  |- Total failed:     0
    |  `- File list:        /var/log/asterisk/messages
    `- Actions
       |- Currently banned: 0
       |- Total banned:     0
       `- Banned IP list:
    
    FreeBSD
    # fail2ban-client status asterisk
    Status for the jail: asterisk
    |- Filter
    |  |- Currently failed: 0
    |  |- Total failed:     0
    |  `- File list:        /var/log/asterisk/messages
    `- Actions
       |- Currently banned: 0
       |- Total banned:     0
       `- Banned IP list:
    

  • Настройка
    Файл jail.local
    [DEFAULT]
    bantime = 2592000
    
    findtime = 600
    maxretry = 3
    
    bantime - время бана в секундах (2592000 - 30 суток)
    баним за maxretry неудачных попыток в течение findtime секунд


  • Разное
    ipfw, пример запрещающих правил для внешнего интерфейса (re0):
    /sbin/ipfw -q add deny log ip from me 5060,5061 to any out via re0
    /sbin/ipfw -q add deny log ip from any to me 5060,5061 in via re0
    
    ipfw, пример разрешающих правил для всех интерфейсов:
    /sbin/ipfw -q add allow ip from me 5060,5061 to any out
    /sbin/ipfw -q add alloe ip from any to me 5060,5061 in