Grandstream UCM 6202 mit 1und1 und Fritzbox in Betrieb genommen und gleich "gehackt" worden?

Wenn in der FritzBox keine Rufnummern hinterlegt und Endgeräte angemeldet sind, routet die SIP Anfragen meistens auch durch, hängt aber immer auch vom Modell und der Firmware ab (hab da noch kein Muster erkannt)
Unser Thread dazu …
Es gibt Suchmaschinen, z.B. shodan, die auf sowas spezialisiert sind.
Bei 1&1 bekommst Du jeden Tag eine neue IP-Adresse. Und trotzdem wird bei 1&1 (jedenfalls hier über Deutsche Telekom) den ganzen Tag das Netz mit SIP-Anfragen geflutet. Ich sehe in meinem Honey-Pot wirklich die wildesten Dinger. Gegen diese Angriffe hilft auch SIP-over-TLS nichts. Auch wenn ich ein großer Befürworter davon bin. Aber in diesem Szenario ist es gegenteilig, denn diese automatisierten Angriffe sind bereits so ausgefeilt, dass sie sich an die Realm aus den SIP-Antworten und auch die Domain(s) aus dem TLS-Zertifikat heften. Allerdings finde ich spannend, dass Mail-Server kaum angeschaut werden. SIP und HTTP sind die Ziele.
1&1, Router und IP-Telefonanlage dahinter […] nur mit Port-Weiterleitung
1&1 macht es einem nicht leicht, weil wie in Deinem Querverweis geschildert, ankommende Telefonate auf verschiedenen IP-Adressen hereinkommen. Seit einiger Zeit bietet 1&1 die SIP-Telefone auch über IPv6. Ob es damit besser geworden ist, habe ich noch gar nicht getestet.
 
Ich habe mich nach dem (langen) Wochenende einmal mit dem CDR auseinander gesetzt und mir auch weitere Logs angeschaut. Was es ein wenig schwierig macht, ist dass auch gewollte und korrekte Anrufe rein- und rausgehen, da diese über die FB registriert sind (also Standard). Ich habe nur eine dieser Nummern in der FB deaktiviert und auf die PBX geschaltet.

Wie geschrieben, hatte ich vor dem Wochenende noch die AUTH-IDs der einzelnen Extensions von den normal genutzten Nebenstellen-IDs (also 1000 etc.) auf komplexe Konstrukte geändert, so dass die Kombination aus einem Username à la 1C!O!MN!#TA4TyBf1LJn und einem PW in ebensolcher Zusammensetzung benötigt wird, um die Extension zu registrieren.
Weiterhin hatte ich ja die Fail2Ban-Einstellungen vorgenommen, was zu vier geblockten IPs geführt hat (ich hatte auf mehr gehofft).

