Работа с API телефонии

Защита SIP от сканеров и брутфорса: Fail2ban и Kamailio в одной схеме

Защита 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-авторизацию приложению.
Этот пост опубликован в Telegram-канале Работа с API телефонии. Подписаться можно по ссылке: @phone_api_gateway_arb.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.