Picture of Michael 2250
Registered 9 years 184 days
Michael 2250 Tuesday, 15 August 2017, 04:26 PM
Password im Config-file
Hallo Leute,

ich habe eine Anfrage vom Kunden bekommen. Dort ist beim Security-Audit bemängelt worden das in der staging.txt der geänderte 'User' und vorallem das 'Passwort' im klartext steht und auch entsprechend im Klartext übertragen wird. Der Kunde fragt an ob es die Möglichkeit gibt das Passwort wie es in anderen Configs für z.B. Switche in einem Hash-Wert versteckt? Hat jemand dort evtl. schon Erfahrungen? Oder gibt es weitere Interessenten für diese Funktion? So das man einen Feature-Request eröffnen könnte.

Das TK-System wovon ich derzeit spreche hat etwas mehr als 500 User und ich habe noch 2 Kunden die ebenfalls mehrere hundert Nst. haben und die demnächst auch ein entsprechenden Security-Audit bevorstehen haben und wo dann das gleiche zu Tage gelangen würde also habe ich 3 Kunden mit zusammen über 2.000 Nst. da ist es dann etwas müßig bei neuen Geräten auch mal ebend den User und das Passwort von Hand anzupassen.

Bsp. der aktuellen Zeile im Staging-File

# PWD-Change
config change CMD0 /name Tel-IP110 /user user1,pwduser1#

Michael Arand
Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 360 days
Christoph Künkel (innovaphone) Tuesday, 15 August 2017, 05:18 PM
Re: Password im Config-file
Hallo Michael,

ich verschiebe das mal ins Diskussionsforum, weil ich annehme, dass es am Ende zu keinem Vorschlag kommen wird wink

Wenn doch, dann kann ich es gerne wieder zurück verschieben!

Also:

mit dieser Config Zeile

config change CMD0 /name Tel-IP110 /user user1,pwduser1#

hat man das Problem, dass das Klartext-Kennwort nicht nur im Staging Script steht, sondern auch in der Config des Gerätes. Wenn also irgendwann eine Datensicherung in die falschen Hände gelangt, dann ist das Kennwort futsch.

Dagegen hilft, wie fish-help.png hier beschrieben, die Option hinterher wieder zu löschen.

Seit v12r1 kann man das einfacher haben (ist auch im Wiki Artikel beschrieben).

Nur leider wird das einen Security Auditor (wenn er denn etwas taugt) auch nicht überzeugen. Denn im Staging Script steht das Kennwort ja immer noch drin - und das kann vermutlich jeder lesen, wenn er die URL Deines Update Servers rät.

Nun kann man das Kennwort verschlüsseln in der Zeile. Das ist sogar recht einfach und im fish-help.png SOAP API PHP5 Sample Code realisiert. Helfen tut es aber nicht wirklich. Denn: die Verschlüsselung verwendet als "key" das aktuelle Admin Kennwort. OK, das ist Dir beim staging ja bekannt (das Gerät ist ja im factory reset Zustand). Nur leider, jedem, der das innovaphone Wiki lesen kann, ist es auch bekannt. Also am Ende Augenwischerei (weswegen wir da eher von obfuscation als von encryption reden). Etwas anderes ist es, wenn das Gerät schon ein nur Dir bekanntes Passwort hat, dann ist die Verschlüsselung wesentlich komplizierter und sicher.

Wenn Du also im Staging ein Kennwort sicher übertragen willst, dann musst Du zwei Sachen machen:
  • Du musst das Script per HTTPS übertragen
  • Du darfst das Script ausschließlich innovaphone Geräten ausliefern

Ersteres ist einfach.

Letzteres ist schon etwas kniffliger. Das Prinzip an sich ist in fish-help.png Concept Provisioning erklärt. Das Gehemnis ist dann MTLS.

Eine schlüsselfertige Lösung bietet der fish-help.png PHP based Update Server V2. Da kannst Du MTLS erzwingen. Damit stellt man sicher, dass das update script nur an innovaphone Geräte ausgeliefert wird.

Also, je nach dem wie kiebig Dein Sicherheitsmensch ist, hast Du jetzt eine mehrstufige Antwort parat smile

LG, Christoph

Picture of Roland
Registered 12 years 348 days
Roland Friday, 18 August 2017, 12:19 PM
1 of 1 users consider this post helpful
Re: Password im Config-file
Hallo Michael,

meine Empfehlung falls es in eure Organisation passt:

Im "Endgeräte Lager" mit Hilfe eines ungenutzen Gateways und CF Karte ein kleines abgeschottenes DHCP-Netz und einen abgespeckten update-Server (CF-Karte) aufbauen.

Damit kannst du zum einen bereits vor der Auslieferung die Endgeräte auf einen Mindest-Firmwarestand hochziehen, zum anderen gegen abhören gesichert über diesen Updateserver das Admin-Passwort ändern (wie in der wiki beschrieben).

Wenn dieses Admin-Passwort mal geändert wurde, kannst du es im Wirknetz andere Passwörter verschlüsselt über Config-Zeilen ändern.

Gruß Roland
← You can define your color theme preference here