Здравствуйте, я только что установил новую конфигурацию Asterisk с помощью freepbx и зарегистрировал учетную запись SIP.
Я настроил SIP-транк с данными моего провайдера, запустил консоль сзвездочка -vvvrкоманду для отладки, то я заметил, что журналы переполнены записями вроде этой:
== Using SIP RTP CoS mark 5
-- Executing [00088884600972595117946@from-sip-external:1] NoOp("SIP/XXX.XXX.58.107-00000355", "Received incoming SIP connection from unknown peer to 00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-sip-external:2] Set("SIP/XXX.XXX.58.107-00000355", "DID=00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-sip-external:3] Goto("SIP/XXX.XXX.58.107-00000355", "s,1") in new stack
-- Goto (from-sip-external,s,1)
-- Executing [s@from-sip-external:1] GotoIf("SIP/XXX.XXX.58.107-00000355", "1?checklang:noanonymous") in new stack
-- Goto (from-sip-external,s,2)
-- Executing [s@from-sip-external:2] GotoIf("SIP/XXX.XXX.58.107-00000355", "0?setlanguage:from-trunk,00088884600972595117946,1") in new stack
-- Goto (from-trunk,00088884600972595117946,1)
-- Executing [00088884600972595117946@from-trunk:1] Set("SIP/XXX.XXX.58.107-00000355", "__FROM_DID=00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-trunk:2] NoOp("SIP/XXX.XXX.58.107-00000355", "Received an unknown call with DID set to 00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-trunk:3] Goto("SIP/XXX.XXX.58.107-00000355", "s,a2") in new stack
-- Goto (from-trunk,s,2)
-- Executing [s@from-trunk:2] Answer("SIP/XXX.XXX.58.107-00000355", "") in new stack
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/8.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000351> Playing 'digits/9.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-0000034f> Playing 'digits/6.ulaw' (language 'en')
-- Executing [s@from-trunk:5] SayAlpha("SIP/XXX.XXX.58.107-00000353", "00088884400972595117946") in new stack
-- <SIP/XXX.XXX.58.107-00000353> Playing 'digits/0.ulaw' (language 'en')
-- Executing [s@from-trunk:3] Wait("SIP/XXX.XXX.58.107-00000355", "2") in new stack
-- <SIP/XXX.XXX.58.107-00000350> Playing 'digits/1.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/8.ulaw' (language 'en')
-- Executing [s@from-trunk:6] Hangup("SIP/XXX.XXX.58.107-0000034f", "") in new stack
== Spawn extension (from-trunk, s, 6) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f'
-- Executing [h@from-trunk:1] Macro("SIP/XXX.XXX.58.107-0000034f", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/XXX.XXX.58.107-0000034f", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/XXX.XXX.58.107-0000034f", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/XXX.XXX.58.107-0000034f", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f' in macro 'hangupcall'
== Spawn extension (from-trunk, h, 1) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f'
-- <SIP/XXX.XXX.58.107-00000351> Playing 'digits/7.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000350> Playing 'digits/1.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000353> Playing 'digits/0.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/4.ulaw' (language 'en')
Я просто не могу отладить свой транк из-за этих надоедливых соединений от неизвестных пиров. Что это за вызовы, как я могу отследить их происхождение, может ли это быть неисправным тестовым инструментом от моего провайдера?
решение1
Даже при отключенном GUEST ваш сервер Asterisk все равно будет подвергаться попыткам взлома SIP. Вам следует установить что-то еще для мониторинга и управления атаками. ПосмотритеБезопасность Астерискдля предложений и даже основ того, как защитить ваш сервер Asterisk. (Отключения гостя НЕ достаточно)
решение2
Думаю, все зависит от того, - я предполагаю, что вы используете Asterisk на каком-то Linux? Я делал это несколько раз, и это может быть немного сложно здесь и там. Но - когда дело доходит до отладки, есть ряд инструментов, которые могут помочь.
Неизвестные клиенты могут быть заблокированы, например, с помощью IPTables. Если вы знаете, откуда должны поступать ваши звонки, вы можете настроить правила брандмауэра, чтобы блокировать все, кроме этого. Именно это я и сделал — убедившись, что только мои собственные клиенты и любые вышестоящие системы АТС могут общаться.
Чтобы выяснить, кем на самом деле являются неизвестные клиенты, вы можете использовать такие инструменты, какWiresharkфильтровать соединения по типу и т. п. Обычно это позволяет получить ясную картину происходящего.
Это всего лишь указания. Вы можете немного подробнее рассказать о своей настройке — тогда я смогу быть более конкретным.
решение3
Ну, я обнаружил, что разрешаю гостям SIP. Похоже, что многие боты ищут незащищенные серверы для спама или ретрансляции.
Поэтому я просто отключил эту опцию, и мои журналы вернулись в нормальное состояние.
решение4
Насколько я помню, это можно отключить на серверах Trixbox через PBX > Редактор файлов конфигурации > sip_general_additional.conf
Добавьте к нижней строке:
allowguest=no
нажмите «Обновить».
затем перейдите в меню «Система» > «Обслуживание системы» > «Сбросить сейчас».
Все сделано.