Voipnotes
Услуги
  • 3CX Phone System
    • Купить IP АТС - 3CX Phone System
Ещё
    Задать вопрос
    +7 (499) 113-65-73
    Заказать звонок
    sale@voipnotes.ru
    г. Москва 2-й Михайловский проезд 9
    +7 (499) 113-65-73
    Заказать звонок
    Voipnotes
    Услуги
    • 3CX Phone System
      • Купить IP АТС - 3CX Phone System
      Voipnotes
      Услуги
      • 3CX Phone System
        • Купить IP АТС - 3CX Phone System
        Voipnotes
        Voipnotes
        • Услуги
          • Назад
          • Услуги
          • 3CX Phone System
            • Назад
            • 3CX Phone System
            • Купить IP АТС - 3CX Phone System
        • +7 (499) 113-65-73
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        • Главная
        • Блог
        • Настройка Fail2ban для Asterisk на CentOS

        Настройка Fail2ban для Asterisk на CentOS

        1 Июля 2015

        Установим Fail2ban.

        CentOS 6 32-Bit

        wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
        rpm -ivh epel-release-6-8.noarch.rpmyum install fail2ban python iptables
        CentOS 6 64-Bit

        wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
        rpm -ivh epel-release-6-8.noarch.rpm
        yum install fail2ban python iptables

        CentOS 7

        wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
        rpm -ivh epel-release-*.noarch.rpm
        yum install fail2ban-firewalld fail2ban-systemd
         

        Далее правим правила fail2ban для Asterisk:

        nano /etc/fail2ban/filter.d/asterisk.conf
        # Fail2Ban configuration file
        #
        #
        # $Revision: 250 $
        #

        [INCLUDES]

        # Read common prefixes. If any customizations available -- read them from
        # common.local
        #before = common.conf


        [Definition]

        #_daemon = asterisk

        # Option: failregex
        # Notes.: regex to match the password failures messages in the logfile. The
        # host must be matched by a group named "host". The tag "" can
        # be used for standard IP/hostname matching and is only an alias for
        # (?:::f{4,6}:)?(?P\S+)
        # Values: TEXT
        #

        failregex = NOTICE.* .*: Registration from '.*' failed for ':.*' - Wrong password
        NOTICE.* .*: Registration from '.*' failed for ':.*' - No matching peer found
        NOTICE.* .*: Registration from '.*' failed for ':.*' - Username/auth name mismatch
        NOTICE.* .*: Registration from '.*' failed for ':.*' - Device does not match ACL
        NOTICE.* failed to authenticate as '.*'$
        NOTICE.* .*: No registration for peer '.*' \(from \)
        NOTICE.* .*: Host failed MD5 authentication for '.*' (.*)
        NOTICE.* .*: Failed to authenticate user .*@.*

        # Option: ignoreregex
        # Notes.: regex to ignore. If this regex matches, the line is ignored.
        # Values: TEXT

        #ignoreregex =

        Основной конфигурационный файл Fail2Ban находится /etc/fail2ban/jail.conf. В самый низ данного файла добавим следующий блок:

        nano /etc/fail2ban/jail.conf

        [asterisk-iptables]

        enabled = true
        filter = asterisk
        action = iptables-allports[name=ASTERISK, protocol=all]
        sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@asterisk]
        logpath = /var/log/asterisk/fail2ban
        maxretry = 3
        bantime = 3600

        Описание параметров:

        enabled — значение true указывает что данный jail активен, false выключает действие изолятора.
        filter — имя фильтра с регулярными выражениями, по которым идёт поиск.
        logpath — путь к файлу логам FreeSWITCH, который программа Fail2ban будет обрабатывать с помощью заданного ранее фильтра.
        action – операция, которая должна быть выполнена, если значение счётчика стало равным значению параметра maxretry.
        maxretry - количество неудачных запросов за которое банится хост.
        bantime - промежуток времени по умолчанию в секундах на которое банится провинившийся хост.

        Добавим в конфигурацию логирования Asterisk запись в отдельный лог-файл:

        nano /etc/asterisk/logger.conf
        fail2ban => notice

        Применяем изменения:

        asterisk -rx "logger rotate"
         

        Теперь перезагрузим fail2ban и добавим в автозагрузку:

        CentOS 6

        /etc/init.d/fail2ban restart
        chkconfig fail2ban on

        CentOS 7

        systemctl restart fail2ban
        systemctl enable fail2ban.service

        На этом настройка закончена, теперь fail2ban будет обнаруживать и предотвращать атаки на Asterisk.

        Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

        Нужна консультация?

        Наши специалисты ответят на любой интересующий вопрос

        Задать вопрос
        Поделиться
        Назад к списку
        © 2021 Все права защищены.
        +7 (499) 113-65-73
        Заказать звонок
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        Политика конфиденциальности
        Версия для печати
        © 2021 Все права защищены.
        Заказать звонок
        Написать сообщение