Den Hinweis von @PBXservice habe ich dann noch berücksichtigt und die Guest Calls deaktiviert.
Aus dem verlinkten Security Manual habe ich dannoch die IP Access Controll angepasst und bei jeder Extension unter Media bei "ACL Policy" den Eintrag "Local Network Address" ausgewählt und dann 192.168.178.0/24 hin das Feld der IP eingetragen. Somit sollten sich nur Geräte für die Extension registrieren können, die im lokalen Netzwerk sind.
Wenn Du schreibst "SIP TLS einrichten", meinst Du wahrscheinlich unter PBX Settings > SIP Settings > TCP/TLS entsprechende Zertifikate zu hinterlegen? Ich habe mir hierzu die Anleitung einmal angeschaut, die leider nicht sehr umfangreich ist. Kannst Du mir hierzu noch ein paar Worte schreiben? Muss ich mir hier ein entsprechendes TLS-Zertifikat (theoretisch Let'sencrypt?) besorgen und es dann sowohl auf der UCM als auch auf jedem externen (oder gar allen - auch lokalen) Client installieren?
Ich habe dann auch noch testweise eine Firewall-Regel eingerichtet mit einer IP, die zuletzt häufiger versuchte zu telefonieren 1591113999672.png
Dynamic Defense habe ich wieder deaktiviert, da aus der Anleitung hervorgeht, dass dies nur bei "Route" als Betriebsart der UCM funktioniert. Ich habe die Anlage als "Switch" hinterlegt.

Gibt es eigentlich eine Möglichkeit eine Outbound-Regel zu erstellen, die egal was man wählt IMMER auf eine bestimmte Nummer weitergeleitet wird? Hintergrund: Es wird nur diese Outbound-Regel hinterlegt. Versucht nun jemand auf Telefonnummern in Algerien oder Israel oder auch nebenan anzurufen, kommt er immer auf der definierten z.B. meiner Nummer raus und so bekomme ich sofort mit wenn jemand raustelefonieren will.
 
Wenn "Allow Guest Calls" aktiviert war, dann ist klar weshalb die Anlage Anrufe über die 1000 abgesetzt hat.
Es gibt Bots im Internet, die den ganzen Tag nichts anderes machen als INVITE Pakete für Anlagen übliche Default-Nebenstellen wie 10,100,200,1000, etc. zu versenden.

Allow Guest Calls führt dazu, dass die UCM unauthorized INVITE Pakete annimmt und weiter verarbeitet. Sobald also die Nebenstelle 1000 existiert, akzeptiert die UCM die Anfrage des Bots und setzt den Anruf ab. Unabhängig davon, ob die 1000 über die Source IP registriert ist, oder nicht.
Dein Problem sollte nun also ersteinmal nicht mehr auftreten.

Bezüglich SIP TLS: Ja, genau da (PBX Settings > SIP Settings > TCP/TLS) sollten die Zertifikate hinterlegt sein. Es besteht auch die Möglichkeit Self-Signed Zertifikate zu nutzen. Let's Encrypt ist also nicht zwingend notwenig. Für interne Nebenstellen sehe ich SIP TLS nicht als notwendig an. Für externe würde ich das aber empfehlen, da die SIP Kommunikation sonst unverschlüsselt über öffentliche Netze geht. SIP TLS ist rein optional, heißt die internen Nebenstellen können auch weiterhin unverschlüsselt auf dem SIP Port angemeldet werden. GS Wave von Grandstream unterstützt SIP TLS und lässt sich relativ simpel einrichten.

Leider kenne ich keine Möglichkeit Trigger für z.B. die Blacklist einzustellen, oder wie von dir gedacht eine Route zu bauen, die immer im selben Ziel landet.
Soweit ich weiß, ist aber ein Trigger für Blacklist Anrufe bereits auf der Wunschliste bei Grandstream.

Da du aber Allow Guests deaktiviert hast, sehe ich keine großen Probleme für weitere solche Anrufe.
Außer Grandstream hat mal wieder eine Sicherheitslücke, die nicht sofort gepached wird ;)
 
Danke! Ich war auch gerade dabei zu schreiben. Nach den Einstellungen von gestern gibt es im CDR keinerlei Einträge mehr über Nacht. Wenn ich hätte raten müsste, wäre ich auch bei den Guest-Calls gelandet. Im CDR war auffällig, dass bei "Source Channel" bei den Zugriffen Infos wie "PJSIP/anonymous-0000003f" stand wobei der "anonymous"-Part immer da war und die Zahl hinten wechselte.

Danke auch für den Hinweis beim Selbst signierten Zertifikat. Hast Du hier eine Empfehlung wie / wo man ein solches machen kann? Wenn ich z.B. eine Seite wie https://www.selfsignedcertificate.com/ nehme, trage ich dann bei "Server Name" die öffentliche IP / URL (über MyFritz) der Telefonanlage ein? Andere Seiten wie z.B. https://www.sslchecker.com/csr/self_signed wären eine von vielen Alternativen (wobei die gerade beim Test nicht funktionierte).

Hier noch ein Nachtrag bzgl. "Update von Grandstream-Geräten (über UCM)", da dies hier auch zu den Sicherheitsthemen gehört: Leider hat mich dieses Thema ziemlich viel Zeit gekostet, hier eine Anleitung für alle, die dasselbe Problem (eine UCM und mind. ein Grandstream Telefon mit veralteter Firmware) haben. Es gibt wahrscheinlich noch andere Wege, dieser hier hat aber nach langem Hin und Her für mich funktioniert.

