Grenzen des Schutzes durch Kennwortverschlüsselung
Liberty unterstützt die AES-Verschlüsselung (Advanced Encryption Standard) für Kennwörter, die in der Datei server.xml gespeichert sind. Wenn Sie diese Option verwenden, um Systemkennwörter in der Liberty-Konfiguration zu schützen, müssen Sie die Grenzen dieses Schutzes kennen.
Das Verschlüsseln eines Kennworts in der Liberty-Konfiguration garantiert nicht, dass das Kennwort sicher oder geschützt ist. Es bedeutet lediglich, dass es für eine Person, die das verschlüsselte Kennwort sehen kann, aber den Chiffrierschlüssel nicht kennt, nicht leicht ist, das Kennwort wiederherzustellen. Der Anwendungsserverprozess benötigt Zugriff sowohl auf das verschlüsselte Kennwort als auch auf den Entschlüsselungsschlüssel, daher müssen diese Datenelemente auf dem Dateisystem gespeichert sein, das für die Serverlaufzeitumgebung zugänglich ist. Der Chiffrierschlüssel wird ebenfalls von jedem Benutzer benötigt, der ein Kennwort verschlüsselt, das in die Serverkonfiguration aufgenommen wird. Für einen Angreifer, der Zugriff auf denselben Satz von Dateien hat wie die Liberty-Serverinstanz, bietet die AES-Verschlüsselung für Kennwörter daher über die XOR-Verschlüsselung ("exclusive or") hinaus keine zusätzlich Sicherheit.
- Die Kennwörter sind nicht sensibel. In diesem Fall ist ihre Verschlüsselung von geringem Wert.
- Die Kennwörter sind sensibel. In diesem Fall sind entweder die Konfigurationsdateien, die das Kennwort enthalten, sicherheitssensibel und der Zugriff darauf muss kontrolliert werden, oder die Kennwörter sind verschlüsselt und der Chiffrierschlüssel wird anschließend als sicherheitssensibel geschützt.
Die Standardeinstellung für den Chiffrierschlüssel, der für die Entschlüsselung verwendet wird, kann durch Festlegen der Eigenschaft wlp.password.encryption.key überschrieben werden. Diese Eigenschaft darf nicht in der Datei server.xml festgelegt werden, in der das Kennwort gespeichert ist, sondern in einer separaten Konfigurationsdatei, die in die Datei server.xml eingeschlossen wird. Diese separate Konfigurationsdatei darf nur eine einzige Eigenschaftsdeklaration enthalten und muss außerhalb des normalen Konfigurationsverzeichnisses für den Server gespeichert werden. Dadurch wird sichergestellt, dass die Datei, die den Schlüssel enthält, bei Ausführung des Befehls "server dump" oder "package" nicht einbezogen wird. Die Chiffrierschlüsseleigenschaft kann auch als Bootstrapeigenschaft angegeben werden. Wenn Sie sich für diese Möglichkeit entscheiden, müssen Sie den Chiffrierschlüssel in eine separate Eigenschaftendatei aufnehmen, die in die Serverdatei bootstrap.properties eingeschlossen wird.
Informationen zur Verwendung von XOR oder AES zum Schutz der Kennwörter finden Sie unter den zugehörigen Links, insbesondere unter securityUtility, Befehl.