Hallo, ich habe gerade eine neue Asterisk-Konfiguration mit Freepbx installiert und mich für ein SIP-Konto angemeldet.
Ich richtete den SIP-Trunk mit meinen Providerdaten ein, startete die Konsole mit demSternchen -vvvrBefehl zum Debuggen, dann bemerkte ich, dass die Protokolle mit Einträgen wie diesen überflutet sind:
== 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')
Ich kann meinen Trunk wegen dieser lästigen Verbindungen von unbekannten Peers einfach nicht debuggen. Was sind das für Anrufe, wie kann ich ihren Ursprung verfolgen, könnte es an einem fehlerhaften Testtool meines Providers liegen?
Antwort1
Selbst wenn GUEST ausgeschaltet ist, wird Ihr Asterisk-Server immer noch von SIP-Hacking-Versuchen betroffen sein. Sie sollten zusätzliche Maßnahmen installieren, um die Angriffe zu überwachen und zu verwalten. Schauen Sie sich an:Asterisk-Sicherheitfür Vorschläge und sogar die Grundlagen zur Sicherung Ihres Asterisk-Servers. (Gast aus ist NICHT genug)
Antwort2
Ich denke, es kommt ganz darauf an. Ich gehe davon aus, dass Sie Asterisk auf einer Art Linux ausführen. Ich habe das schon mehrmals gemacht und es kann hier und da ein bisschen knifflig sein. Aber wenn es um die Fehlerbehebung geht, gibt es eine Reihe von Tools, die helfen können.
Unbekannte Clients können beispielsweise mit IPTables blockiert werden. Wenn Sie wissen, woher Ihre Anrufe kommen sollen, können Sie Firewall-Regeln einrichten, um alles andere zu blockieren. Das habe ich getan – ich habe sichergestellt, dass nur meine eigenen Clients und alle vorgelagerten PBX-Systeme miteinander kommunizieren können.
Um herauszufinden, wer die unbekannten Kunden wirklich sind, können Sie Tools wie verwenden:Wiresharkum Verbindungen nach Typ usw. zu filtern. Dies sorgt normalerweise für ein klares Bild dessen, was vor sich geht.
Dies sind nur Hinweise. Vielleicht möchten Sie Ihr Setup etwas genauer beschreiben, dann kann ich vielleicht genauer sein.
Antwort3
Nun, ich habe herausgefunden, dass ich SIP-Gäste zugelassen habe. Es scheint, als würden viele Bots nach ungesicherten Servern suchen, um Spam zu versenden oder weiterzuleiten.
Daher habe ich diese Option einfach deaktiviert und meine Protokolle sind jetzt wieder im normalen Zustand.
Antwort4
Soweit ich weiß, kann dies in Trixbox-Servern über PBX > Konfigurationsdatei-Editor > sip_general_additional.conf deaktiviert werden.
Zum Endergebnis hinzufügen:
allowguest=no
Klicken Sie auf „Aktualisieren“.
Gehen Sie dann zu System > Systemwartung > Jetzt zurücksetzen.
Alles erledigt.