So handhaben Sie Passwörter in einem Skript: im Arbeitsspeicher VS in der Datei

So handhaben Sie Passwörter in einem Skript: im Arbeitsspeicher VS in der Datei

Ich habe ein Skript, das auf einem VPS bei einem billigen Cloud-Anbieter läuft. Das Szenario ist: Ich vertraue meinem Anbieter, aber ich möchte ihm das Leben schwer machen, wenn er jemals meinen Schlüssel stehlen will. Alle relevanten Ordner auf der Festplatte sind verschlüsselt (Truecrypt oder ähnlich), im Klartext, nur wenn die Maschine läuft (jedes Mal, aber wenn sie die Festplatte herausnehmen, können sie meine Daten nicht einsehen).

Welches ist die beste Lösung, um einen Dropbox-API-Schlüssel in einem Skript zu verarbeiten?

Hinweis: Das Skript ruft Dateien vom FTP ab, lädt sie in die Dropbox hoch und löscht sie von der Festplatte.

Ich dachte daran, eine verschlüsselte Datei (OpenSSL/PGP) zu speichern. Wenn ich das Skript starte (mit dem manuell eingegebenen Entschlüsselungsschlüssel), wird der Schlüssel entschlüsselt, als Variable gespeichert und bei Bedarf verwendet (das Skript bleibt für immer aktiv).

Irgendwelche Ideen/Kommentare?

Antwort1

Sie könnten etwas wie verwendenPython-GNUPGum eine Datei mit gnupg verschlüsseln zu lassen. Um „echte“ Sicherheit zu erreichen, müssen Sie dem privaten Schlüssel eine Passphrase hinzufügen, sonst haben Sie die verschlüsselte Datei mit dem Passwort und dem privaten Schlüssel auf demselben Server, sodass das Entschlüsseln der Datei trivial wäre. Der Nachteil einer Passphrase besteht darin, dass Sie diese jedes Mal eingeben müssen, wenn Sie Ihr Skript starten. Dies könnte jedoch mithilfe von gpg-agent minimiert werden, indem Sie das Passwort nur beim Booten des Computers eingeben.

Antwort2

Dies wäre Sicherheit durch Verschleierung, aber es gibt kaum eine andere Möglichkeit. Wenn Sie dem potenziellen Dieb das Leben schwer machen möchten, würde ich vorschlagen, den Schlüssel in das Skript einzubetten und das Skript später mitshc. Vielleicht möchten Sie auch den Elf selbst verschleiern (Methoden, um einen Elf zu verschleiern.) Bedenken Sie jedoch, dass es, was auch immer Sie tun, immer noch zerlegt und untersucht werden kann.

verwandte Informationen