Приветствую всех астерисководов!
Задача:при входящих звонках с одного и того же номера и при сбросе в течение 1 секунды абонента должно заносить в черный список, чтобы абонент больше не смог дозвониться.
Вопрос: какие есть варианты и средства реализации в asterisk и вспомогательного ПО? Заранее благодарю за участие!
есть варианты
1) бан по ip. 2) бан по CID. 3) бан по username
применяются они одновременно.
1) уровень 0 - fail2ban+iptables. это банит только ОЧЕНЬ настырных. урвоень 1 . сначало в диалплане надо добавить команды пишущие ip. потом анализ cdr за последние 10 минут, час, день и бан.
2) анализ cdr, после чего номер добавлется в блеклист. как его проверять - смотрите в freepx/elastix/trixbox. там даже можуль такой есть.
3) анализ cdr+ смена пароля и письмо администратору.
Для защиты от коротких звонков используйте средства диаплана и БД. В связке с БД можно анализировать флудерсатов и банить.
exten => s,1,Noop(звонят)
exten => s,n,Noop(что-то делаем)
exten => s,n,ExecIF($[${EXISTS(${DB(FLOOD/${CALLERID(num)})})}]?Hangup) ; флудераст, кладем трубку
....
exten => h,1,Noop(звонок кладется, продолжаем анализ)
exten => h,n,ExecIF($["${CDR(duration)}" = "1"]?Set(DB(FLOOD/${CALLERID(num)})=1) ; заносим в БД с длительностью 1 секунда.
Не удивлюсь , если сейчас будет вопрос "как это сделать в Elastix/TrixBox"
zzuz ( 2011-11-18 10:40:14 +0400 )редактироватьЧто как вариант? Не сочтите меня за скрягу, но раздражают ньюансы , когда авторы решают , что тут сами должны догадываться о версиях, настройках и прочем. Я могу конечно отпустить шутку баянистую по поводу телепатов и "типа ждите , настраиваемся на ментальные каналы вашим синопсов" , но надоедает.
zzuz ( 2011-11-18 10:45:20 +0400 )редактировать"как это сделать в Elastix/TrixBox" - довольно частая фраза после многих ответов для простого диаплана. Это включение сарказма , а не предвзятость.
zzuz ( 2011-11-18 10:46:43 +0400 )редактироватьКак вариант я имею ввиду что это один из возможных вариантов решения задачи, что мне и нужно узнать.
OlegPershin ( 2011-11-18 11:17:51 +0400 )редактироватьЯ использую freepbx, но только для простых задач, например добавить внутренний номер.
OlegPershin ( 2011-11-18 11:19:17 +0400 )редактироватьнапишите обертку ввиде диаплана , которая будет принимать вызов , анализировать и банить. И впишите её в Custom Destination , чтобы потом использовать в правилах Inbound Routes. Даже две обертки , потому как надо анализировать и Hangup . А лучше интегрировать кастомное решение с модулем Blocklist , добавляя в БД модуля нужные номера , а банить он будет своими средствами , меньше писать придется.
zzuz ( 2011-11-18 11:25:46 +0400 )редактироватьспасибо за уточнение. да именно custom extensions нужно использовать когда freepbx не помогает, а зачастую предпочитаю чистый астериск.
OlegPershin ( 2011-11-18 11:28:09 +0400 )редактироватьНе надо фанатизма . Freepbx - это набор диапланов с БД над "чистым астериском". А то народ взял привычку как бы извиняться за то , что не используют диаплан личнонаписанным.
zzuz ( 2011-11-18 11:34:09 +0400 )редактироватьЯ не извиняюсь. Еще раз уточню что для решения простых задач, для экономии времени freepbx отлично подходит. не все ж в текстовых конфигах делать? А если речь идет о создании кастомных сценариев где используется более широкий функционал диалплана, то тогда либо custom extensions либо чистый астериск.
OlegPershin ( 2011-11-18 11:38:42 +0400 )редактироватьНи то , ни другое не проблема. Если какая-то часть фреймворка не устраивает , её можно заменить.
zzuz ( 2011-11-18 11:45:38 +0400 )редактироватьЗаменить конечно можно, вы правы. Но заменять функционал потребует больше ресурсов и навыков.
OlegPershin ( 2011-11-18 11:47:47 +0400 )редактироватьiptables
- для правил фаервола
fail2ban
- для автоматическго бана по правилам брутфорса
sip.sonf
- для корректной настройки системы SIP
extentions.conf
- для настройки диаплана , учитывающий безопасность (IVR,DISA,callback)
sipvicious
- утилита по подбору и проверки слабых настроек sip.conf
/dev/hands
- для настройки всего этого
/dev/head
- для того , чтобы не задавать вопросы "а расскажите подробнее про это" , начать искать по искомым словам и настраивать.
То есть нужны примеры с картинками и полным собранием сочинением "Мне платят зарплату сисадмина, за что?"
zzuz ( 2011-11-18 10:28:49 +0400 )редактироватьПо поводу "чтобы не задавать вопросы "а расскажите подробнее про это"": Обращаюсь сюда из-за недостаточности информации, и вопрос был конкретный. Задача мне кажется достаточно нетривиальной и имеет достаточно много подходов к решению. Наверное стоит посоветоваться и прозондировать тему прежде чем приступать?
OlegPershin ( 2011-11-18 10:37:05 +0400 )редактироватьЧто здесь нетривиального? не надо жути нагонять , вон выше еще мой тролль-ответ .
zzuz ( 2011-11-18 10:38:42 +0400 )редактироватьЗадан: 2011-11-18 07:57:58 +0400
Просмотрен: 2,029 раз
Обновлен: Nov 18 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.