frod.subnets.ru

Предложения, замечания, ошибки и т.п. по сайту/форуму/блогу.

frod.subnets.ru

Сообщение root » 17 сен 2015, 07:57

Идея, которая сидит не только в наших головах, до которой пока ни у кого толком руки так не дошли…
Идея проста: для email есть тот же Spamcop, а для VoIP ? Хм… да ничего нету… И вот этот пробел хорошо бы устранить.

Что необходимо ?

Online сервис, в последствии распределенный сервис, который будет содержать список фродовых номеров и/или направлений и предоставлять возможность обращаться к нему за этим данными, например перед тем как разрешить совершение вызова.

Что это даст ?

Ну как минимум: клиенту это может сэкономить его деньги, а нам это даст сохранение клиента, своих нервов и попыток доказать клиенту, что его система все же совершала вызовы на дорогие направления.
Ведь наверняка и у вас было когда клиент говорил «это не мое !» и потом «тогда я отключаюсь от вас».

Так было принято решение: brain -> hands -> service 
Встречайте пилотную версию нового проекта subnets.ru -> frod.subnets.ru

Надо же с чего то начинать.
Вот вкратце как предполагается использовать и уже сейчас можно использовать:
Asterisk dialplan
DNS + ENUMLOOKUP

Пример контекста:
Код: Выделить всё
[tests]
exten => test,1,Set(DIAL=${ENUMLOOKUP(${EXTEN},,,,frod.subnets.ru.)})
exten => test,n,NoOp(${DIAL})
exten => test,n,GotoIf($["${DIAL}" = ""]?dial:frod)
exten => test,n(dial),NoOp(Dial(SIP/prov/${EXTEN},60,ti))
exten => test,n,Hangup
exten => test,n(frod),NoOp(Frod detected, skip dial)
exten => test,n,Hangup

В CLI Asterisk будет:
-- Executing [test@tests:1] Set("SIP/6003-000002b2", "DIAL=810972592132872@127.0.0.1") in new stack
-- Executing [test@tests:2] NoOp("SIP/6003-000002b2", "810972592132872@127.0.0.1") in new stack
-- Executing [test@tests:3] GotoIf("SIP/6003-000002b2", "0?dial:frod") in new stack
-- Goto (tests,test,6)
-- Executing [test@tests:6] NoOp("SIP/6003-000002b2", "Frod detected, skip dial") in new stack
-- Executing [test@tests:7] Hangup("SIP/6003-000002b2", "") in new stack

API Для тех кому нужно будет большее чем DNS запрос, будет доступно API:

URL для обращения к API -> http://frod.subnets.ru/api/query.php
Описание API -> http://frod.subnets.ru/api/help.php
Примеры запросов к API -> http://frod.subnets.ru/api/request.php

Консоль:
Код: Выделить всё
# nslookup 7781046406664700.frod.subnets.ru
Server: 91.217.137.1
Address: 91.217.137.1#53

Name: 7781046406664700.frod.subnets.ru
Address: 216.121.95.194


P.S. Тема создана постфактум, для обсуждений проекта.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1847
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: frod.subnets.ru

Сообщение Андрей » 21 сен 2015, 15:15

Если я правильно понял, то это своего рода "блэклист", но для номеров.
Если я правильно понял, то меня смущает понятие "направление", т.к. в моем понимании (человека далекого от VoIP) направление - есть группа номеров принадлежащая какому-либо оператору/группе_операторов/стране. В виду последних событий, которые потрясли мой web-сервер, я понял что понятие Геополитики и обнаружения атаки достаточно твердо не устоялись, т.к. пришлось блокировать целые группы /8 сетей, которые в свою очередь только плодились и множились, продолжая атаковать из "своей страны".

Другая сторона - ряд пользователей рано или поздно попадет в понимаемое мной множество "направление", и тут встанет вопрос о правомерности такого внесения. Поясню пример. Гражданин root поругался с одним из операторов сотовой связи и сказал: "Раз так, то вам никто не позвонит". Далее он банит их всех через свой сервис. Монополия какая-то... В принципе он прав будет, если произнесет фразу: "Не нравится - пишите свой блеклист с блекджеком и проводами."

В целом, решение достаточно интересное, но дополнительно накладывается вопрос раскрутки.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: frod.subnets.ru

Сообщение root » 21 сен 2015, 17:37

Во-первых, root не собирается делать ничего подобного.
Во вторых, речь идет ТОЛЬКО О ЗАБУГОРЬЕ.
В третьих, копипастну часть своего ответа на наге:
Могу тока добавить крылатое - "Знание - сила, а незнание тьма."
Как вы будете поступать с данными дело сугубо ваше.
Вы можете бесприкословно им доверять и отбивать вызовы на такие номера, блокировать IP-адреса и пр.
Вы можете дополнять собствнные системы анализа, если у вас таковые есть, нашими данными и уже на основе двух "мнений" принимать решение что делать - отбивать/блокировать/уведомлять/ничего не делать и тд.
Мы можем предоставить:
- исходный номер
- преобразованный номер для набора из РФ
- IP-адрес злоумышленника
- кол-во раз набора данного номера
- дату занесения номера в БД проекта
- дату последнего набора данного номера


Андрей писал(а):Поясню пример. Гражданин root поругался с одним из операторов сотовой связи и сказал: "Раз так, то вам никто не позвонит". Далее он банит их всех через свой сервис.

Поясню пример:
Получив ответ от сервиса о блокировании гражданин Андрей основываясь на желаемой им логике уведомляет себя любимого о данном факте и принимает свое собственное решение о том, что с этим делать.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1847
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: frod.subnets.ru

Сообщение root » 21 сен 2015, 18:33

april22 прислал на почту небольшую инструкцию по его опыту внедрения frod.subnets.ru для FreePBX.
тут охота рассказать как бороться с фродовым трафиком
путь первый, простой и лаконичный .
первым делом нам надо перенести контекст
macro-dialout-trunk из файла extensions_additional.conf
в файл extensions_override_freepbx.conf. Почему так, потому что файл extensions_override_freepbx.conf имеет брольшей приоритет в конфигах, и все что в нем содержится заменит собой содержимое extensions_additional.conf .
скопировав полностью контекст, находим строку в нем.
Код: Выделить всё
exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS})

и перед диалом, вписываем
Код: Выделить всё
exten => s,n,Macro(frod,${OUTNUM})

данной строкой, переходим в контекст макро-Frod, и передаем туда еще набираемый номер, но помним, что при переходе имя переменной будет утеряно и там она у нас окажется ${ARG1}, тк передеется на первом месте - и следовательно она первая.

далее открываем файл extensions_custom.conf
и пишем туда контекст макро-фрода.
Код: Выделить всё
[macro-frod]
exten =>s,1,NoOp( Out-number: ${ARG1})
;некоторые кул хацкеры могут прощупывать диалплан, поэтому приведем к стандартному виду для РФ
exten => s,n,Set(DIAL=810${ARG1:-12})
exten => s,n,Set(DIAL=${ENUMLOOKUP(${ARG1},,,,frod.subnets.ru.)})
exten => s,n,NoOp(${DIAL})
exten => s,n,GotoIf($["${DIAL}" = ""]?dial:frod)
exten => s,n(dial),MacroExit()
exten => s,n(frod),NoOp(Frod detected, skip dial)
exten => s,n,Hangup

ну вот собственно и все, путь новичка по тюнингу диалплана завершон.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1847
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia


Вернуться в Проект Subnets.ru

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron