AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Кто это ко мне ломится? (Sending fake auth rejection)

Asterisk IP PBX 70 сообщений 08.12.2011 08:31 - 02.02.2013 09:38
#1

buhta @ Сб Фев 02, 2013 00:38 писал(а):

NOTICE.* .*: Sending fake auth rejection for device.* \(:.*\)
[Feb 2 12:22:34] NOTICE[18588]: chan_sip.c:22346 handle_request_invite: Sending fake auth rejection for device 8343;tag=b810c2ad [IP: XX.XXX.XXX.XXX:5074]

у вас маска с ошибками, в маске ищется "NOTICE.*" хотя в лог валится NOTICE без точки после слова. ну и тд по тексту.. надеюсь намек понят?
#2

Для версии 1.6.2.24
Я сделал так
SIP - ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s 'IP:%s'\n", get_header(req, "From"), ast_inet_ntoa(sin->sin_addr));
Fail2ban - NOTICE.*пробел .*:пробел Sending fake auth rejection for device пробел .* пробел 'IP:'

Этот вариант лучше для fail2ban .


Последний раз редактировалось: andrey1969 (Вт Фев 05, 2013 16:46)
#3

Сделал патч для chan_sip.c, работает на версии 1.8.11.1

Для fail2ban нужно подправить файл /etc/fail2ban/filter.d/asterisk.conf - смотри аттач
#4

Asterisk 11.2.1

Код:
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", sip_get_header(req, "From"), ast_sockaddr_stringify(addr));
#5

fail2ban или ещё можно в extensions.conf exten => _5550000,n,Hangup()
#6

Asterisk 11 в файле chan_sip.c нету строк ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n
как быть то ??
#7

2 avolon
Для версии Asterisk 11.2.1
в строках 18338,24411,25081,27124,27344 заменить
Код:
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", sip_get_header(req, "From"));

на
Код:
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", sip_get_header(req, "From"), ast_sockaddr_stringify(addr));



Уже в 3-х местах стоит и работает.
#8

Ок спасибо
А не поделитесь строчкой в fail2ban ???
#9

Привет
собираю asterisk 1,8,14 и после правки файла chan_sip.c
Код:
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", sip_get_header(req, "From"), ast_sockaddr_stringify(addr));

И при make выдает вот это



[CC] chan_sip.c -> chan_sip.o
chan_sip.c: In function ‘handle_request_options’:
chan_sip.c:22029: предупреждение: implicit declaration of function ‘sip_get_header’
chan_sip.c:22029: предупреждение: format ‘%s’ expects type ‘char *’, but argument 6 has type ‘int’
chan_sip.c: In function ‘handle_request_invite’:
chan_sip.c:22695: предупреждение: format ‘%s’ expects type ‘char *’, but argument 6 has type ‘int’
chan_sip.c: In function ‘handle_request_publish’:
chan_sip.c:24518: предупреждение: format ‘%s’ expects type ‘char *’, but argument 6 has type ‘int’
chan_sip.c: In function ‘handle_request_subscribe’:
chan_sip.c:24743: предупреждение: format ‘%s’ expects type ‘char *’, but argument 6 has type ‘int’



