Защита SIP от сканеров и брутфорса: Fail2ban и Kamailio без лишней магии
SIP-сканер почти всегда бьёт по 5060/5061, ищет ответ на OPTIONS, REGISTER и INVITE, а затем пытается подобрать учётки или выжать фрод через открытый транк. Если Kamailio и Asterisk торчат наружу без фильтрации, лог быстро превращается в список попыток регистрации и звонков в экзотические направления.
Первый слой — не светить лишнее: ограничить источники по ACL, резать неизвестные ASN/подсети на edge и не публиковать SIP-сервис там, где нужен только WebRTC через reverse proxy. Второй слой — Kamailio: проверка метода, whitelist для внутренних IP, rate limit по src_ip, а также reject для REGISTER без корректной авторизации. Для медиа отдельно проверь NAT traversal и не открывай RTP-диапазон шире, чем требуется.
Fail2ban ставится не “для галочки”, а под конкретные паттерны логов: repeated authentication failure, too many requests, scanning detected. Банить лучше на уровне firewall, а не внутри приложения: так дешевле по CPU и быстрее реакция. Разделяй jail для SIP auth, SIP scan и fraud-активности, иначе один noisy peer может закрыть полезный трафик.
Разбираем дамп трафика в Wireshark, и вот что мы там видим... если INVITE идёт пачкой с одинаковым user-agent и пустым Contact, это почти всегда автоматический перебор. Добавь в Kamailio лимит на диалог/источник, а в Fail2ban — короткий бан с экспоненциальным ростом для повторных нарушений. Отказоустойчивость — это не роскошь, а базовое требование к SIP-платформе.
Практика простая: фильтруем на входе, логируем осмысленно, баним быстро, а RTP и SIP держим раздельно.
Работа с API телефонии
@phone_api_gateway_arb
Защита SIP от сканеров и брутфорса: Fail2ban и Kamailio без лишней магии
Этот пост опубликован в Telegram-канале Работа с API телефонии. Подписаться можно по ссылке: @phone_api_gateway_arb.