Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

VOIP-SEC-005 IP-Телефония и СКУД

Защита FreePBX и Asterisk от перебора паролей: настройка Fail2Ban

Обновлено: 27.08.2026 · Официальная документация ↗

Как понять, что вашу IP-АТС прямо сейчас атакуют?

IP-АТС, выставленная в интернет со стандартным SIP-портом 5060, подвергается атакам сканеров (Friendly-Scanner, SIPvicious) каждые несколько секунд. Злоумышленники пытаются подобрать пароли к учетным записям сотрудников.

Признаки начавшегося взлома в логах Asterisk

Строка в логе (/var/log/asterisk/full)Что это значит
Registration from '<sip:101@ip>' failed for '198.51.100.24' - Wrong passwordПрямой перебор пароля к номеру 101
No matching endpoint found for '185.220.101.5'Сканирование АТС на наличие уязвимых номеров
Call from 'friendly-scanner' rejected because extension not foundРабота автоматизированного хакерского скрипта

Пошаговая установка и настройка Fail2Ban для Asterisk

Утилита Fail2Ban постоянно читает системный лог Asterisk. Как только с одного IP-адреса фиксируется 3-5 неудачных попыток ввода пароля, этот адрес мгновенно блокируется на уровне фаервола iptables на сутки.

Шаг 1: Установка пакета (для Debian/Ubuntu)

sudo apt update && sudo apt install fail2ban iptables -y

Шаг 2: Создание правила для фильтрации логов Asterisk

Создайте конфигурационный файл фильтра /etc/fail2ban/filter.d/asterisk.conf:

[Definition]
failregex = Registration from '.*' failed for '<HOST>:.*' - Wrong password
            Registration from '.*' failed for '<HOST>:.*' - No matching peer found
            Registration from '.*' failed for '<HOST>:.*' - Username/auth name mismatch
            No matching endpoint found for '<HOST>:.*'
ignoreregex =

Шаг 3: Активация тюрьмы (Jail) в jail.local

Откройте файл /etc/fail2ban/jail.local и добавьте секцию защиты телефонии:

[asterisk]
enabled  = true
filter   = asterisk
port     = 5060,5061,5160
protocol = all
logpath  = /var/log/asterisk/full
maxretry = 4
findtime = 600
bantime  = 86400

(Параметр bantime = 86400 заблокирует атакующего ровно на 24 часа).

Шаг 4: Перезапуск и проверка статуса

# Перезапускаем службу:
sudo systemctl restart fail2ban

# Проверяем, сколько нарушителей уже поймано:
sudo fail2ban-client status asterisk

Совет: Обязательно внесите доверенные IP-адреса своих офисов и филиалов в строку ignoreip = 127.0.0.1/8 192.168.1.0/24 ВАШ_ОФИСНЫЙ_IP в файле jail.local, чтобы сотрудники случайно не заблокировали себя при неверном вводе пароля.

💡 Практика специалистов: При взломе SIP-телефонии боты за считанные минуты совершают сотни звонков на платные номера премиум-направлений (Куба, Сомали, спутниковые линии), загоняя баланс компании в огромные минуса. Связка правильных паролей, отключения исходящих международных звонков и активного Fail2Ban — это обязательный минимум защиты любой АТС.

Частые вопросы (FAQ)

Как вручную разблокировать IP-адрес своего сотрудника?

Выполните команду: sudo fail2ban-client set asterisk unbanip IP_АДРЕС.

Поможет ли смена стандартного SIP-порта 5060 на другой?

Да, смена внешнего порта (например, на 51820 или 47823) отсекает 95% примитивных автоматических ботнетов, которые сканируют интернет только по стандартным портам 5060/5061.

Что такое параметр alwaysauthreject в Asterisk?

Этот параметр в sip.conf заставляет сервер всегда отвечать одинаковым отказом и на неверный пароль, и на несуществующий логин, не давая хакерам понять, какие реальные номера есть на вашей АТС.

Почему Fail2Ban не блокирует атаки, хотя в логах есть ошибки?

Проверьте правильность пути к файлу логов в параметре logpath и убедитесь, что в logger.conf для файла /var/log/asterisk/full включен флаг 'security' или 'notice'.

Полезные материалы
Рекомендуем