В чем проблема то ((

P.S разобрался сам

просто в место sip_get_header(req, "From"), надо было get_header(req, "From"),

Added after 3 hours 11 minutes:

Mikhail Pakhomov
С подменой chan_sip.so не получается (((
пишет
Код:

[Apr 6 16:28:25] WARNING[4077] loader.c: Module 'chan_sip.so' was not compiled with the same compile-time options as this version of Asterisk.
[Apr 6 16:28:25] WARNING[4077] loader.c: Module 'chan_sip.so' will not be initialized as it may cause instability.
[Apr 6 16:28:25] WARNING[4077] loader.c: Module 'chan_sip.so' could not be loaded.


Стоит Elastix 2.4
Код:
rasterisk -x "core show version"
Asterisk 1.8.21.0 built by palosanto @ rpmbuild64-2.elastix.palosanto.com on a x86_64 running Linux on 2013-03-28 21:39:26 UTC


Скачал исходники 1,8,21 все сделал дал команду make он собрал файл chan_sip.so я его заменил по пути /usr/lib64/asterisk/modules сделал рестарт .Модуль не под грузился ((
Может я что то не так делаю ???
#10

Конечно не так, вам же пишет черным по английскому:

'chan_sip.so' was not compiled with the same compile-time options as this version of Asterisk.

Вам надо либо полностью ставить астериск из исходников, или искакать как собрать модуль правильно под те исходники и опции с которым был собран ваш Еластикс.
#11

Ясно.Жаль придется всетаки через iptables делать ((((
#12

Цитата:
Вам надо либо полностью ставить астериск из исходников, или искакать как собрать модуль правильно под те исходники и опции с которым был собран ваш Еластикс.

Можно попробовать сделать так
http://sibsvt.blogspot.ru/2011/08/asterisk.html
Цитата:
....0S..т?...............
................$..@#..........P$......
....аr...t...к..........rТ..P_..
t_......441be56ff244b15c736f14
8886f9ef28.
#13

В 11.4.0-rc1 - "Failed to authenticate device %s\n" в 4 х местах , но четвёртое не понятно .
#14

приложенный выше выше патч не работает с версией 1.8.21.0(текущий asterisk-1.8-current), т.к. в chan_sip.c внесли значительные изменения, касающиеся сообщений в лог-файл.
Последняя версия, с которой патч был протестирован - это 1.8.20.1
#15

Пожалуй в 1.8.21.0 уже тоже, что в 11.4+
#16

Версия 11.3.0

Код:
ast_log(LOG_NOTICE, "Failed to authenticate device %s\n", sip_get_header(req, "From"));

Код:
ast_log(LOG_NOTICE, "Failed to authenticate device %s [IP: %s]\n", sip_get_header(req, "From"), ast_sockaddr_stringify(addr));
#17

Обновил свой пост тут.
#18

Добрый день, Уважаемые.
Мне так же надоело смотреть как "добрые" люди пытаются взломать мой сервер.
Пытался пере собрать chan_sip.so , но как скомпилировать файл chan_sip.c так и не разобрался.
В суточных моих поисках решения проблемы, нашел в интернете вот эту статью: http://www.coochey.net/?p=61
Вечером все сделал и получил результат. На одну ночь 6 адресов забанено! так вам гады!
Вот что я видел у себя:
[2013-08-07 01:51:31] NOTICE[22782][C-0000003b] chan_sip.c: Failed to authenticate device 16;tag=10844d6f
[2013-08-07 01:51:32] NOTICE[22782][C-0000003c] chan_sip.c: Failed to authenticate device 16;tag=d056df40
[2013-08-07 02:14:27] NOTICE[22782][C-0000003d] chan_sip.c: Failed to authenticate device 250;tag=0ced6a0d
[2013-08-07 02:14:27] NOTICE[22782][C-0000003e] chan_sip.c: Failed to authenticate device 250;tag=23fcaa19
[2013-08-07 02:32:50] NOTICE[22782][C-0000003f] chan_sip.c: Failed to authenticate device 6001;tag=79c46dab
[2013-08-07 02:32:52] NOTICE[22782][C-00000040] chan_sip.c: Failed to authenticate device 6001;tag=3b6fb17a
[2013-08-07 02:32:54] NOTICE[22782][C-00000041] chan_sip.c: Failed to authenticate device 6001;tag=ef8586a5
[2013-08-07 02:36:09] NOTICE[22782][C-00000043] chan_sip.c: Failed to authenticate device 315;tag=a81995e3
[2013-08-07 02:36:10] NOTICE[22782][C-00000044] chan_sip.c: Failed to authenticate device 315;tag=385ab539
[2013-08-07 02:55:35] NOTICE[22782][C-00000045] chan_sip.c: Failed to authenticate device 209;tag=6057b1ec
Где - xxx.xxx.xxx.xxx это мой внешний IP
У меня уже стоит программа - fail2ban (есть много описаний как её ставить), но она без ip слоумышленика не может его забанить. А ip как раз и не показывает...
В файле: /etc/asterisk/logger_logfiles_custom.conf
добавить строку:
fail2ban2 => security,notice,warning,error
Далее в файл: /etc/fail2ban/jail.conf
добавим еще одно правило:
[asterisk-iptables]
enabled = true
filter = asterisk
action = iptables-allports[name=SIP, protocol=all]
sendmail-whois[name=SIP, dest=alerts@example.com, sender=pbx@example.com] - вместо почты alerts@example.com , пишем свой почтовый ящик
logpath = /var/log/asterisk/fail2ban2

В файл: /etc/fail2/ban/filter.d/asterisk.conf
под строку со списком правил -
failregex =
дописываем еще одно -
SECURITY.* SecurityEvent=\"InvalidPassword\".*RemoteAddress=\"IPV4/UDP//
перегружаемся:
/etc/init.d/asterisk restart
/etc/init.d/iptables restart
/etc/init.d/fail2ban restart

И сразу видим в нашем файле (/var/log/asterisk/fail2ban2) того, кто пытается взломать и позвонить
у меня это сегодня выглядит так:
[2013-08-07 04:05:50] NOTICE[22782][C-00000053] chan_sip.c: Failed to authenticate device 8888;tag=ccaac5f7
[2013-08-07 04:05:50] SECURITY[22764] res_security_log.c: SecurityEvent="InvalidPassword",EventTV="1375833950-625229",Severity="Error",Service="SIP",EventVersion="2",AccountID="9810972597562753",SessionID="0x18b0268",LocalAddress="IPV4/UDP/мой_внешний_IP/5060",RemoteAddress="IPV4/UDP/82.205.5.154/5074",Challenge="70127e36",ReceivedChallenge="70127e36",ReceivedHash="b71129d331fc00f5a0050f45a49d898a"

Вижу следующее:
Что - IP адрес: 82.205.5.154, Страна: Palestinian Territory, Город: Ramallah
некий "не хороший человек" пытался подключиться к моему номеру № 8888 и позвонить на номер: 9810972597562753 (а это Израиль)
ФигВам !!!

и приходит письмо на почту:
Hi,
The IP 82.205.5.154 has just been banned by Fail2Ban after
3 attempts against SIP.
Here are more information about 82.205.5.154:
Regards,
Fail2Ban

Не претендую на оригинальность, но и так можно.
#19

сделал все как написано ,но нет в логах * нечего (((
Asterisk 1.8.21.0
#20

по этому адресу: /var/log/asterisk/fail2ban2
нет ничего?
#21

Еще вот такое правило можно добавить

Код:
SECURITY.* SecurityEvent=\"FailedACL\".*RemoteAddress=\"IPV4/UDP//


В консоли астериска наш любимый Failed to authenticate device* но у меня совпало с существующим пиром и поэтому уже не InvalidPassword, в FailedACL
Код:

[2013-08-15 17:48:03.534] NOTICE[32196] chan_sip.c: Failed to authenticate device 1008;tag=6692ac70

[2013-08-15 17:48:03.536] SECURITY[32178] res_security_log.c: SecurityEvent="FailedACL",EventTV="1376567283-536597",Severity="Error",Service="SIP",EventVersion="1",AccountID="810972597562753",SessionID="0x97d22b0",LocalAddress="IPV4/UDP/92.222.28.40/5060",
RemoteAddress="IPV4/UDP/192.99.0.69/5071",ACLName="device_must_match_acl"


P.S.
Спасибо за наводку, всегда знал что это можно сделать штатными средствами без всяких патчей, но я думал и смотрел в сторону AMI

_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#22

avolon @ Чт Авг 15, 2013 11:49 писал(а):
сделал все как написано ,но нет в логах * нечего (((
Asterisk 1.8.21.0


В 1.8 logger не поддерживает уровень security, видимо придется патчить или переходить на другую версию

_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#23

А у меня, версия 11.4.0, почему-то в качестве адреса. вот это... "RemoteAddress="IPV4/TCP/127.0.0.1/6082"... Что делать?
#24

Всю строку можешь показать?
_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#25

У меня версия 11.4 из исходников. Уровень security не работал КОРРЕКТНО пока ..... комп полность железно не перегрузился (вырубали электричество). После этого все ок.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#26

Я, думаю что он про другое спросил. Вопрос на подобии, не могу же я заблокировать адрес 127.0.0.1, что делать?
_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#27

Астер 11.6 и фсе приблуды работают )))) ...
#28

патчик для chan_sip есть
_________________
Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle
Читайте, дополняйте wiki http://wiki.e1550.mobi/
Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
#29

Огромное спасибо ребята за данные советы. Хотелось бы уточнить, что при редактировании файла chan_sip.c нужно в НЕСКОЛЬКИХ местах искать и заменять нужную строку.
Мне лично помогла статья http://it-mehanika.ru/index.php?option=c ... ;Itemid=29
Только там я въехал про это. По указанным на 1 странице этого топика инструкциям не получалось, т.к. я заменял только первое найденное вхождение. А нужно было еще 2-3.
Всем спасибо! Теперь мой сервер Астериск чувствует себя лучше Smile

Asterisk 1.8.10.1
#30

nikseanix @ Сб Янв 17, 2015 15:03 писал(а):
Огромное спасибо ребята за данные советы. Хотелось бы уточнить, что при редактировании файла chan_sip.c нужно в НЕСКОЛЬКИХ местах искать и заменять нужную строку.
Мне лично помогла статья http://it-mehanika.ru/index.php?option=c ... ;Itemid=29
Только там я въехал про это. По указанным на 1 странице этого топика инструкциям не получалось, т.к. я заменял только первое найденное вхождение. А нужно было еще 2-3.
Всем спасибо! Теперь мой сервер Астериск чувствует себя лучше Smile

Asterisk 1.8.10.1


О! Неужели моя статейка еще помогает? Я думал эту дыру залепили )))). Удачи в борьбе с сусликами-партизанами.
Вот как можно ставить астериск из репозитария (убунта, дебиан). Я надеялся закроют дыру. Сурсы наше все ? Sad
#31

А что с этими делать?

[2015-01-26 11:13:28] SECURITY[2929] res_security_log.c: SecurityEvent="ChallengeSent",EventTV="1422242008-604812",Severity="Informational",Service="SIP",EventVersion="1",AccountID="sip:1001@my.asterisk.ip.address",SessionID="0x2b1534001938",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/195.154.169.107/5070",Challenge="6ebc464a"
[2015-01-26 11:14:07] SECURITY[2929] res_security_log.c: SecurityEvent="ChallengeSent",EventTV="1422242047-670288",Severity="Informational",Service="SIP",EventVersion="1",AccountID="sip:993@my.asterisk.ip.address",SessionID="0x2b153408ba88",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/192.3.8.28/5074",Challenge="0ad54d96"
[2015-01-26 11:14:14] SECURITY[2929] res_security_log.c: SecurityEvent="ChallengeSent",EventTV="1422242054-193602",Severity="Informational",Service="SIP",EventVersion="1",AccountID="sip:100@my.asterisk.ip.address",SessionID="0x2b1534161698",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/63.141.236.146/5074",Challenge="64d50d05"
[2015-01-26 11:14:41] SECURITY[2929] res_security_log.c: SecurityEvent="ChallengeSent",EventTV="1422242081-251389",Severity="Informational",Service="SIP",EventVersion="1",AccountID="sip:100@my.asterisk.ip.address",SessionID="0x2b1534001938",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/63.141.229.58/5078",Challenge="4aaa1de9"


fail2ban тут бессилен, т.к. SecurityEvent="ChallengeSent",Severity="Informational" выдается и моим "валидным" клиентам, успешно прошедшим авторизацию:

[2015-01-22 10:24:59] SECURITY[12633] res_security_log.c: SecurityEvent="ChallengeSent",EventTV="1421893499-691789",Severity="Informational",Service="SIP",EventVersion="1",AccountID="302",SessionID="0x7092588",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/192.168.54.45/5062",Challenge="0d8352b3"

остается только вручную их заносить в iptables?
#32

Ну как, что делать... Может быть...

jail.conf:
Код:
[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1
#33

xelas @ Пн Янв 26, 2015 13:11 писал(а):
Ну как, что делать... Может быть...

jail.conf:
Код:
[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1


не выйдет. многие сотрудники пользуются sip-аккаунтами с мобильников через левые точки доступа или 3G посреди улицы.
если только их всех заставить vpn-подключение предварительно поднимать. Confused да и то по-моему не выход, мой андроид например не умеет в автоматическое переподключение впн, а низкий уровень сигнала сотовой сети может провоцировать разрыв соединения.


а о чем вообще говорят эти строки в логе? что за такой способ авторизации, который и не InvalidPassword и не InvalidAccountID.
#34

Ну это ж обычный digest auth.
Приблизительно так(подробнее в гугле по digest auth).
Клиент стучится на сервер. Сервер посылает ему challenge response в поле nonce.
Клиент генерирует md5 хеш с использованием этого nonce,логина, пароля, домена и посылает серверу обратно.
Если все хорошо -- аутентификация проходит. Если нет, то будет InvalidPassword.

То есть данное конкретное сообщение означает, что сервером для клиента сгенерен nonce и сервер ждет дальнейших шагов по аутентификации.
Так что надо смотреть на на это сообщение, а на следующее. Smile

Код:
^%(log_prefix)s SecurityEvent="(FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)",EventTV="[\d-]+",Severity="[\w]+",Service="[\w]+",EventVersion="\d+",AccountID="\d+",SessionID="0x[\da-f]+",LocalAddress="IPV[46]/(UD|TC)P/[\da-fA-F:.]+/\d+",RemoteAddress="IPV[46]/(UD|TC)P//\d+"(,Challenge="\w+",ReceivedChallenge="\w+")?(,ReceivedHash="[\da-f]+")?$


В примере выше, fail2ban обрабатывает только евенты FailedACL,InvalidAccountID,ChallengeResponseFailed,InvalidPassword.
#35

xelas @ Пн Янв 26, 2015 14:50 писал(а):
Приблизительно так(подробнее в гугле по digest auth).

спасибо, почитаю


xelas @ Пн Янв 26, 2015 14:50 писал(а):

То есть данное конкретное сообщение означает, что сервером для клиента сгенерен nonce и сервер ждет дальнейших шагов по аутентификации.
Так что надо смотреть на на это сообщение, а на следующее. Smile

так а нет следующего, только такие


т.е. вот успешная авторизация:
Код:
[2015-01-23 15:58:38] SECURITY[5244] res_security_log.c: SecurityEvent="ChallengeSent",EventTV="1421999918-878311",Severity="Informational",Service="SIP",EventVersion="1",AccountID="305",SessionID="0x1b15b668",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/192.168.54.45/15564",Challenge="37a92369"
[2015-01-23 15:58:38] SECURITY[5244] res_security_log.c: SecurityEvent="SuccessfulAuth",EventTV="1421999918-918079",Severity="Informational",Service="SIP",EventVersion="1",AccountID="305",SessionID="0x1b15b668",LocalAddress="IPV4/UDP/my.asterisk.ip.address/5060",RemoteAddress="IPV4/UDP/192.168.54.45/15564",UsingPassword="1"

как вы и сказали - получаем challenge response и потом авторизуемся

а в моем случае просто сплошные ChallengeSent, безо всяких последующих SuccessfulAuth или InvalidPassword, etc.
#36

Цитата:
а в моем случае просто сплошные ChallengeSent, безо всяких последующих SuccessfulAuth или InvalidPassword, etc.


Ну правильно. Кто-то ломанулся на ваш сервер. Сервер ему сказал: дорогой, вот те Challenge, давай авторизуйся.
Этот кто-то получил этот ответ и решил: данутянайух. И не ответил за запрос авторизации.

Что вам не нравится то?
#37

xelas @ Пн Янв 26, 2015 15:30 писал(а):
Цитата:
а в моем случае просто сплошные ChallengeSent, безо всяких последующих SuccessfulAuth или InvalidPassword, etc.


Ну правильно. Кто-то ломанулся на ваш сервер. Сервер ему сказал: дорогой, вот те Challenge, давай авторизуйся.
Этот кто-то получил этот ответ и решил: данутянайух. И не ответил за запрос авторизации.

Что вам не нравится то?

вот тут темку создавал: http://asteriskforum.ru/viewtopic.php?p=79062

leks_smile @ Пн Янв 26, 2015 10:42 писал(а):
elastix 2.5, asterisk 11

в лог постоянно сыпятся ошибки
CLI>
[2015-01-26 10:39:08] WARNING[3023]: chan_sip.c:4077 retrans_pkt: Timeout on 7ebf9beafed748c14c2c9bcaa6724d1e on non-critical invite transaction.
[2015-01-26 10:39:30] WARNING[3023]: chan_sip.c:4077 retrans_pkt: Timeout on f25c5181c089a2c6510a76017f7705d2 on non-critical invite transaction.
[2015-01-26 10:39:34] WARNING[3023]: chan_sip.c:4077 retrans_pkt: Timeout on c8a06a12ed29e54a9540f250a4f4862e on non-critical invite transaction.
[2015-01-26 10:39:37] WARNING[3023]: chan_sip.c:4077 retrans_pkt: Timeout on 08c078d821c4fd397882bf7fc7974a72 on non-critical invite transaction.
[2015-01-26 10:39:46] WARNING[3023]: chan_sip.c:4077 retrans_pkt: Timeout on 8b1a1447ac2458710da1fb51af6f64ee on non-critical invite transaction.

все вроде работает без нареканий, но в чем может быть причина этих варнингов? как то можно исправить?

вручную перебанил все айпишники, о которых речь шла выше, и ошибка прекратила появляться.
т.е. получается, атакующий получает инвайт, не отвечает на него, и он завершается по таймауту? отсюда и варнинги в full.

а в чем тогда смысл? если не ведется перебор пароля, а просто рандомно тыкается в различные sip-аккаунты.
с учетом того, что alwaysauthreject=yes, вообще не понимаю, какой резон.

разве что как в этой статье: https://xakep.ru/2011/07/12/56194/
Цитата:
Изначально клиент отправляет на Softswitch (например, Asterisk) запрос “REGISTER”, в котором нет пароля, а есть только contact. В ответ приходит сообщение “401 Unauthorized”, в котором указано, что нужно пройти “Digest access authentication”. В присланном сообщении сгенерированы nonce и realm. Используя nonce и realm (полученные от сервера), пароль и username (прописанные на шлюзе), а также digesturi, шлюз генерит md5-хэш — response — и отправляет все это обратно на Softswitch, который проверяет присланные данные. Если они верные, то возвращает 200 ОК, если нет — снова 401. Получается, если достать дамп регистрации, то у тебя окажутся все данные, кроме пароля, а его можно будет подобрать.

но ведь дамп регистрации атакующий никак не получит, если не будет доступа к ssh? т.е. опасаться нечего?
#38

Смысл в том, что атакующий пытается пробится "на шару". Он вряд ли шлет REGISTER. Он скорее всего, сразу шлет INVITE, рассчитывая, что попадет в пир с insecure=port,invite. Но обламывается, получая 401.

Цитата:
Получается, если достать дамп регистрации, то у тебя окажутся все данные, кроме пароля, а его можно будет подобрать.

Нет, это не верно. nonce генерируется рандомно и каждый раз он разный. А данные необходимые для регистрации есть и так: nonce и digestURI сервер отдаст сразу, при 401-ом.

Added after 5 minutes:

Точнее так, имея на руках response от клиента, который принял Астериск, и зная какой nonce и digestURI был при challenge, можно не теребя астериск подобрать пароль.
Получить дамп можно либо имея доступ к машине с астериском, либо находясь где-то по-середине между клиентом и астериском(например, на роутере прова клиента). Но это уже из области паранои. Ну и никто не мешает вам использовать SSL/TLS.
#39

Офигеть на старье пашут )) ...
#40

В "подчинении" несколько десятков серверов, организовал для них "круговую поруку". Головной сервер постоянно лезет в логи всех подчиненных, парсит и выцепляет что можно, формирует базу данных.
Потом второй проход - на каждом сервере блочит через iptables эти адреса.
Блочит каждый адрес на 10 суток.

Если кому интересно вступить в такую систему, и, возможно - дорабатывать ее, буду рад. В личку.
#41

Мы примерно так же подошли к вопросу, т.е. сбор данных со многих источников, так родился: http://frod.subnets.ru/
Собственно так же приглашаю тех кто хочет поучаствовать и поделиться своими данными.
#42

Не получается понять Fail2ban - fedora покрутил настройки logrotate - пришлось оставить путь /var/log/fail2ban.log - Через неделю создаётся новый файл fail2ban.log с размером 0 и больше не пишет лог , после перезапуска fail2ban пишет инфу в фаил , даже без перезапуска прога нормально адекватно пашет и банит , просто не пишет логи в файл fail2ban.log ХЕЛП ))) . Мож есть у кого рабочий конф ? ..
#43

скорей всего вы с logrotate создаете новый файл не с теми правами - или пользователь не тот или прав на запись нету
удалите файл и перезапустите fail2ban - посмотрите на log файл - кем он создан и с какими правами

_________________
платный суппорт по мере возможностей
#44
Правила лежат в папке logrotate.d 600 root root поменял на 640 жду )))) .
Думаю уже не актуально F19 Сейчас f21 , на F20 уже пашет ..

Федора - линукс

Удаление файла - не причём права теже просто тупой перезапуск решает всё - надоело )) ...
#45

