Asterisk: борьба с Sending fake auth rejection for device 5050;tag=0aad9031

в этих сообщениях asterisk пишет свой внешний IP адрес. Поэтому банить его нет смысла.

здесь предложили банить на основе анализа содержимого пакета с помощью iptables

здесь описан вариант с исправлением модуля asterisk чтобы в логах появилась информация с IP адресом взломщика

При попытке взлома могут появляться вот такие сообщения в full:

chan_sip.c: Sending fake auth rejection for device 5550000<sip:5550000@[external_ip]>;tag=71b060d8″.

Сейчас не видно с какого IP адреса идет атака, необходимо пересобрать астериск со следующими параметрами: Открываем исходники астериска файл /../asterisk-/channels/chan_sip.c ищем строки:

1
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));

В окне поиска вводим: Sending fake auth rejection for device

Меняем строку:

1
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));

на:

1
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_sockaddr_stringify(addr));

после этого должен отображаться Ip адрес атакующего.

Sending fake auth rejection for device 3050<sip:3050@[external_ip]>;tag=fc23ea52 [IP: 166.78.25.181:5071]

если подмены и попытки загрузить модуль командой module load chan_sip.so получаем ошибку “Module was not compiled with the same compile-time options as this version of Asterisk” значит надо воспользоваться этим решением:

надо подменить в файле include/asterisk/buildopts.h значение в строчке  

#define AST_BUILDOPT_SUM “ac1f6a56484a8820659555499174e588”

на свой код AST_BUILDOPT_SUM. В Ubuntu узнать его можно /usr/include/asterisk/buildopts.h из пакета asterisk-dev

после этого скомпилированный новый модуль принимается астериском.

и теперь можно использовать fail2ban с правилом 

1
NOTICE.* .*: Sending fake auth rejection for device .*\<sip:.*@.*\>;tag=.* \[IP: <HOST>:.*\]

Все описанное выше было проверено на 1.8.7 и 1.8.13

Asterisk: борьба с Sending fake auth rejection for device 5050;tag=0aad9031: 3 комментария

  1. Что-то не работает патч, показывает внешний IP астериска. В итоге имеем два раза отображенный свой же IP, что никак не помогает в блокировке атакующего

    [Ответить]

  2. у меня это работает на 1.8.13
    в 11.2.1 вместо “ast_log(LOG_NOTICE, “Sending fake auth rejection for device %s\n”, get_header(req, “From”));” строчка выглядит “ast_log(LOG_NOTICE, “Sending fake auth rejection for device %s\n”, sip_get_header(req, “From”));” и встречается в тексте 5 раз
    Получается надо менять на “ast_log(LOG_NOTICE, “Sending fake auth rejection for device %s\n”, sip_get_header(req, “From”), ast_sockaddr_stringify(addr));”

    [Ответить]

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *