Fail2Ban в Asterisk

naomi

Moderator
Команда форума
Fail2ban — это стандартная функция любой операционной системы на базе Linux, которая анализирует файлы журналов и блокирует подозрительные IP-адреса.

Fail2ban — система предотвращения вторжений, которая защищает ваш сервер от атак грубой силы. Написанный на языке программирования Python, Fail2ban может работать в системах POSIX с локально установленным брандмауэром (Firewall) или системой управления пакетами, такой как TCP Wrappers или IPTABLES.

Стоит отметить, что Fail2ban — это только система предотвращения вторжений, а не система обнаружения вторжений или средство защиты от взлома.

Говоря о работе Fail2ban с Asterisk, необходимо рассказать о роли IPTABLES в этом взаимодействии.

IPTABLES — это инструмент администрирования оболочки Linux, предназначенный для управления фильтрацией IP-адресов и NAT. IPTABLES используется для проверки таблиц правил фильтрации IP-пакетов в ядре Linux. В IPTABLES можно определить несколько разных таблиц. Каждая таблица содержит несколько встроенных цепочек, а также может содержать пользовательские цепочки. Каждая цепочка представляет собой список правил, которым могут соответствовать пакеты. Каждое правило указывает, что делать с пакетом, соответствующим правилам.

Для проверки IPTABLES, необходимо ввести следующую команду с правами рута:

iptables –L

Эта команда отобразит список цепочек (chains), которые называются INPUT, FORWARD и OUTPUT, в самом низу ещё есть кастомные цепи, созданные пользователем.

Дефолтные IPTABLES выглядят примерно следующим образом:

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
По умолчанию IPTABLES разрешает весь трафик. Когда IPTABLES соединен с Fail2ban, трафик не будет блокироваться до тех пор, пока Fail2ban не создаст запрещающее правило. Fail2ban по умолчанию размещает правила в верхней части цепочки, поэтому они имеют приоритет над правилами, настроенными пользователем в IPTABLES. Это хорошо, потому что вы можете сначала разрешить весь SIP-трафик, а затем Fail2ban заблокирует отдельные хосты, предпринявшие попытку атаки, до тех пор, пока они снова не будут разрешены этим правилом.

Стандартная настройка Fail2ban приведена ниже.
Данные изменения, вносятся в файл /etc/fail2ban/jail.conf

[asterisk-iptables]

enabled = true

filter = asterisk

action = iptables-allports[name=ASTERISK, protocol=all]

sendmail-whois[name=ASTERISK, dest=root, sender=[email]fail2ban@gmail.com[/email]]

logpath = /var/log/asterisk/security

maxretry = 5

bantime = 259200
Теперь давайте расшифруем, что означает эта запись. Это фильтр, который блокирует на 3 дня любой IP-адрес, который не может получить доступ к Asterisk 5 раз, а затем отправляет вам электронное письмо с уведомлением об этом факте.
 
Верх