28 Stimmen

Wie vermeide ich, dass das Datenbankpasswort im Klartext im Quellcode gespeichert wird?

In der Web-Anwendung, die ich entwickle, verwende ich derzeit eine naive Lösung für die Verbindung zur Datenbank:

Connection c = DriverManager.getConnection("url", "username", "password");

Das ist ziemlich unsicher. Wenn sich ein Angreifer Zugang zum Quellcode verschafft, erhält er auch Zugriff auf die Datenbank selbst. Wie kann sich meine Web-Anwendung mit der Datenbank verbinden, ohne das Datenbank-Passwort im Klartext im Quellcode zu speichern?

1voto

Neil McGuigan Punkte 43578
  1. Einen O/S-Benutzer anlegen
  2. Das Passwort in eine Umgebungsvariable des Betriebssystems für diesen Benutzer eingeben
  3. Führen Sie das Programm als dieser Benutzer aus

Vorteile:

  1. Nur Root oder dieser Benutzer kann die O/S-Umgebungsvariablen dieses Benutzers einsehen
  2. Überlebt den Neustart
  3. Sie checken nie versehentlich das Passwort in der Versionsverwaltung ein
  4. Sie brauchen sich keine Sorgen um die Dateiberechtigungen zu machen
  5. Sie brauchen sich keine Gedanken darüber zu machen, wo Sie einen Verschlüsselungsschlüssel speichern
  6. Funktioniert auf x-Plattformen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X