Idee gesucht. Passwörter verschlüsselt ablegen.

morph

Well-Known Member
Moin moin,

bei uns im Netz arbeiten verschiedene Admins in unterschiedlichen Aufgabenbereichen und müssen sich selten und unregelmäßig gegenseitig vertreten. Die Passwörter die dann gelegentlich ausgetauscht werden müssen betreffen in der Regel irgendwelche Windows-Dienste die man in größeren Umgebungen eben so am laufen hat und den ein oder anderen root-Login.

Jetzt haben wir hier schon Apache auf Open-BSD der unsere technische Dokumentation für autorisiertes Personal SSL-verschlüsselt bereithält in dem man ja theoretisch auch die bereits beschriebenen Passwörter ablegen könnte. Damit decke ich leider nur die Übertragungssicherheit ab. Ich würde aber gern das komplette Passwortdokument auf dem Server verschlüsseln und es dem Nutzer so komfortabel wie möglich zur Verfügung stellen wollen. Schließlich sollen die Daten auch in den Backups verschlüsselt bleiben. Gibt es da schon was fertiges für Apache?

Wie macht ihr das bei euch im Alltag in der Firma? Ich kann mir nicht vorstellen dass ihr sowas noch in einem richtigen Panzerschrank ablegt. Oder doch?

mfg
morph
 
auswendig lernen ;)
oder vllt mit zertifikaten arbeiten? Keine Ahnung inwieweit das machbar ist, bei dem was ihr benutzt.
Ansonsten verste ich den Sinn nicht ganz. Du willst was verschluessln, aber es soll automatisch entschluesselt werden? Dann muss der Schluessel ja auch auf dem System liegen. Dann bringt das ganze nix. Vllt eine verschluesselte Text Datei mit allen Passwoertern und ihr muesst euch nur noch ein Passwort merken?
 
Eine verschlüsselte Textdatei ist ja keine schlechte Idee. Nur womit ver- und entschluessele ich sie in einer heterogenen Umgebung. Der Windows-Mann soll die Datei schließlich genauso komfortabel nutzen können wie der Unix-Mann.

Das ganze sollte also schon online funktionieren.
 
vllt n kleines php script? oder perl script. Das ist ja nix hochkompliziertes :) vllt n 10 zeiler *g

in perl recht einfach:
Code:
     use Crypt::OpenSSL::AES;

     my $cipher = new Crypt::OpenSSL::AES($key);

     $encrypted = $cipher->encrypt($plaintext)
     $decrypted = $cipher->decrypt($encrypted)
in php sicher genauso einfach
 
Warum legt ihr nicht für jeden Admin einen Admin account an? Dann ist auch nachvollziehbar, wer was macht. Also diese ganze Account-sharing Sache ist mir noch nie eingeleuchtet…
 
Wir handhaben das auch so, dass jeder User entsprechende Rechte hat. Das Passwort vom "richtigen" Admin liegt tatsächlich im Tresor...
 
@ h^2

Es geht nicht um Accountsharing. Es geht um Dienstkonten und Logindaten die nicht zentral geändert werden können. Oder nicht ohne ein erhebliches Maß an Aufwand.

@Nonpareille

Im Moment schwebt mir eher sowas wie FireEncrypt oder CryptFire vor. Beides Addons für Firefox. Das eine Addon gibt es scheinbar nicht für einen einen aktuellen Firefox, das andere läuft nicht rund und ist schlecht dokumentiert.

@ilb

Selbst Programmieren fällt aus wegen zwei linker Hände und Knoten im Hirn.
 
Ist das vielleicht für dich interessant? http://keepass.info/download.html

Das Tool ist einfach zu handhaben und ist garantiert das richtige für die Windows-Leute. Hat nur einen kleinen Schönheitsfehler (bis jetzt): wenn ich die Datenbank auf unserem Webserver hoste, ziehe ich automatisch eine lokale Kopie, wenn ich die Datei öffne. Hat insofern den Nachteil, dass nach einer gewissenen Zeit etliche lokale Kopien durch die Weltgeschichte gurken. Das will ich natürlich auch nicht.

Für Unixe kein Problem, weil ich das Filesystem des Webservers lokal mounten kann, einem Windows-Rechner kann ich das aber nur schwer beibringen.

Der Kompromiss wird wahrscheinlich darauf hinaus laufen, dass die Datenbank mit den Passwörtern auf einem Windows-Fileserver gehostet wird. Damit kann ich aber leben. Trotzdem schade, denn ich hätte gedacht, dass es vielleicht schon irgendwas brauchbares für Apache gibt, dass solche Sachen automatisch erledigen kann oder ein Browserplugin wie die oben genannten.
 
Mal ganz ehrlich, du begibst dich da auf ziemliches Glatteis. Komplexität bedeutet Sicherheitsverlust. Ist die Horde der Admins wirklich so gross, dass nicht jeder für sich ne verschlüsselte Kopie bei sich auf dem Rechner haben kann?
 
Wie meinst du das mit dem Glatteis?

Zu deiner Frage:
Nein die Horde ist nicht groß, und von mir aus kann sich auch jeder zehn Kopien davon ziehen. Das Problem ist nur, dass dann keiner mehr durchblickt welche Version die aktuellste ist. Wenn ich von vornherein ausschließen kann, dass kein _Bedarf_ besteht eine lokale Kopie haben zu müssen, weiß jeder dass die Datei die Online verfügbar ist, auch die aktuellste Version darstellt.
 
