Schwache SIP-Authentifizierungs-ID

nick81

Premier Customer
Advanced Certified
Mitglied seit
3. Mai 2024
Beiträge
29
Hi zusammen,

ich bekomme bei 19 Usern den Warnhinweis, dass die SIP-Auth-IDs schwach sind.
Die betroffenen Benutzer nutzen:
- Yealink W90DM Dect Mobilteile
- Grandstream GWX4216 FXS Telefone oder Fax
- Fanvil i65 (i64 Konfig) Türsprechstelle
- 4x gar kein physisches Gerät

Bei ein paar User habe ich die Konfig bei Dect und FXS kontrolliert und die von 3CX automatisch generierten SIP-IDs haben teilweise keine Zahl. Damit ist die Meldung logisch. Bei den 4 Benutzern, die gar kein Endgerät haben, verstehe ich die Meldung allerdings nicht.

Weiß jemand, was genau geprüft wird, damit diese Meldung erscheint?
Wie ändert man die SIP-IDs am besten? (Geräte löschen und noch mal neu Registrieren?)
Woher könnten die Meldungen bei den Usern stammen, die keine Geräte besitzen?


1751444184744.png
 
Weiß jemand, was genau geprüft wird, damit diese Meldung erscheint?
Siehe im Blog zur finalen 3CX v20 u6 https://www.3cx.de/blog/v20u6-cdr-reporting/
  • Warnungen vor schwachen SIP-Anmeldeinformationen: Die Nutzerseite kennzeichnet nun Nebenstellen mit schwachen SIP-Authentifizierungs-IDs oder -Passwörtern und bietet Empfehlungen und kritische Warnungen für anfällige Konfigurationen.
Wie ändert man die SIP-IDs am besten? (Geräte löschen und noch mal neu Registrieren?)
Die SIP Auth-ID kann man so ändern, das zugehörige Passwort nicht. Das geht nur indem der Nutzer / die Nebenstelle zurückgesetzt wird.

Woher könnten die Meldungen bei den Usern stammen, die keine Geräte besitzen?
Jeder Nutzer hat diese Daten ab dem Zeitpunkt des Anlegens, auch wenn diese Daten nicht sichtbar sind und evtl. gar nicht genutzt werden.
 
Danke für die Rückmeldung

Die SIP Auth-ID kann man so ändern, das zugehörige Passwort nicht. Das geht nur indem der Nutzer / die Nebenstelle zurückgesetzt wird.
Ich kann auf der Seite des DECT/FXS die Auth-ID Ändern, wie ändert man das denn in 3CX? Es ist ja kein IP-Telefon unter dem Benutzer eingetragen, wo ich die Auth-ID einfach überschreiben könnte.

Jeder Nutzer hat diese Daten ab dem Zeitpunkt des Anlegens, auch wenn diese Daten nicht sichtbar sind und evtl. gar nicht genutzt werden.
Und wie bekomme ich dann die Meldung weg?
 
Ich kann auf der Seite des DECT/FXS die Auth-ID Ändern, wie ändert man das denn in 3CX? Es ist ja kein IP-Telefon unter dem Benutzer eingetragen, wo ich die Auth-ID einfach überschreiben könnte.
...
Und wie bekomme ich dann die Meldung weg?
siehe oben:
Die SIP Auth-ID kann man so ändern, das zugehörige Passwort nicht. Das geht nur indem der Nutzer / die Nebenstelle zurückgesetzt wird.
1751456329741.png
 
Diese SIP-ID sollte man aber anders ändern können.
Habe zB noch zwei User wo es angezeigt wird, Passwörter sind alle 20 Stellig, alles dabei und per Passwort Manager generiert.... warum sollte es jetzt nicht mehr passen und als unsicher gelten?
 
Diese SIP-ID sollte man aber anders ändern können.
Habe zB noch zwei User wo es angezeigt wird, Passwörter sind alle 20 Stellig, alles dabei und per Passwort Manager generiert.... warum sollte es jetzt nicht mehr passen und als unsicher gelten?
Du kannst natürlich mal die API durchforsten ob es da auch mit geht, ansonsten steht der Weg ja schon da.
 
  • Like
