Asterisk – установка Fail2Ban

Очень часто мы сталкиваемся с атаками на SIP-серверы, особенно когда сервер виден их сети интернет, поэтому я написал статью-заметку, с целью создать первую линию в защите Вашей IP ATC.

Устанавливаем необходимые пакеты:

 yum install -y fail2ban iptables

Настраиваем конфигурационный файл /etc/fail2ban/fail2ban.conf:

[Definition]

loglevel = 3
logtarget = SYSLOG

socket = /var/run/fail2ban/fail2ban.sock
pidfile = /var/run/fail2ban/fail2ban.pid

Правим конфиг /etc/fail2ban/jail.conf (добавим правило для сервиса asterisk):

[DEFAULT]

ignoreip = 127.0.0.1/8

bantime  = 600
findtime = 600
maxretry = 3

backend = auto
usedns  = warn

# Monitoring settings
[asterisk-iptables]

enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
logpath  = /var/log/asterisk/fail2ban
maxretry = 3
bantime  = 259200

Создаем правила фильтрации:

/etc/fail2ban/filter.d/asterisk.conf

[INCLUDES]

[Definition]

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

ignoreregex =

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

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

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

*CLI> logger reload

Стартуем сервисы:

/etc/init.d/fail2ban start
/etc/init.d/iptables start

Добавляем в автозагрузку:

chkconfig iptables on
chkconfig fail2ban on

Для проверки, можно использовать sipsak, чтобы отправить некорректные запросы на авторизацию:

sipsak -U -s sip:s@10.0.0.1:5060
sipsak -U -s sip:s@10.0.0.1:5060
sipsak -U -s sip:s@10.0.0.1:5060

Проверяем статус fail2ban:

fail2ban-client status asterisk-iptables
Status for the jail: asterisk-iptables
|- filter
|  |- File list:	/var/log/asterisk/fail2ban
|  |- Currently failed:	2
|  `- Total failed:	966
`- action
   |- Currently banned:	3
   |  `- IP list:	64.2.2.227 23.4.4.98
   `- Total banned:	3

Также, заблокированные IP можно увидеть в выводе iptables:

iptables -nvL --line-numbers

Related posts:

  1. Безопасность Unix системы представляем: Fail2ban После того, как Ваш сервер становится объектом всяческих попыток несанкционированного...
  2. Установка Asterisk и FreePBX на Ubuntu 10.04 Asterisk Asterisk это свободная АТС (PBX)для IP-телефонии. Это то, что...
  3. Установка FreePBX + Asterisk Проект компании Digium – Asterisk. Известен многим, как и вэб...
  4. Installing Asterisk and FreePBX on Ubuntu Server 6.06 LTS This document assumes prior knowledge of how to use Linux...
  5. Asterisk – храним CDR в БД MySQL. Asterisk. Настройка. Статья#1. Складываем CDR в MySQL. Должны быть установлены...
You can leave a response, or trackback from your own site.

Оставить комментарий

*