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

Как закрыть SIP от сканеров, брутфорса и фрода без лишней боли в проде

Как закрыть SIP от сканеров, брутфорса и фрода без лишней боли в проде

SIP-сканирование почти всегда начинается одинаково: случайные REGISTER на 5060, перебор extension’ов, затем попытка авторизации по слабым паролям. Если Asterisk или PBX торчит в интернет напрямую, Fail2ban должен работать не как «послефактум-реакция», а как слой принуждения к дисциплине.

Схема обычно такая: Kamailio принимает внешний трафик, режет мусор на уровне сигнатур и ACL, а Fail2ban читает логи auth-fail, invalid user, repeated INVITE/REGISTER и банит источник через nftables/iptables. Для SIP полезно банить не только IP, но и подсети-сканеры, если паттерн повторяется по множеству адресов. Разбираем дамп трафика в Wireshark, и вот что мы там видим: боты стучатся с интервалом в секунды, поэтому короткий findtime и жесткий maxretry дают хороший эффект.

В Kamailio стоит фильтровать до диалплана: whitelist для внутренних SBC, отсечение пустых User-Agent, ограничение частоты REGISTER по source IP, запрет на анонимные вызовы в публичный транк. Отдельно следите за retransmit-штормами: их нельзя банить как атаку, иначе получите самострел на нестабильной сети.

Для фрода важнее не бан, а контроль маршрутизации: ограничение направлений, time-of-day policy, лимиты по доменам E.164, черный список дорогих префиксов и отдельный контур для международных вызовов. Отказоустойчивость — это не роскошь, а базовое требование к SIP-платформе.

Если Kamailio режет мусор на входе, а Fail2ban быстро отсекает перебор, вы перестаете лечить симптомы и начинаете управлять поверхностью атаки.
Этот пост опубликован в Telegram-канале Работа с API телефонии. Подписаться можно по ссылке: @phone_api_gateway_arb.
tech

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

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

start

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

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

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