Собирал в очередной раз астер 11.7 , подсунул в chan_sip.o плюшек для определения IP бармалеев , (напихал от жадности в 5 мест ) появилось такое : Unknown SIP command 'INVITErnrn' from '192.69.91.229:5061'
Ну я сразу правилом в fail2ban NOTICE.* .*: Unknown SIP command 'INVITErnrn' from \':*\' и нету бармалея ))) ..
#46 08.12.2011 08:31

Кто это ко мне ломится? (Sending fake auth rejection)


каждую ночь в логах по 50 строк:
NOTICE[3098] chan_sip.c: Sending fake auth rejection for device 5550000;tag=231158cf
порылся у себя ничего подобного 5550000 не нашел.
fial2ban не срабатывает, т.к. не видно IP
Что это может быть и как избавиться?
#47 08.12.2011 09:58

Re: Кто это ко мне ломится? (Sending fake auth rejection)


denklu писал(а):



вместо х какой адрес?
#48 08.12.2011 10:56

вместо xxx.xxx.xxx.xxx
внешний прямой IP моего астериска
#49 08.12.2011 14:34

чтоб срабатывал fail2ban надо добавить правило для обработки этой строки
_________________
Jabber конференция
сервер: conference.jabber.ru
комната: asterisk
#50 08.12.2011 14:45