Reaktionen: MarcosV_3CX
Diese SIP-ID sollte man aber anders ändern können.
Ja, kann man, es gibt weitere Wege. In der 3CX Verwaltungskonsole ist es das von mir geeigte und von 3CX präferierte Verfahren. Alternativ nach Modifizieren eines Backups, über die 3CX Config API, per Powershell in der 3CX selber usw.. Das ist dann alles nicht mehr intuitiv.

Habe zB noch zwei User wo es angezeigt wird, Passwörter sind alle 20 Stellig, alles dabei und per Passwort Manager generiert.... warum sollte es jetzt nicht mehr passen und als unsicher gelten?
Es hier hier nicht wie so oft im Leben dass die Länge entscheidend ist. Das Passwort darf nur nicht zu kurz sein und mind. 3 von 4 mögl. Merkmalen aufweisen.
 
Alles gut, zwei sind ja auch nicht die Welt und neue Passwörter und 2FA geht ja schnell.
Mir erschließt sich nur nicht der Grund warum diese SIP-Auth-ID auf einmal "schwach" sein soll, ich selbst habe sie ja nicht generiert, sondern die 3CX!?
 
  • Like
Reaktionen: Ben04 und nick81
Mir erschließt sich nur nicht der Grund warum diese SIP-Auth-ID auf einmal "schwach" sein soll, ich selbst habe sie ja nicht generiert, sondern die 3CX!?
Das mag durchaus sein, dass einer frühere 3CX Instanz schwächere Kennwörter geliefert hat. Ich kenne es nicht. Wir haben Anlagen die seit v15.5 laufen. Da gab es vor längerem schon mind eine Änderung der Kennwortrichtlinien und seitdem läuft das. Aktuell wird das nachgeprüft und wenn dem so ist dann wird das bemängelt. Das ist so.
 
  • Like
Reaktionen: nick81 und MFoesel
Schade das man dies so hinnehmen muss. Hätte erwartet das wenn die 3CX intern neue Sicherheitsregeln befolgt und sie selbst früher schwache SIP-Auth generiert hat, diese beim Update selbst migriert.
Bei mir ist es einfach, zwei Stück, bei @nick81 schon 19 und vielleicht gibt es ja jemand mit 100.
Aber okay, ist so. Danke für die Information
 
  • Like
Reaktionen: nick81
Naja einfach neu generieren geht nicht. Dann würden die Geräte auf der Sperrliste der 3CX landen da sie nach dem ändern neu provisioniert werden müssen.
 
Danke für die ganzen Antworten.
Aus Kundensicht ist das schon etwas nervig, das die Auth-IDs, die im Oktober bei der Einrichtung generiert wurden, heute schon nicht mehr als sicher gelten. Und dabei gibt es dann nicht mal eine "einfache" Methode diese zu aktualisieren.
Ich werde die Benutzer zurücksetzen und die DECT/FXS Geräte löschen und neu anlegen.
btw. In der Config-API hatte ich aber nichts gesehen, wo man Auth-IDs von Geräten ändern kann, oder gibt es irgendwo eine "volle Beschreibung" der xAPI?
 
Das mag durchaus sein, dass einer frühere 3CX Instanz schwächere Kennwörter geliefert hat. Ich kenne es nicht. Wir haben Anlagen die seit v15.5 laufen. Da gab es vor längerem schon mind eine Änderung der Kennwortrichtlinien und seitdem läuft das. Aktuell wird das nachgeprüft und wenn dem so ist dann wird das bemängelt. Das ist so.
In meinem Fall wird ja nicht das Kennwort bemängelt, sondern die Auth-ID. Die 3CX Anlage wurde im Oktober mit v20 in Betrieb genommen. Die Änderung dürfte also gar nicht so alt sein, bzw. es gab eine v20 Version, die "schwache" Auth-IDs generieret hat.
 
