Wie verstecke ich ein Kennwort?

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich möchte ein Skript automatisch ausführen, welches sich als 'admin' im DS-Manager anmelden soll. Das geht per wget und funktioniert auch. (Ich hatte davon ein einem anderen Post berichtet). Diese Anmeldung benötigt aber das Kennwort des admin und es sieht natürlich nicht sonderlich gut aus, diese im Klartext in einem Skript vorzuhalten.

Wie löse ich das Problem? Oder anders gesagt, es wäre ja keine Problem, dass Kennwort des 'admin' verschlüsselt in einer Datei abzulegen. Aber für die Entschlüsselung benötige ich einen Key und dieser wäre wieder als Klartext im Skript zu lesen ...

Mir fehlt gerade die zündende Idee.

Itari
 

Supaman

Benutzer
Mitglied seit
26. Jan 2007
Beiträge
1.447
Punkte für Reaktionen
0
Punkte
62
um es nicht ganz so offensichtlich zu machen, könntest du:
- als passwort einen dateinamen einlesen bzw selbiges aus einem dateinamen extrahieren
- das pw über eine formel berechnen
- das pw von einem anderen server aus einem netzlaufwerk auslesen

ist alles nicht sicher (wie auch), aber würde das pw zumindest für einen schnellen blick verschleiern.

ein wenig mehr sicherheit würdest du haben, wenn du nur den pw-hash übergeben würdest, aber den wird die DS vermutlich lieber selbst ausrechnen wollen.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
um es nicht ganz so offensichtlich zu machen, könntest du:
- als passwort einen dateinamen einlesen bzw selbiges aus einem dateinamen extrahieren
- das pw über eine formel berechnen
- das pw von einem anderen server aus einem netzlaufwerk auslesen

ist alles nicht sicher (wie auch), aber würde das pw zumindest für einen schnellen blick verschleiern.

ein wenig mehr sicherheit würdest du haben, wenn du nur den pw-hash übergeben würdest, aber den wird die DS vermutlich lieber selbst ausrechnen wollen.

Ja das ist alles nicht so richtig gut. Ich werde das Kennwort es wohl irgendwie verstecken müssen. Wahrscheinlich ist die Methode die beste, es öffentlich verschlüsselt in eine Datei zu legen ohne zu sagen, woher der Key stammt und nehme dann einen Key, wie den Namen der DS oder so etwas ähnliches - also etwas, was auf jeder DS ein wenig anders ist.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn du das PW in eine Datei schreibst und nur root Zugriff darauf erlaubst, ist es doch so sicher wie es nur sein kann. Und was spricht dageben, dass der User nach dem PW gefragt wird? Kannst ja die Übertragung dann mit SSL absichern.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wenn du das PW in eine Datei schreibst und nur root Zugriff darauf erlaubst, ist es doch so sicher wie es nur sein kann. Und was spricht dageben, dass der User nach dem PW gefragt wird? Kannst ja die Übertragung dann mit SSL absichern.

Es geht um mein lokales Fernsteuerungsskript zum Power-Management, welches den DS-Manager ansteuert, sich also anmeldet und dann die Maske automatisch ausfüllt. Mit dem AdminTool könnte man dann das Kennwort in diesem Skript auslesen, weil das an alle root-Dateien auch darf. Deswegen will ich das Kennwort des admin verschlüsselt in einer Datei ablegen (ccrypt), aber der Key zum verschlüsseln wäre immer noch recht einfach auszumachen und man könnte (auch via AdminTool) die Kennwortdatei dann schnell auslesen. Deswegen möchte ich den Key verstecken ... eine Eingabe durch den User geht nicht bei einem Automaten (Server-Programm).

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Verschlüsselung mittels PublicKey? Hast aber immer noch das Problem, dass ein Prozess unter root wohl auch die Rechte hätte den PrivateKey auszulesen. Solange der Prozess selber unter root läuft, wird es nicht ganz sicher gehen. Da wirst du einen "Sicherheitskompromiss" machen müssen.
Wenn du davon ausgehst, dass nur admin (resp root) dieses Tool verwenden darf, dann sehe ich keinen anderen Weg als mit einem Restirisiko zu leben
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Da wirst du einen "Sicherheitskompromiss" machen müssen.
Wenn du davon ausgehst, dass nur admin (resp root) dieses Tool verwenden darf, dann sehe ich keinen anderen Weg als mit einem Restirisiko zu leben