правило создать не проблема, проблема идентифицировать того, кого нужно забанить. xxx.xxx.xxx.xxx это IP самого астериска. и банить самого себя как-то не логично
#51 08.12.2011 16:25

chan_sip.c


В файле chan_sip.c в районе строки №23937 и №21298 ты найдешь функции, которые и генерят это сообщение. Чуть выше есть похожая, но с выдачей IP. Просто сделай copy-paste, и будет тебе счастье. Ну и в fail2ban новое правило пропиши, основанное на этом сообщении. Как-то так.
J


Последний раз редактировалось: Joshoa (Чт Дек 08, 2011 16:50)
#52 08.12.2011 16:40

хорошо бы отправить в багрепорт чтоб добавили в транк... будет полезным IP в логе видеть однозначно.
#53 03.07.2012 09:39

в chan_sip.c 1.6.2.24 - ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_inet_ntoa(sin->sin_addr));

В 2-х местах Smile .
#54 28.01.2013 16:12

Цитата:
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_inet_ntoa(sin->sin_addr));


не работает в asterisk 11
как исправить чтобы показывало IP адрес хакера а не АТС?
#56 29.01.2013 09:00

Если бы fail2ban помог, но он не поможет, нету адреса атакующего, некого банить.

а в 11 не работает - во всех местах правили ? там вроде уже в 4 надо
#57 30.01.2013 06:45