Update der Firmware von GS-Devices über Zero Config der Grandstream UCM:
  1. Die UCM wird als Update-Zentrale verwendet, da ich es bis zum Schluss nicht geschafft habe die Firmware vom GS-Server zu saugen. Auf der anderen Seite würde das aber auch dazu führen, dass sich jedes einzelne Gerät separat mit GS verbindet und jedes Mal etliche MB herunterlädt. Mit der Lösung, die ich gegangen bin, lädt man die Software einmalig runter und speichert sie direkt in der UCM lokal. Die Geräte greifen dann nur noch lokal darauf zu was dazu führt, dass es viel schneller geht. Man muss jedoch die Updates im Auge behalten.
  2. Wir haben aktuell drei verschiedene Endgeräte im Einsatz. Das 2130, 2135 und DP752. Jedes Gerät erhält über http://www.grandstream.com/support/firmware eigene Firmware.
  3. In der UCM unter Value-added Features > Zero Config > Model Templates lege ich für jedes Modell ein eigenes Template an
  4. Dazu klicke ich auf "Add" und suche dann im Dropdown das betreffende Modell aus. Template Name und Description haben nur informativen Hintergrund und können daher frei vergeben werden.
  5. Die beiden Haken bei "Default Model Template" und "Active" setze ich
  6. Bei "Options" wähle ich "Maintenance"
  7. Hier klicke ich alle Einträge weg, die (aktuell) nicht benötigt werden, da sie auch über eine Global Policy für alle Geräte gleich eingespielt werden können (hierdurch hatte ich mir im ersten Versuch die Web Interface Passwörter aller angesprochenen Geräte zurückgesetzt).
  8. Nur "Firmware Source" lasse ich hier stehen und wähle im ersten Dropdown "Local UCM Server"
  9. Bei Server Path klicke ich auf das kleine Schubladenicon rechts
  10. Dann klicke ich oben in des "Directory" Dropdown und wähle "Create New Directory"
  11. Dieses neue Verzeichnis benenne ich nach dem Modell also z.B. 2130
  12. In dieses Verzeichnis kopiere ich dann die Firmware. Hier ist SEHR wichtig (hat mich auch einiges an Lebensenergie und -zeit gekostet), dass man sicherheitshalber JEDEN Firmwareschritt macht. Es war mir z.B. nicht möglich von 1.0.5.x auf 1.0.11.x zu upgraden. Leider gab es keine unterstützende Fehlermeldung diesbezüglich. Somit habe ich nur die nächsthöhere Version der Firmware in das Verzeichnis kopiert durch "Choose File to Upload".
  13. Wenn das Update-file (nicht die ZIP, sondern die entpackte BIN!) dann im Verzeichnis liegt das Uploap-Popup wegklicken und bei Server Path das eben erstellte Verzeichnis auswählen. Bei mir sieht das dann so aus: 1591368989427.png
  14. Dann oben rechts auf "Save" klicken
  15. Unter "Global Policy" im Bereich "Maintenance" nehme ich dann noch bei "Firmware Upgrade Rule" die Einstellung "Always check for updates" - überraschenderweise handelt es sich übrigens auch um eine Downgrade-Möglichkeit. Habe ich eine ältere Version auf der UCM und lasse ein Telefon mit einer neuen Version die Firmware "checken", installiert das Gerät die alte Version.
  16. Nun gehe ich in den Bereich "Zero Config" und erstelle über den Klick auf dieses Wolkensymbol für die betreffenden Geräte eine Config-Datei. (Hier ist ganz wichtig -wieder einiges an Zeit-, dass man die UCM unter System Settings > HTTP Server > Protocol Type = HTTP setzt. Ich hatte hier (na klar!) HTTPS hinterlegt. Damit war es aber nicht möglich eine Config-Datei zu erstellen und egal wie häufig ich auf das Wolkensymbol geklickt habe in der Spalte "Create Config" stand kein Datum und keine Uhrzeit.1591369454485.png)
  17. Teilweise bootete das Telefon dann selbständig neu, teilweise musste man das Gerät aktiv neubooten lassen.
  18. Beim Neustart wird dann die Firmware installiert. Bei den 2130 automatisch bei den 2135 war es hingegen so, dass die nach kurzer Zeit nach dem Neustart dann eine Info auf dem Display zeigten "Es ist eine neue Firmware verfügbar, soll die installiert werden". Hier musste ich dann bestätigen.
  19. Wenn die neue Firmware installiert ist und es noch weitere (neuere) Versionen gibt, werden die Schritte 12-18 so lange wiederholt bis die aktuelle FW auf dem Gerät ist.
  20. Man kann dann in der UCM bei Zero Config durch Klick auf "Auto Discover", Auswahl von "SIP-Message" bei Scan-Method und Eintragen von eine beliebigen IP aus dem Netz (oder das betreffende Gerät) die Übersicht aktualisieren und sehen, ob die neue FW drauf ist. Im ersten Schritt wird nach dem Scan immer nur das eine Gerät angezeigt, dann oben links auf "Filter" - All gehen und es werden wieder alle Geräte angezeigt.
