Открытый 5060 без фильтрации — это приглашение для сканеров, брутфорса и попыток зарегистрировать фейковый endpoint. Базовая схема защиты строится в два слоя: Kamailio режет лишнее на входе, Fail2ban добивает повторяющиеся атаки по логам.
В Kamailio имеет смысл сразу ограничить поверхность атаки: whitelist доверенных подсетей, deny по странам/ASN через firewall, проверка source IP до любых дорогих операций, rate-limit на REGISTER и INVITE, а также жесткая нормализация заголовков. Если у вас SBC, то именно он должен принимать первый удар, а не Asterisk.
Fail2ban полезен не для “магической защиты”, а для автоматического бан-реакта на повторяющиеся 401/403, flood по REGISTER и типовые паттерны подбора логинов. Смотрите не только на sip-запросы, но и на failed auth в логах Kamailio и Asterisk: банить надо по связке IP+тайм-окно, иначе злоумышленник просто размазывает попытки по времени.
Разбираем дамп трафика в Wireshark, и вот что мы там видим: если INVITE летят пачками на несуществующие DID, а REGISTER идут на случайные usernames — это не сбой, а разведка перед фродом. Дополнительно ограничивайте число одновременных транзакций, используйте отдельные listen sockets для внутренней и внешней зоны и не публикуйте SIP без RTP-политик.
Итог простой: Kamailio фильтрует и нормализует, Fail2ban автоматизирует реакцию, а firewall держит периметр. Отказоустойчивость — это не роскошь, а базовое требование к SIP-платформе.
Работа с API телефонии
@phone_api_gateway_arb
SIP-сканеры и брутфорс: как закрыть VoIP от мусорного трафика
Этот пост опубликован в Telegram-канале Работа с API телефонии. Подписаться можно по ссылке: @phone_api_gateway_arb.