Mikhail M. Pakhomov

строки в файле channel/chan_sip.c 22510, 23181, 25015 --> ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_sockaddr_stringify(addr));

ну, и пересобрать. после чего в консоли астера и в логах можно будет увидеть запись:

NOTICE[2540] chan_sip.c: Sending fake auth rejection for device 5550000;tag=a7d0f8ec [IP: 50.57.80.91:5080]
#58 30.01.2013 09:18

Есть ли решения для AsteriskNOW


Всем доброго. Имею проблему Sending fake auth rejection for device. Уяснил что по умолчанию chan_sip.so не логирует IP злоумышленника и необходимо собрать данный модуль с поддержкой такой функции. Проблема в том что у меня AsterikNOW версия Астериск 1.6.2.20. Я скачал исходники именно этой версии и собрал модуль заменив необходимые строки на
Код:
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_sockaddr_stringify(addr));
Но при замене дефолтного модуля этим, начисто пропадают все SIP пиры.
Вопрос: возможно ли в AsteriskNOW заменить дефотный модуль другим, собранным вручную?
#59 30.01.2013 11:20

to Bansher:

Код:
22510, 23181, 25015 --> ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_sockaddr_stringify(addr));


Этот код для 1.8.20.1. На 6-у код выше.
#60 30.01.2013 13:26

