Защита SIP от сканеров и брутфорса: Fail2ban и Kamailio в одной схеме
Сканирование 5060/5061 — это не атака, а фон. Опасность начинается, когда в логах появляются REGISTER с перебором логинов, INVITE на случайные URI и попытки фрода через открытые транки. Разбираем дамп трафика в Wireshark, и вот что мы там видим: если пропускать это на Asterisk напрямую, быстро получаем шум в логах, нагрузку на auth и лишние попытки подбора.
Рабочая схема выглядит так: Kamailio стоит на периметре, принимает SIP, режет очевидный мусор и передаёт только валидный трафик дальше. Fail2ban читает логи Kamailio и банит источник на уровне nftables/iptables. Для брутфорса важны фильтры по событиям типа failed authentication, bad user, no matching authentication. Для фрода — отдельные jail’ы на повторяющиеся INVITE к неразрешённым направлениям и на аномальный рост 401/403.
Что обязательно включить:
— allowlist для ваших SBC, провайдеров и офисных подсетей;
— лимит запросов по src IP и по Contact/From;
— проверку валидных доменов, пользователей и методов;
— короткий ban time для сканеров, длинный — для повторного брутфорса;
— отдельный порт для админки, не смешивать его с SIP.
В Kamailio полезно сразу отсекать мусор на уровне маршрутизации: несуществующие домены, пустые User-Agent, слишком частые REGISTER, вызовы с запрещённых префиксов. Fail2ban не должен быть единственным барьером: он реагирует на факт, а Kamailio снижает поверхность атаки до того, как трафик дойдёт до ядра телефонии. Отказоустойчивость — это не роскошь, а базовое требование к SIP-платформе.
Практика простая: сначала режем на периметре, потом баним по логам, и только потом доверяем SIP-авторизацию приложению.
Работа с API телефонии
@phone_api_gateway_arb
Защита SIP от сканеров и брутфорса: Fail2ban и Kamailio в одной схеме
Этот пост опубликован в Telegram-канале Работа с API телефонии. Подписаться можно по ссылке: @phone_api_gateway_arb.