Ja. Leider hat auch die letzte V20 Update 5 Version schon "Schwache" Auth-IDs generiert. ;-(
Jetzt haben wir auch Dutzende Hinweise auf mehreren Anlagen.
In der Regel sollte aber bei der manuellen Änderung der Auth-ID zumindest die WinAPP und ein zb. snomD865 sofort und automatisch neu provisioniert werden. Smartphone APP einfach mal beenden und neu öffnen.
 
Die 3CX Anlage wurde im Oktober mit v20 in Betrieb genommen. Die Änderung dürfte also gar nicht so alt sein, bzw. es gab eine v20 Version, die "schwache" Auth-IDs generieret hat.
Ja. Leider hat auch die letzte V20 Update 5 Version schon "Schwache" Auth-IDs generiert. ;-(
Das kann ich nirgends nachvollziehen. Aber was wissen wir schon. Nur mit eigener schlechter Erfahrung kommt man auf so etwas.

...
btw. In der Config-API hatte ich aber nichts gesehen, wo man Auth-IDs von Geräten ändern kann, oder gibt es irgendwo eine "volle Beschreibung" der xAPI?
Die Beschreibung gibt es, aber da gibt es mehr.

Hier mal ein Beispiel Schnipsel wie man mittels Powershell und der 3CX Configuration API (xapi) die AuthID und das AuthPasswort eines einzelnen Benutzer ändern kann.
Code:
$tcxurl="mypbx.mydomain.de"     # needs port if not 443

$jsonauthbody = (@{
    Username="100"              # 3CX user, maybe email address
    Password="Super_Secret0815" # 3CX user password
    SecurityCode=""
} | ConvertTo-Json)

$usernumber = "222"
$userauthid = "!!11EinsEins-id"
$userauthpassword = "!!11EinsEins-password"

$LoginResponse = Invoke-RestMethod -Uri "https://$tcxurl/webclient/api/Login/GetAccessToken" -Body $jsonauthbody -Method POST -ContentType "application/json"

if( $LoginResponse.Status -ne "AuthSuccess" ) {
    Write-Host "abort: authentication not successful"
    exit -1
}

$headers = @{Authorization = "Bearer $($LoginResponse.Token.access_token)"}

$uri = "https://$tcxurl/xapi/v1/Users?`$select=Number,Id,AuthID,AuthPassword"
$userid = ((Invoke-RestMethod -uri $uri -headers $headers -Method GET -ContentType "application/json").value | Where {$_.Number -eq $usernumber}).Id

$uri = "https://$tcxurl/xapi/v1/Users($userid)"
$tcxtbodyjson = @{AuthID=$userauthid;AuthPassword=$userauthpassword} | ConvertTo-Json

Invoke-RestMethod -uri $uri -headers $headers -Method PATCH -body $tcxtbodyjson -ContentType "application/json"

Das Beispiel ist selbsterklärend. Wer das nicht versteht sollte das Programm nicht verwenden.
Für Massenänderungen dürft ihr euch bitte selbst ein Skript bauen ;)
 
Zuletzt bearbeitet:
  • Like
Reaktionen: mbehrens und nick81
Falls Bedarf an einer Powershell Funktion besteht, die Passwörter definierter Länge mit allen enthaltenen Merkmalen erzeugt - hier ist eine Möglichkeit, ein weiteres Schnipsel:

Code:
function GeneratePassword {
    param (
        [int]$Length = 12
    )

    $lowercase = 'abcdefghijklmnopqrstuvwxyz'
    $uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    $numbers = '0123456789'
    # $specialchars= '!@#$%^&*()_-+=<>?/'
    $specialchars= '!+-_:='

    $password = @()
    $password += Get-Random -Count 1 -InputObject $lowercase.ToCharArray()
    $password += Get-Random -Count 1 -InputObject $uppercase.ToCharArray()
    $password += Get-Random -Count 1 -InputObject $numbers.ToCharArray()
    $password += Get-Random -Count 1 -InputObject $specialchars.ToCharArray()
    $allChars = $lowercase + $uppercase + $numbers + $specialchars
    If ($Length -eq 0) {
        $password = @()
    }
    If ($Length -lt 4) {
        $password = $password[0..($Length-1)]
    }
    If ($Length -gt 4) {
        $password += Get-Random -Count ($Length - $password.Count) -InputObject $allChars.ToCharArray()
    }
    ($password | Sort-Object {Get-Random}) -join ''
}

Oft dünnen wir die specialchars bis auf ein einzelnes _ aus, damit das Passwort insgesamt mit Doppelklick kopierbar bleibt.
 
  • Like
Reaktionen: nick81 und mbehrens
Das klappt ganz gut mit der xAPI. Mache es bei den 19 jetzt manuell über einen REST Client.
Die User, die nur über 3CX Handy App telefonieren, merken von der Änderung wohl gar nix
Die DECT/FXS mache ich später, da muss wahrscheinlich die provisionierung nochmal durchgeführt werden
 
Das klappt ganz gut mit der xAPI. Mache es bei den 19 jetzt manuell über einen REST Client.
sehr schön

Die User, die nur über 3CX Handy App telefonieren, merken von der Änderung wohl gar nix
Ja, wahrscheinlich.

Die DECT/FXS mache ich später, da muss wahrscheinlich die provisionierung nochmal durchgeführt werden
Ein richtiger Neustart aller IP Geräte ist besser. Dabei die 3CX Blacklist nicht vergessen.
 
Kann ich bestätigen mit der schwachen schwache SIP-Auth. Die Anlage die einige Meldungen hatte, habe ich im März 2025 installiert und es fehlte dort eine Zahl, nach der Anleitung hier konnte ich den Fehler korrigieren.
 
Kurze Rückmeldung, falls das noch jemand über die xAPI fixen möchte:
Bei den Yealink Dect-Geräten musste danach die Autro-Provisionierung in dem W90DM anwerfen, dafür gibt es einen Button in der WebUI
Bei den Grandstream FXS musste man in der Auto-Provisionierung der WebUI eine Einstellung ändern, dann zieht er die Config neu
Bei dem Fanvil i65 habe ich auch die Autoprovisionierung über die WebUI angestoßen
Für die Personen ohne Gerät musste nichts gemacht werden.

Mein xAPI vorgehen (manuell über einen REST Client)
in 3CX > Integration > API > Dienstprinzipal erstellen und API-Schlüssel kopieren. Berechtigung Systemeigentümer

Nutze einen Rest-Client deiner Wahl, ich habe den Talend API Tester aus dem Google Chrome AppStore zusammen mit Chrome genutzt

Erstelle Auth-Token
POST
https://[3cx-url]/connect/token
Content-Type application/x-www-form-urlencoded
Body:
- client_secret: [der vorher gespeicherte API-Schlüssel]
- client_id: [die client-id / Name der API]
- grant_type: client_credentials

kopiert den access-token (der ist 60 Minuten gültig)

Hole die UserID anhand der Benutzer-/Rufnummer (die sind nicht gleich!)
GET
https://[3cx-url]/xapi/v1/Users?$filter=Number eq '123'&$select=AuthID,Number,Id
Headers:
- Authorization: Bearer [access-token von gerade. nach Bearer ist ein Leerzeichen]
In der Response seht ihr die "Id", bitte merken

AuthId ändern
PATCH
https://[3cx-url]/xapi/v1/Users(555) // die 555 ist die Id nicht die Rufnummer!!!
Headers:
- Authorization: Bearer [access-token von gerade. nach Bearer ist ein Leerzeichen]
- Content-Type: application/json
Body:
{
"AuthID": "[neue AuthId mit Zahlen/Klien- und Großbuchstaben >= 10 lang]"
}


Alle Angaben ohne Gewähr und mit eigenem Risiko
 

Statistik des Forums

Themen
44.412
Beiträge
232.707
Mitglieder
78.328
Neuestes Mitglied
as7h