Подключите нашего Telegram-бота для уведомлений о новых проектах
Настройка и исправление фильтра Fail2Ban для защиты Asterisk от SIP-атак
Разместить заказ

p
Заказчик
Отзывы фрилансеров:
+ 8
- 0
Зарегистрирован на сайте 15 лет и 6 месяцев
Бюджет:
по договоренности
Техническое задание: Настройка фильтра Fail2Ban для SIP-атаки
Описание задачи
Требуется настроить фильтр в Fail2Ban для защиты Asterisk от атак на SIP-учётные записи. Атака проявляется в логах Asterisk как многочисленные попытки инициализации вызова с подбором пароля к SIP. В результате Fail2Ban должен автоматически блокировать IP-адреса злоумышленников.
Пример логов Asterisk с атакой
[2025-02-04 22:10:25] VERBOSE[349247][C-000011bd] chan_sip.c: No matching peer for '37301' from '104.167.220.149:53286'
[2025-02-04 22:11:50] VERBOSE[349247][C-000011be] chan_sip.c: No matching peer for '999' from '45.88.186.105:51268'
[2025-02-04 23:58:05] VERBOSE[349247][C-0000122f] chan_sip.c: No matching peer for '39801' from '104.167.220.149:57784'
Требования к фильтру
Фильтр должен блокировать IP-адреса, с которых происходит множество запросов с несуществующими SIP-логинами.
Логика блокировки:
Если в течение 10 минут с одного IP-адреса поступает 3 и более попытки с разными логинами, IP должен быть заблокирован.
Блокировка должна длиться не менее 1 часа.
Фильтр должен корректно обрабатывать логи формата:
VERBOSE.*: No matching peer for 'логин' from '<HOST>'
Файл фильтра должен быть исправлен и корректно работать с fail2ban-regex.
Текущий файл фильтра (/etc/fail2ban/filter.d/asterisk-udp.conf)
[Definition]
failregex = NOTICE.*: Failed to authenticate device.*<sip:\d+@>
VERBOSE.*: Retransmitting.* SIP/2.0 403 Forbidden
VERBOSE.*: No matching peer for.*from '<HOST>'
Ошибка, которая возникает:
ERROR: No failure-id group in 'NOTICE.*: Failed to authenticate device.*<sip:\d+@>'
Ожидаемые доработки
Исправить файл фильтра /etc/fail2ban/filter.d/asterisk-udp.conf, чтобы он корректно работал с fail2ban-regex.
Добавить корректный шаблон для обнаружения атак по VERBOSE.*: No matching peer for.*from '<HOST>'.
Настроить jail-файл (/etc/fail2ban/jail.local):
[asterisk-udp]
enabled = true
filter = asterisk-udp
action = iptables-multiport[name=ASTERISK, port="5060,5061", protocol=udp]
logpath = /var/log/asterisk/full
maxretry = 3
findtime = 600
bantime = 3600
Проверить работу фильтра с fail2ban-regex, убедиться, что он корректно выявляет атаки.
Критерии приёмки
Fail2Ban корректно блокирует IP-адреса, совершающие атаки.
Проверка fail2ban-regex /var/log/asterisk/full /etc/fail2ban/filter.d/asterisk-udp.conf проходит без ошибок.
После запуска fail2ban-client status asterisk-udp отображаются заблокированные IP-адреса при атаках.
Формат работы
Удаленный дросту через anydesk
Система: Ubuntu 20.04 без графического интерфейса.
Fail2Ban уже установлен.
Требуется предоставить обновлённые файлы asterisk-udp.conf и jail.local с пояснением внесённых изменений.
Рабочая проверка после настройки.
Дополнительные замечания
Возможно потребуется адаптация правил iptables или firewalld.
Если необходимо, можно предложить другие эффективные методы защиты (например, fail2ban-action для автоматической блокировки IP через API облачного провайдера).
Работа должна быть выполнена в течение 1-2 дней.
Описание задачи
Требуется настроить фильтр в Fail2Ban для защиты Asterisk от атак на SIP-учётные записи. Атака проявляется в логах Asterisk как многочисленные попытки инициализации вызова с подбором пароля к SIP. В результате Fail2Ban должен автоматически блокировать IP-адреса злоумышленников.
Пример логов Asterisk с атакой
[2025-02-04 22:10:25] VERBOSE[349247][C-000011bd] chan_sip.c: No matching peer for '37301' from '104.167.220.149:53286'
[2025-02-04 22:11:50] VERBOSE[349247][C-000011be] chan_sip.c: No matching peer for '999' from '45.88.186.105:51268'
[2025-02-04 23:58:05] VERBOSE[349247][C-0000122f] chan_sip.c: No matching peer for '39801' from '104.167.220.149:57784'
Требования к фильтру
Фильтр должен блокировать IP-адреса, с которых происходит множество запросов с несуществующими SIP-логинами.
Логика блокировки:
Если в течение 10 минут с одного IP-адреса поступает 3 и более попытки с разными логинами, IP должен быть заблокирован.
Блокировка должна длиться не менее 1 часа.
Фильтр должен корректно обрабатывать логи формата:
VERBOSE.*: No matching peer for 'логин' from '<HOST>'
Файл фильтра должен быть исправлен и корректно работать с fail2ban-regex.
Текущий файл фильтра (/etc/fail2ban/filter.d/asterisk-udp.conf)
[Definition]
failregex = NOTICE.*: Failed to authenticate device.*<sip:\d+@>
VERBOSE.*: Retransmitting.* SIP/2.0 403 Forbidden
VERBOSE.*: No matching peer for.*from '<HOST>'
Ошибка, которая возникает:
ERROR: No failure-id group in 'NOTICE.*: Failed to authenticate device.*<sip:\d+@>'
Ожидаемые доработки
Исправить файл фильтра /etc/fail2ban/filter.d/asterisk-udp.conf, чтобы он корректно работал с fail2ban-regex.
Добавить корректный шаблон для обнаружения атак по VERBOSE.*: No matching peer for.*from '<HOST>'.
Настроить jail-файл (/etc/fail2ban/jail.local):
[asterisk-udp]
enabled = true
filter = asterisk-udp
action = iptables-multiport[name=ASTERISK, port="5060,5061", protocol=udp]
logpath = /var/log/asterisk/full
maxretry = 3
findtime = 600
bantime = 3600
Проверить работу фильтра с fail2ban-regex, убедиться, что он корректно выявляет атаки.
Критерии приёмки
Fail2Ban корректно блокирует IP-адреса, совершающие атаки.
Проверка fail2ban-regex /var/log/asterisk/full /etc/fail2ban/filter.d/asterisk-udp.conf проходит без ошибок.
После запуска fail2ban-client status asterisk-udp отображаются заблокированные IP-адреса при атаках.
Формат работы
Удаленный дросту через anydesk
Система: Ubuntu 20.04 без графического интерфейса.
Fail2Ban уже установлен.
Требуется предоставить обновлённые файлы asterisk-udp.conf и jail.local с пояснением внесённых изменений.
Рабочая проверка после настройки.
Дополнительные замечания
Возможно потребуется адаптация правил iptables или firewalld.
Если необходимо, можно предложить другие эффективные методы защиты (например, fail2ban-action для автоматической блокировки IP через API облачного провайдера).
Работа должна быть выполнена в течение 1-2 дней.
Разделы:
Опубликован:
06.02.2025 | 10:18 [поднят: 06.02.2025 | 10:18]