[РЕШЕНО] chan_sip.c: Timeout on mcAuFYy3kouz5Pqr2NirU1.. on non-critical invite transaction.

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
[РЕШЕНО] chan_sip.c: Timeout on mcAuFYy3kouz5Pqr2NirU1.. on non-critical invite transaction.
все логи усыпаны:
[2022-03-22 11:03:46] WARNING[6852] chan_sip.c: Timeout on mcAuFYy3kouz5Pqr2NirU1.. on non-critical invite transaction.
[2022-03-22 11:03:48] WARNING[6852] chan_sip.c: Timeout on e8VGQKmRJU2tOsZE3JQYu1.. on non-critical invite transaction.
[2022-03-22 11:03:49] WARNING[6852] chan_sip.c: Timeout on HpaL8Lo1cLqMI7kGVcQkg3.. on non-critical invite transaction.
[2022-03-22 11:03:51] WARNING[6852] chan_sip.c: Timeout on LI99eBaU7Rw0wi9ao1Ja4O.. on non-critical invite transaction.
[2022-03-22 11:03:53] WARNING[6852] chan_sip.c: Timeout on 2HiGLMtukhc8uTFe3yygHI.. on non-critical invite transaction.
[2022-03-22 11:03:54] WARNING[6852] chan_sip.c: Timeout on s7OrMUjCdpVSm25e0EVSlo.. on non-critical invite transaction.
[2022-03-22 11:03:56] WARNING[6852] chan_sip.c: Timeout on 5ZW0MumCJkVQ2Mo0RVFivj.. on non-critical invite transaction.
[2022-03-22 11:03:58] WARNING[6852] chan_sip.c: Timeout on KPJPBqNSmhKc5a0Ati17Lw.. on non-critical invite transaction.
Если кратко то ответ звучит так: при помощи INVITE пытаются подобрать действующие SIP акаунты.
т.е в вашем случае вероятнее всего проброшен порт 5060 на во вне через dnat, чем это может быть опасно:
1. если у вас не chan_sip а не pjsip то по ответу на invite можно подобрать действующий SIP
2. Также можно найти пир на оператор: From: <sip:OPERATOR@ и если там не заданы ограичения, то просто позвонить на него.

РЕШЕНИЕ (Используйте каждый пункт помере возможностей):
1. Если у вас нет внешних сип клиентов которые без VPN подключаются к SIP, убираем проброс на 5060
2. alwaysauthreject=yes   в sip.conf
следует установить в sip.conf, после этого, на REGISTER с несуществующим номером Asterisk станет отвечать «401 Unathorized» вместо «404 Not Found», и взломщик не сможет определить, какие номера заведены на АТС.
3. deny=0.0.0.0/0.0.0.0
permit=<подсеть_из_которой_можно_подключаться>
с помощью этих настроек можно ограничить диапазон IP-адресов, с которых Asterisk будет принимать SIP-трафик для конкретного номера.
4. allowguest=no . Если задано значение no, этот параметр запрещает гостевые SIP-соединения. По умолчанию они разрешены. SIP обычно требует аутентификацию, но можно принимать вызовы от пользователей, которые не поддерживают аутентификацию (то есть для которых не задано значение в поле secret). (ЭТО НЕ ВСЕГДА МОЖНО СДЕЛАТЬ)

И немного по вышесказанному:
Вот к примеру Пир на оператора с статическим хостом


Код
[OPERATOR]
host=88.88.88.88
dtmfmode=rfc2833
type=friend
nat=no
disallow=all
allow=ulaw
canreinvite=no
qualify=yes
context=in
deny=0.0.0.0/0.0.0.0
permit=88.88.88.88/255.255.255.255


Но стоит на него позвонить с указанием в поле from этого пира

From: <sip:OPERATOR@
вызов проскочит с любого IP, если убрать deny/permit, всегда думал что статический пир принимает сигнализацию только с своего указанного хоста, но оказалось я ошибался, никаких insecure нет....
КОММЕНТАРИЙ:
ужно понимать отличие type=friend от type=peer.
Если host=статический, type=peer, обычно как раз insecure=port,invite. Тогда он будет просто игнорировать все попытки авторизации по паролям.
Также понимать что опасен как раз host=dynamic - именно такие пиры и ищут сканеры.
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
Забыл написать как вообще увидеть эти INVITE
1. asterisk -rvvvvvvv
2. sip show channels
Есть вариант банить подобное скриптом:
Вот так выдергаем только ИП:
rasterisk -rx "sip show channels" | grep "INVITE" | grep "<guest>" | awk '{print $1}' | sort -n | uniq -c | awk '{print $2}'


скрипт для бана в iptabe:
#!/bin/bash
for IP in $(rasterisk -rx "sip show channels" | grep "INVITE" | grep "<guest>" | awk '{print $1}' | sort -n | uniq -c | awk '{print $2}')
do
iptables -A INPUT -s $IP -m string --string 'INVITE' --algo bm -j DROP
echo $IP banned
done
И запускаем по крону.

скрипт номер 2 блокировка через fail2ban
#!/bin/bash

ips=`rasterisk -rx "sip show channels" | grep INVITE | awk '{print $1}' | sort -n | uniq -c | sort -n | awk '{if ($1 > 2 ) print $2}'`

if [[ -z $ips ]]; then
   echo "pusto"
else
   for i in $ips
do fail2ban-client -vvv set asterisk banip $i
   done
fi

и тоже по крону.
Услуги Системного Администратора - Работаю только с Юр. Лицами по договору обслуживания.
Страницы: 1
Ответить
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Форма ответов
Текст сообщения*
:) ;) :D 8-) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.