Und genau dazu hab ich die Frage gestellt, wie 'verpacke' ich möglichst geschickt, das Restrisiko, so dass wir alle damit leben können :) Am liebsten hätte ich einen Key zum Verschlüsseln, den das System selbst liefert, der aber nicht trivial ist.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Am liebsten hätte ich einen Key zum Verschlüsseln, den das System selbst liefert, der aber nicht trivial ist.
Und wo planst du den Schlüssel zum Entschlüsseln zu speichern? ;) Wohl auch auf der DS und dann bist du in etwa so weit wie wenn du das PW im Klartext in eine Datei in /root gehauen hättest ;)
Du kannst hier mit viel Mühe und Aufwand eine Lösung zimmern, die aber dann auch nicht wirklich sicherer ist als das PW im Klartext irgendwo zu haben. Denn irgendwo muss der Schlüssel/PW zum Entschlüsseln ja gespeichert sein und die DS muss ja auch irgendwie dran kommen.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Und wo planst du den Schlüssel zum Entschlüsseln zu speichern? ;) Wohl auch auf der DS und dann bist du in etwa so weit wie wenn du das PW im Klartext in eine Datei in /root gehauen hättest ;)
Du kannst hier mit viel Mühe und Aufwand eine Lösung zimmern, die aber dann auch nicht wirklich sicherer ist als das PW im Klartext irgendwo zu haben. Denn irgendwo muss der Schlüssel/PW zum Entschlüsseln ja gespeichert sein und die DS muss ja auch irgendwie dran kommen.

ich dachte, ich bau den Key in eine ex-Abfrage ein (Batch-vi), das versteht ja keiner ... :D

Itari
 

karl2014

Benutzer
Mitglied seit
19. Apr 2009
Beiträge
189
Punkte für Reaktionen
1
Punkte
24
ja wirklich sicher ist nur, das PW auf einen Zettel schreiben und diesen verbrennen bevor man ihn selbst gelesen hat. :D:D
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich dachte, ich bau den Key in eine ex-Abfrage ein (Batch-vi), das versteht ja keiner ... :D

Itari
Ich wollte nicht sagen, dass ich gegen Verschlüsselung wäre. Es ist für mich halt einfach eine trügerische Sicherheit, wenn ein Serverprozess ohne Passwort durch den User den Schlüssel verwenden kann.
Dann beruht die Sicherheit nur darauf, dass niemand den vi versteht oder niemand weiss wo das Schlüsselfile liegt und wie es heisst ;)

Wie wäre es denn wenn dein Code eine gültige Admin Anmeldung am DSM voraussetzen würde? Mit Javascript müsste sich der Cookie vom DSM ja eigentlich auslesen und für eigene Abfragen verwenden lassen.

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wie wäre es denn wenn dein Code eine gültige Admin Anmeldung am DSM voraussetzen würde? Mit Javascript müsste sich der Cookie vom DSM ja eigentlich auslesen und für eigene Abfragen verwenden lassen.

Die Idee ist, per wget den DS-Manager fernzusteuern, so dass man verschiedene Stop und Start-Zeiten aus einer Tabelle liest und den DS-manager damit füttert. Das sollte in der /usr/syno/etc/rc.d in einem Start-Skript stehen. Da kann sich niemand anmelden ... und das soll ja auch funktionieren, wenn sich niemand anmeldet ... also ein Automat. Leider kenne ich keinen anderen Weg, verschiedene Stop- und Start-Zeiten sonst wie zu realisieren. Ich würde da auch gerne anders vorgehen. Aber leider habe ich bislang kein Kommandos gefunden, da anders zu realisieren.

Aber ich denke, ich habe jetzt einen Weg gefunden, den Key zu verstecken. Ich verwende nicht-darstellbare Zeichen ;)

Itari
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.033
Punkte für Reaktionen
287
Punkte
393
Hallo,
da fällt mir plink (putty) ein. Wenn eine Putty-Session mit Schlüssel-Authentifizierung definiert ist könntest Du ein wget auf localhost loslassen.
plink ds106 wget://localhost:5000/...
wobei bei putty eine Session mit dem Namen ds106 gespeichert sein muß.

Gruß Götz
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
da fällt mir plink (putty) ein. Wenn eine Putty-Session mit Schlüssel-Authentifizierung definiert ist könntest Du ein wget auf localhost loslassen.
plink ds106 wget://localhost:5000/...
wobei bei putty eine Session mit dem Namen ds106 gespeichert sein muß.

Wie macht man eine Putty-Session auf, ohne Putty bzw. gibt es den putty als Client auf der DS? Der Gedanke ist ja, dass alles auch funktionieren muss, wenn niemand sich per ssh oder telnet anmeldet. Auch wäre die Frage, ob diese Authentifizierung das doch etwas komplexere Anmeldeverfahren des DS-Manager-Logins freischaltet ... aber vielleicht sehe ich das auch noch nicht ganz.

Itari
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.033
Punkte für Reaktionen
287
Punkte
393
Hallo,
vergiss wieder ganz schnell was ich da geschrieben habe, völliger Quatsch. Du willst ja dem wget eine Authentifizierung gegenüber DSM mitgeben.

Gruß Götz
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!