Soweit eine kurze Anleitung wie es das Updaten bei den Geräten nach viel Zeit hinbekommen habe. Es sind nun noch einige Schritte zu tun (aktuell offene Themen u.a. gemeinsames Telefonbuch wie bei der Fritzbox, welches eingehende Anrufe identifiziert und von jedem Teilnehmer editiert werden kann (letzteres funktioniert leider nicht mit LDAP); warum ist in der Zero Config nicht jedes Telefon von der UCM zu booten?)

Im Zusammenhang mit Nr. 16 und HTTP / HTTPS ist übrigens noch zu erwähnen, dass es (wahrscheinlich ohne hinterlegtes SSL-Zertifikat) auch Probleme gibt, wenn man versucht per https auf die einzelnen Geräte zuzugreifen, daher sollte in der Global Policy solange bei Maintenance > Web Access Mode "HTTP" eingestellt sein, so dass alle Geräte wissen, dass sie nicht auf https routen sollen was meine Geräte im Zusammenhang mit den Updates nämlich plötzlich machten.

Ich hoffe, dass diese Anleitung dem ein und anderen Zeit sparen wird beim Thema Updates und Sicherheit der Grandstream-Anlage.
 
Zuletzt bearbeitet:
Der Thread ist zwar schon ein paar Tage her...
Eine registrierte Asterisknummer in der DSL FRITZ!Box kann schon brandgefährlich werden.
Die Wahlpläne sollten wasserdicht sein.
Welche Brandlast meinst Du damit genau? Bzw. worauf sollte man beim Abdichten achten?
 
Die in der FRITZ!Box angelegte Asteriskrufnummer darf keine Weiterleitung ( in Asterisk ) erfahren oder in einem Menü aufschlagen wo auf eine Extension ( Eingabe einer Rufnummer, waitexten() oder background() ) gewartet wird.
Es sollte nur das Telefon signalisieren welches diese Rufnummer in der FRITZ!Box zugewiesen wurde.
...kann natürlich auch eine Umleitung ( in der FRITZ!Box ) auf einen AB sein.
Vorteil einer Asterisknummer in der FRITZ!Box: Komplett "Rufbehandelbar" in der F!B
Weiterleitungen im Asterisk, besonders wenn nicht alle Wahlpläne mit dialplan auf Inkonsistenten gecheckt wurden, können richtig teuer werden.
 
Zuletzt bearbeitet:
Und warum kann ein Angreifer allein über die SIP-Schnittstelle der Fritzbox auf den dahinterliegenden Asterisk durchspringen? Die FB hört doch nur auf den Registrar für das Rufnummerkonto und "routet" auf die eigenen Telefonendpunkte weiter oder was übersehe ich?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.