Прошу прощения, скопировал не ту строчку. Собирал конечно с кодом для 1.6. С другим просто не собирается. Так есть у кого мнение по сути вопроса?
#61 30.01.2013 15:45

Файл: channel/chan-sip.c
Код:
20708 ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));
22023 ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));

Переписать в вид:
Код:
20708 ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_inet_ntoa(sin->sin_addr));
22023 ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s [IP: %s]\n", get_header(req, "From"), ast_inet_ntoa(sin->sin_addr));

Сразу скажу, что не проверял ибо эта версия у меня не стоит. Из svn вытащил только интересующий файл. Версия 1.6.2. Пробуйте.
#62 30.01.2013 16:29

Да, я именно так и делал. Затем собрал модуль chan_sip.so и подсунул его работающему asterisk-у. Сделал /etc/init.d/asterisk restart. Asterisk поднялся, но без sip пиров. Михаил, то есть вы хотите сказать, что вообще это должно работать. Я правильно понял?
#63 30.01.2013 16:39

Сто процентов. А пробовали ручками модуль подгружать? В логах что пишет? Если модуль собрался, эта переделка никоим образом не влияет на его работоспособность, ведь там просто вывод данных. Хотя... В общем, нужно больше инфы.

У меня 1.8. Код под него, который кинул выше испытал лично. Работает. 1.6 под рукой не имею.
#64 31.01.2013 08:26

