JBoss: Wie gut kann man das Passwort seiner Datasource schützen

kwyjibo_84

Mitglied
In einer Datasource.xml steht für eine Datenbank die man in einer z.B. JEE-Anwendung nutzen will das Passwort in Klaartext:

XML:
<datasources>   
   <local-tx-datasource>      
      <jndi-name>MyDS</jndi-name>      
      <connection-url>
         jdbc:hsqldb:hsql://localhost/myDB
      </connection-url>      
      <driver-class>org.hsqldb.jdbcDriver</driver-class>      
      <user-name>sa</user-name>      
      <password>geheim</password>        		
   </local-tx-datasource>
</datasources>

Im ersten Abschnitt von JBoss-Wiki steht, dass man man ein SecureIdentityLoginModule verwenden kann um sein Passwort in der login-config.xml verschlüsselt anzugeben. Dann liegt es nicht mehr im Klartext auf dem Server.

Aber: Das Passwort wird symmetrisch verschlüsselt mit dem Key "jaas is the way". Das bekommt ja jeder raus der sich den Quellcode der Klasse SecureIdentityLoginModule anschaut.

Also ist das ja nicht gerade sicher oder?

Dann wird im zweiten Abschnitt von JBoss-Wiki eine Möglichkeit gezeigt mit einem "KeyStore" (den kann ich da eigentlich gar nicht so richtig rauslesen) das Passwort zu schützen. Dabei entsteht jedoch eine server.passwort-Datei, in der das KeyStore-Passwort verschlüsselt abgelegt ist. Jetzt braucht ein Angreifer ja wieder nur diese Datei und das verschlüsselte Passwort und dann kann er es wieder auslesen.

Verstehe ich das richtig? Sind diese Möglichkeiten wirklich nicht sicher sobald ein Angreifer auf das Verzeichnis des JBoss Server kommt?

Was meint ihr? Kennt ihr andere Möglichkeiten das Datenbank-Passwort zu schützen? Oder steht und fällt der ganze Aufwand immer sobald ein Angreifer auf den Server zugreifen kann?

Grüße,
Sebastian
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

Verstehe ich das richtig? Sind diese Möglichkeiten wirklich nicht sicher sobald ein Angreifer auf das Verzeichnis des JBoss Server kommt?

äh nein - aber wenn ein Angreifer komplett auf deinen JBoss zugreifen kann, hast du in meinen Augen größere Probleme. Unter anderem braucht der böse Angreifer sich nur eine Applikation deployen, die deine DataSource benutzt und schwups - kommt er trotzdem an die Daten ran. Daneben hat er noch Zugriff auf alle deine Applikationen, kann sich die Dinger runterladen, decompilieren, verändern etc. pp.

Ansonsten steht es dir natürlich frei, eine eigene Verschlüsselung einzubauen. Steht ja auch so in der Java-Doc
..Adjust to your requirements.

Grüße
THMD
 

Neue Beiträge

Zurück