Angepasste Kennwortverschlüsselung aktivieren

Sie müssen Kennwörter, die in der Konfiguration von WebSphere Application Server enthalten sind, schützen. Nachdem Sie Ihr Serverprofil erstellt haben, können Sie den Zugriffschutz hinzufügen, indem Sie eine angepasste Klasse für die Verschlüsselung der Kennwörter erstellen.

Vorbereitende Schritte

Erstellen Sie eine eigene Klasse für die Verschlüsselung von Kennwörtern. Weitere Informationen finden Sie im Artikel Verbindungspunkt für angepasste Kennwortverschlüsselung.

Informationen zu diesem Vorgang

Führen Sie die folgenden Schritte aus, um die angepasste Kennwortverschlüsselung zu aktivieren. Im Artikel Kennwörter in Dateien codieren finden Sie eine Liste mit Dateien in einem Anwendungsserverprofil, die codierte Kennwörter enthalten, sowie ihre Navigationspfade.

Vorgehensweise

  1. Fügen Sie für jeden Server- und Clientprozess die folgenden Systemeigenschaften hinzu. Aktualisieren Sie für jeden Serverprozess die Datei server.xml. Fügen Sie diese Eigenschaften als genericJvmArgument-Argument mit dem Präfix -D hinzu.
    com.ibm.wsspi.security.crypto.customPasswordEncryptionClass=
           com.acme.myPasswordEncryptionClass
    com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true
    Wichtig: Falls wsadmin im Verbindungsmodus verwendet wird, muss diese Eigenschaft für den wsadmin-Client im Deployment Manager oder im Server, zu dem die Verbindung hergestellt ist, mit dem Befehl AdminTask.setJVMSystemProperties oder über die Konsole festgelegt werden. Falls wsadmin im lokalen Modus verwendet wird, (conntype=NONE) kann die Eigenschaft wie im folgenden Beispiel mit einer javaoption-Befehlsoption festgelegt werden:
    wsadmin -conntype none -lang jython -javaoption
    -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=<encryptionClassToUse>
    Tipp: Falls die angepasste Verschlüsselungsklasse den Namen com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl hat und im Klassenpfad enthalten ist, wird die Verschlüsselung automatisch aktiviert. Definieren Sie die oben aufgelisteten Systemeigenschaften nicht, wenn die angepasste Implementierung diesen Paket- und Klassennamen hat. Wenn Sie die Verschlüsselung für diese Klasse inaktivieren möchten, müssen Sie com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false als Systemeigenschaft angeben.
  2. Wählen Sie eine der folgenden Methoden aus, um die Laufzeit von WebSphere Application Server für das Laden der angepassten Implementierungsklasse für die Verschlüsselung zu laden:
    • Kopieren Sie die angepasste Verschlüsselungsklasse in eine JAR-Datei (Java-Archiv) im Verzeichnis ${WAS_INSTALL_ROOT}/classes, das Sie erstellt haben.
      Fehler vermeiden Fehler vermeiden: WebSphere Application Server erstellt das Verzeichnis ${WAS_INSTALL_ROOT}/classes nicht. Weitere Informationen zum Verzeichnis "classes" finden Sie im Artikel "Unterverzeichnis "classes" im Profil für angepasste Klassen erstellen".gotcha
    • Kopieren Sie die angepasste Verschlüsselungsklasse in eine JAR-Datei (Java-Archiv) im Verzeichnis ${WAS_HOME}/lib/ext.
  3. Starten Sie alle Serverprozesse neu.
  4. Bearbeiten Sie alle Konfigurationsdokumente, die ein Kennwort enthalten, und speichern Sie die Konfiguration. Alle Kennwortfelder durchlaufen dann das Dienstprogramm WSEncoderDecoder. Wenn dieses Dienstprogramm aktiviert ist, ruft es den Verbindungspunkt auf. In den Konfigurationsdokumenten werden die Tags {custom:alias} angezeigt. Die Kennwörter sind auch nach der Verschlüsselung noch Base64-codiert. Sie ähneln bis auf die Tags codierten Kennwörtern.
  5. Verschlüsseln Sie alle Kennwörter in clientseitigen Eigenschaftendateien mit dem Dienstprogramm PropsFilePasswordEncoder(.bat oder .sh). Dieses Dienstprogramm erfordert, dass die oben aufgelisteten Eigenschaften im Script als Systemeigenschaften definiert sind, damit die neuen Kennwörter verschlüsselt und nicht codiert werden. Sie müssen das Script bearbeiten, um die Eigenschaften in die Java-Befehlszeile aufzunehmen. Beispiel:
    %JAVA_EXE% -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true 
    -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=mysample.MySampleEncryption 
    -Dcmd.properties.file=%TMPJAVAPROPFILE% 
    "-Dwas.install.root=%WAS_HOME%" com.ibm.ws.bootstrap.WSLauncher com.ibm.ws.security.util.PropFilePasswordEncoder %*
    Eine Liste der Dateien, die in PropsFilePasswordEncoder ausgeführt werden müssen, finden Sie in Tabelle 2 im Artikel Kennwörter in Dateien codieren.
  6. Wenn Sie die Kennwörter von Client-JVMs entschlüsseln möchten, fügen Sie die oben aufgelisteten Eigenschaften als Systemeigenschaften zu jedem Clientdienstprogramm hinzu.
  7. Stellen Sie vor dem Aktivieren dieser Funktion sicher, dass der Klassenpfad aller Knoten die angepassten Verschlüsselungsklassen enthalten. Bei der Aktivierung spielt die Reihenfolge eine wichtige Rolle. Wenn Sie zu einer Zelle mit Kennwortverschlüsselung einen neuen Knoten hinzufügen, muss der neue Knoten vor Verwendung des Befehls addNode die angepassten Verschlüsselungsklassen enthalten. Schauen Sie sich die folgenden Aktivierungszenarien für WebSphere Application Server Network Deployment an:
    1. Das Profil StandAloneProfile verschlüsselt Kennwörter vor der Integration in eine Deployment-Manager-Zelle mit einem anderen Schlüssel. Für dieses Szenario müssen Sie die angepasste Kennwortverschlüsselung deinstallieren, um sicherzustellen, dass den Kennwörtern in der Konfiguration vor Ausführung des Befehls addNode das Tag {xor} vorangestellt ist. Dieselbe Implementierung des Verbindungspunktes muss im Verzeichnis /classes enthalten sein, bevor der Befehl addNode ausgeführt wird. Außerdem müssen die richtigen Konfigurationseigenschaften so gesetzt sein, dass der neue Knoten das Format der verschlüsselten Kennwörter in der Datei security.xml lesen kann, nachdem die Integration abgeschlossen ist.
    2. Im Profil StandAloneProfile ist keine Kennwortverschlüsselung vor der Integration in eine Deployment-Manager-Zelle konfiguriert. Dieselbe Implementierung des Verbindungspunktes muss im Verzeichnis /classes enthalten sein, bevor der Befehl addNode ausgeführt wird. Außerdem müssen die richtigen Konfigurationseigenschaften so gesetzt sein, dass der neue Knoten das Format der verschlüsselten Kennwörter in der Datei security.xml lesen kann, nachdem die Integration abgeschlossen ist.
    3. Falls die angepasste Kennwortverschlüsselung in einer Zelle mit mehreren Knoten aktiviert wird, müssen die korrekten Konfigurationseigenschaften aktualisiert werden. Außerdem muss sich die Implementierung der angepassten Kennwortverschlüsselung auf allen Knoten befinden. Stoppen Sie alle Prozesse in der Zelle. Starten Sie dann den Deployment Manager. Bearbeiten Sie die Sicherheitskonfiguration in der Administrationskonsole, und speichern Sie die Konfiguration. Prüfen Sie, ob die Kennwörter verschlüsselt werden. Dies ist der Fall, wenn den Kennwörtern in der Datei security.xml das Tag {custom:alias} vorangestellt ist.
    4. Führen Sie auf jedem Knoten den Befehl syncNode aus. Starten Sie dann jeden Knoten einzeln. Falls ein Knoten nicht gestartet werden kann, vergewissern Sie sich, dass die angepasste Kennwortverschlüsselung in der Datei security.xml ordnungsgemäß aktiviert ist und dass sich die Implementierungsklasse im richtigen Verzeichnis /classes für die Plattform befindet.

Ergebnisse

Die angepasste Kennwortverschlüsselung ist aktiviert.

Nächste Schritte

Falls die angepasste Kennwortverschlüsselung nicht mehr benötigt wird, lesen Sie die Informationen im Artikel Angepasste Kennwortverschlüsselung inaktivieren.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_enable_custpass_encrypt
Dateiname:tsec_enable_custpass_encrypt.html