Михаил, спасибо за ответ. Подгружать модуль не пробовал. Просто положил его и рестартанул астер. На выходных буду мучить asterisk полностью. О результатах отпишусь.
#65 31.01.2013 08:56

Сделайте вот так:
Код:
cd source_asterisk_dir
vim channel/chan-sip.c - тут меняем код
make
sudo /etc/init.d/asterisk stop
sudo make install
sudo /etc/init.d/asterisk start
#66 31.01.2013 20:56

кстати, из совсем свежего, upnp root exploit: http://www.defensecode.com/public/Defens ... visory.pdf
и вообще в целом http://www.defensecode.com/article/upcom ... exploit-33
(70 миллионов проданых девайсов по миру, шутка ли)
так что не только астериск может быть причиной угона ваших эккаунтов.
список девайсов с дырой потенциально огромен
Цитата:
Broadcom, Asus, Cisco, TP-Link, Zyxel, D-Link, Netgear, US Robotics,
and so on.
#67 01.02.2013 23:41

я все это к тому что если вам на ротуер поставят снифер (это не сложно если есть рут) то смогут выдергивать ваши пароли прямо на лету из проходящего трафика. хуже сценария не придумать наверное.
поэтому, сперва проапдейтить всем прошивки (убедитесь что апдейт для вашего девайса уже есть) а затем включите везде шифрование по максимуму где только можно. все астерсиковские звонки пускайте только с шифрованием (даже локально), провайдеров просите о том же. это минимизирует потенциальные потери.
#68 02.02.2013 02:55

