8(499)-709-97-83
Работаем с 8:00 до 19:00

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

  • 01 июля 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.rpm
yum 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
 

Переходим к настройкам FreeSWITCH. В настройках sip-профиля /usr/local/freeswitch/conf/sip_profiles/internal.xml ищем параметр log-auth-failures и делаем его true

<param name="log-auth-failures" value="true"/>

Заходим в консоль FreeSWITCH и перезапускаем sip-профиль

sofia profile internal restart
 

Фильтр freeswitch.conf устанавливается по умолчанию вместе c fail2ban. Посмотреть фильтр можно в /etc/fail2ban/filter.d/freeswitch.conf

Создадим конфигурационный файл /etc/fail2ban/jail.local со следующим содержимым:

[freeswitch]
enabled = true
port = 5060,5061,5080,5081
filter = freeswitch
logpath = /usr/local/freeswitch/log/freeswitch.log
maxretry = 3
action = iptables-allports[name=freeswitch, protocol=all]
sendmail-whois[name=FreeSwitch, dest=root, sender=fail2ban@localhost]
bantime = 3600

Немного разъяснений по конфигу:

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

Если хотите поменять Default (по умолчанию), то это можно сделать в /etc/fail2ban/jail.conf

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

CentOS 6

/etc/init.d/fail2ban restartchkconfig fail2ban on

CentOS 7

systemctl restart fail2bansystemctl enable fail2ban.service
 

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

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

 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)
 
Метки: FreeSWITCH