Das Tool ist einfach zu handhaben und ist garantiert das richtige für die Windows-Leute.
Es ist für das beschriebene Anwendungsszenario aber garantiert nicht das richtige. Die PW-DB kann nur durch genau 1 PW (+ Keyfile) geschützt werden. Und dieses PW müssen alle (eventuell) betroffenen Admins kennen. Das wiederum führt mit Sicherheit dazu, dass das PW a) ein Trivial-PW ist, b) sehr selten geändert wird, c) mehr Leuten bekannt ist, als zwingend erforderlich, d) ...

Mittels Public-Key-Verfahren könnte die PW-Liste für jeden Admin getrennt verschlüsselt werden, der Zugriff wäre dann jeweils mit dem eigenen privaten Schüssel möglich. Bei Änderungen kann jeder beteiligter Admin - allein mit Kenntnis seines eigenen PWs - die PW-Liste mit den öffentlichen Schlüsseln der anderen neu verschlüsseln und ablegen/verteilen.

Die Sicherheit seines eigenen privaten Schlüssels sollte ein Admin, der diesen Namen verdient, sicherstellen können. Und man kann bei dem System ohne Beeinflussung der anderen einen Admin mit hinzunehmen oder ausschließen (da die PWs in der Liste einmal bekannt waren, müssen diese im zweiten Fall allerdings so oder so geändert werden).

Zu guter Letzt ist das Tool der Wahl - gpg - auch noch eins, dass für so ziemlich jede Plattform verfügbar ist und mit der ein oder anderen GUI aufwarten kann. Unter Umständen muss man aber noch nicht mal eine gesonderte Infrastruktur aufbauen, wenn man schlicht verschlüsselte E-Mails nutzt. Das müsste man allerdings noch mal genauer beleuchten!
 
@yetano ich stimme dir vollkommen zu.
Aus meiner Sicht sollte ein Server niemals das Passwort im Klartext zu Gesicht bekommen bei diesem Zweck. Daher hilft wohlmöglich nur ein ordentliches Pflegen der Passwörter in GnuPG/PGP. Hilfreich ist dann evt. noch ein Wiki und FireGPG
 
Hoi,
lös das Problem doch einfach durch eTokens die personalisiert sans wo jeder berechtigte Bär einen eigenen eToken mit den notwendigen Berechtigungen erhält. Da gibts heut zu Tage recht simple Möglichkeiten z.B. auf USB Basis als kleinen Stick. Dank großer Speicher passen auf so eTokens au mehrere Zertifikate ohne Probleme drauf. Tokenschnittstellen gibts für die meisten Dienste bzw. Betriebssysteme mittlerweile auch. Welcher User sich wann wo angemeldet hat lässt sich damit ebenfalls später nachvollziehen. Ohne eToken Pin bzw. Passphrase kommt auch keiner an die Zertifikate im eToken Stick ran erstmal. Selbst wenn also einer verloren geht ist nicht gleich Panik angesagt.

Gruß Bär
 
Danke für die vielen Antworten. Je länger man darüber nachsinnt, desto schwieriger wird es eine saubere und komfortable Lösung zu finden.

Die Möglichkeiten von GPG sind leider zu begrenzt für mein Ansinnen, denn ob ich nun keepass mit einem Schlüssel verwende oder GPG mit Gruppenschlüssel (den es eigentlich nicht gibt} ist gehupft wie gesprungen. Die Idee eToken einzusetzen ist zwar auch nicht schlecht, damit kann ich aber nicht alle Dienste/Anwendungen erreichen.

Vorerst wird es dann wohl doch der Panzerschrank bleiben. Ist zwar nicht sehr komfortabel, bietet aber die benötigte Zugangskontrolle.
 
Also ich würd ja einfach die Textdatei verschluesselt aufm Server speichern und einfach n Form basteln, wo man nur das Passwort eingeben muss und man bekommt die Datei entschluesselt zurück. Das ist wirklich n sehr simples Script. Irgend einer von euch Admins wird das sicher hinbekommen ;)


edit:
ich habe es gerade mal geschrieben ;)
jetzt muesst ihr nur noch n form schreiben, was als action das script hat. Das Passwort muss mit dem namen PASSWORD uebergeben werden
und im script noch die variable $filename auf den Dateinamen aendern.
Die Textdatei muss AES verschluesselt sein. Kannst natuerlich auch nen anderen Algorithmus nehmen. Habe jetzt aber mal den gewaehlt.
Hoffe ich konnte dir helfen :)

P.S.: Habe laenger kein Perl mehr programmiert und das Programm jetzt nicht getestet. Hoffe es laeuft so :D

Code:
#!/usr/bin/perl
use Crypt::OpenSSL::AES;
use CGI;

print "Content-type: text\n\n";
my $anfrage = new CGI;
my $filename = "DER DATEINAME HIER";

my $key = $anfrage->param('PASSWORD');
my $cipher = new Crypt::OpenSSL::AES($key);


open(FH, "<$filename") || die "Fehler beim Lesen $!";
my $text = "";
while(<FH>) {
  $text += $_;
}
print $cipher->decrypt($text);
 
Zuletzt bearbeitet:
Zurück
Oben