Mikhail Pakhomov @ Ср Янв 30, 2013 18:39 писал(а):
Сто процентов. А пробовали ручками модуль подгружать? В логах что пишет? Если модуль собрался, эта переделка никоим образом не влияет на его работоспособность, ведь там просто вывод данных. Хотя... В общем, нужно больше инфы.

У меня 1.8. Код под него, который кинул выше испытал лично. Работает. 1.6 под рукой не имею.


Все мои мучения пропали даром.
В общем изначально модуль был собран на ОС с не той разрядностью. 32 вместо 64. Ладно думаю. Поставил Ubuntu x64 12.04. Собрал. Поставил. "Фи" - сказал астериск. "Для поддержки данного модуля нужен что-то там 7 версии". Я не сдаюсь. Ставлю AstersikNOW той же версии, что и на продакшене. Собираю там модуль. Сую!
[2013-02-02 05:48:41] WARNING[6981]: loader.c:726 inspect_module: Module 'chan_sip.so' was not compiled with the same compile-time options as this version of Asterisk.
[2013-02-02 05:48:41] WARNING[6981]: loader.c:727 inspect_module: Module 'chan_sip.so' will not be initialized as it may cause instability.
[2013-02-02 05:48:41] WARNING[6981]: loader.c:810 load_resource: Module 'chan_sip.so' could not be loaded.

В общем скомпилить рабочий модуль для AsterskNOW наверное можно, если угадать все параметры с которыми она устанавливалась. Как это сделать, не представляю.
#69 02.02.2013 06:51

Цитата:
Bansher @ Сб Фев 02, 2013 09:55"]Все мои мучения пропали даром...

Вижу, что вы не собрали таки модуль. Расскажите, где правили, как собирали, что в консольке было? А еще лучше, чтобы не офтопить - стукнитесь мне в скайп.
#70 02.02.2013 09:38

Прошу помощи...
астер .1.8.9.2 на gentoo, fail2ban 0.8.4

сделал все по инструкции... айп появился, chan_sip.so подбросил итп.
добавил в fail2ban строку

NOTICE.* .*: Sending fake auth rejection for device.* \(:.*\)

эффект не дало в cli сыпется

[Feb 2 12:22:34] == Using UDPTL CoS mark 5
[Feb 2 12:22:34] NOTICE[18588]: chan_sip.c:22346 handle_request_invite: Sending fake auth rejection for device 8343;tag=b810c2ad [IP: XX.XXX.XXX.XXX:5074]
[Feb 2 12:22:34] NOTICE[18588]: chan_sip.c:22346 handle_request_invite: Sending fake auth rejection for device 8343;tag=b810c2ad [IP: XX.XXX.XXX.XXX:5074]

заранее спасибо!!!