Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SIP_FLOOD_DDOS_ATTACK IP-Телефония и СКУД

Траблшутинг SIP Flooding и DDoS: фильтрация INVITE/REGISTER штормов

Обновлено: 24.08.2026 · Официальная документация ↗
  • Процесс АТС (Asterisk, FreeSWITCH) утилизирует 100% CPU, переставая отвечать на легитимные вызовы.
  • Логи переполнены миллионами попыток регистрации на поддельные extension (100, 101, 1000).
  • Переполнение буфера сокетов UDP 5060 и отбрасывание пакетов (socket buffer full).
  • Попытки генерации несанкционированного дорогостоящего международного трафика (Toll Fraud).

1. Блокировка сканеров на уровне RAW таблицы Iptables (минимальный CPU overhead)

Добавьте правила в цепочку PREROUTING для отсечения сканеров без прохождения через conntrack:

# Блокировка известных сигнатур User-Agent сканеров
iptables -t raw -A PREROUTING -p udp --dport 5060 -m string --string "friendly-scanner" --algo bm -j DROP
iptables -t raw -A PREROUTING -p udp --dport 5060 -m string --string "sipvicious" --algo bm -j DROP
iptables -t raw -A PREROUTING -p udp --dport 5060 -m string --string "sundayddos" --algo bm -j DROP

2. Ограничение частоты запросов (Rate Limiting) через hashlimit

# Ограничение REGISTER/INVITE до 10 пакетов в секунду с одного IP
iptables -A INPUT -p udp --dport 5060 -m hashlimit \
  --hashlimit-name sip_limit --hashlimit-above 10/sec --hashlimit-burst 20 \
  --hashlimit-mode srcip --hashlimit-htable-expire 30000 -j DROP

3. Конфигурация Fail2ban для Asterisk / Kamailio

Файл /etc/fail2ban/jail.d/asterisk.conf:

[asterisk]
enabled = true
filter = asterisk
port = 5060,5061
protocol = all
logpath = /var/log/asterisk/messages
maxretry = 5
findtime = 300
bantime = 86400
banaction = iptables-allports

4. Отключение гостевых вызовов в PBX

В pjsip.conf / sip.conf обязательно отключите прием неавторизованных входящих вызовов:

allowguest = no
alwaysauthreject = yes
💡 Практика специалистов: Для защиты публичного VoIP-периметра корпоративной телефонии всегда размещайте впереди специализированный SBC или stateless-прокси (Kamailio/OpenSIPS), умеющий отбрасывать флуд на скорости сетевого интерфейса.

Частые вопросы (FAQ)

Что делает директива alwaysauthreject = yes?

Она заставляет сервер отвечать одинаковой ошибкой 401 Unauthorized как на неверный пароль, так и на несуществующий логин, предотвращая перебор (enumeration) существующих extension.

Почему fail2ban не спасает от распределенного UDP Flood?

Fail2ban анализирует текстовые логи постфактум. При шторме в 100 000 пакетов в секунду сервер захлебнется на операциях дискового ввода-вывода логов до срабатывания бана.

Помогает ли смена стандартного порта 5060 на нестандартный?

Да, перенос SIP на нестандартный UDP порт (например, 5160 или 45892) отсекает более 95% автоматизированных ботнетов и скрипт-кидди.

Что такое SIP Toll Fraud?

Это несанкционированный взлом учетных записей АТС с целью совершения сотен параллельных звонков на платные премиум-номера операторов других стран.

Полезные материалы
Рекомендуем