Für z/OS-Plattformen[16.0.0.4 und höher]

SAF-Zertifikate und Schlüsselringe für TLS unter dem Betriebssystem z/OS konfigurieren

Migrieren Sie einen vorhandenen Verbund für die Verwendung von SAF (System Authorization Facility) für sicherheitsrelevante Funktionen, wie z. B. Authentifizierung-, Autorisierungs- und Zertifikatsanforderungen.

Vorbereitende Schritte

Markieren Sie die Verbundzertifikate, die für die Verwaltungssicherheit verwendet werden, mit einer für den Controller und das Member definierten Zeichenfolge. Angenommen, der DN (Distinguished Name) Ihres Zertifikats lautet folgendermaßen:
DN=<Hostname>, O=IBM, OU=Collective
Konfigurieren Sie das Attribut rdn mit der Zeichenfolge "OU=Collective" aus dem definierten Namen in der Datei server.xml:
<collectiveCertificate rdn="OU=Collective"></collectiveCertificate>

Informationen zu diesem Vorgang

Unterschiedliche Unterzeichner von Zertifizierungsstellen (CA, Certificate Authority) unterscheiden zwischen dem Verbundcontroller und einem Member. Mit SAF vertraut der Controller den Membern und die Member vertrauen dem Controller.

Die Komponente "Organisationseinheit" OU('Collective') für den Distinguished Name des Antragstellers definiert die Zeichenfolge und markiert das Zeritifikat für Erkennungszwecke bei der folgenden Prozedur.

In den nachfolgenden RACF-Beispielbefehlen, ist CONTROL die RACF-Benutzer-ID des Controllers und MEMBER die RACF-Benutzer-ID des Members.

Vorgehensweise

  1. Erstellen Sie SAF-Zertifikate und einen Schlüsselring für den Controller.
    1. Erstellen Sie ein von der Zertifizierungsstelle signiertes Verbundconrollerzertifikat (CERTAUTH).
      RACDCERT CERTAUTH GENCERT SUBJECTSDN(CN('CONTROLLER ROOT') 
      O('IBM') C('US'))SIZE(2048)WITHLABEL('CONTROLLER ROOT') 
      TRUST NOTAFTER(DATE(2035/12/31))
    1. Erstellen Sie ein Serverzertifikat für den Verbundcontroller, das von der Zertifizierungsstelle des Verbundcontrollers signiert ist.
      Wichtig: Ersetzen Sie den Text controller.host.name durch den Hostnamen des Controllers, um eine Abweichung des Hostnamens mit dem der Browser-URL zu verhindern.
      RACDCERT ID(CONTROL) GENCERT SUBJECTSDN(CN('controller.host.name')   
      O('IBM') OU('Collective')) WITHLABEL('CONTROLLER')  
      SIGNWITH(CERTAUTH LABEL('CONTROLLER ROOT')) SIZE(2048)  
      NOTAFTER(DATE(2020/12/30))  
               
    2. Erstellen Sie einen Schlüsselring für den Verbundcontroller.
      RACDCERT ID(CONTROL) ADDRING(CONTROL.KEYRING)
    3. Verbinden Sie die Zertifizierungsstelle des Verbundcontrollers mit dem Schlüsselring des Controllers.
      RACDCERT CONNECT(CERTAUTH LABEL('CONTROLLER ROOT')  
      RING(CONTROL.KEYRING))ID(CONTROL)
    4. Verbinden Sie das Serverzertifikat des Controllers mit dem Schlüsselring des Controllers.
      RACDCERT CONNECT(ID(CONTROL) LABEL('CONTROLLER') 
      RING(CONTROL.KEYRING)) ID(CONTROL)  
  2. Erstellen Sie SAF-Zertifikate und einen Schlüsselring für das Member.
    1. Erstellen Sie ein von der Zertifizierungsstelle signiertes Verbundmemberzertifikat (CERTAUTH).
      RACDCERT CERTAUTH GENCERT SUBJECTSDN(CN('MEMBER ROOT')  
      O('IBM') C('US'))SIZE(2048)WITHLABEL('MEMBER ROOT')  
      TRUST NOTAFTER(DATE(2035/12/31))
    2. Verbinden Sie die Zertifizierungsstelle des Verbundmembers mit dem Schlüsselring des Controllers.
      RACDCERT CONNECT(CERTAUTH LABEL('MEMBER ROOT')  
      RING(CONTROL.KEYRING))ID(CONTROL)
    3. Erstellen Sie ein Serverzertifikat für das Verbundmember, das von der Zertifizierungsstelle des Verbundmembers signiert ist.
      Wichtig: Ersetzen Sie den Text member.host.name durch den Hostnamen des Members, um eine Abweichung des Hostnamens mit dem der Browser-URL zu verhindern.
      RACDCERT ID(MEMBER) GENCERT SUBJECTSDN(CN('member.host.name')  
        O('IBM') OU('Collective')) WITHLABEL('MEMBER')                      
        SIGNWITH(CERTAUTH LABEL('MEMBER ROOT')) SIZE(2048)                  
        NOTAFTER(DATE(2020/12/30))
    4. Erstellen Sie einen Schlüsselring MEMBER.KEY für das Verbundmember.
      RACDCERT ID(MEMBER) ADDRING(MEMBER.KEY)
    5. Verbinden Sie die Zertifizierungsstelle des Verbundmembers mit dem Schlüsselring MEMBER.KEY.
      RACDCERT CONNECT(CERTAUTH LABEL('MEMBER ROOT') 
      RING(MEMBER.KEY)) ID(MEMBER)    
              
    6. Verbinden Sie das Member-Server-Zertifikat mit dem Schlüsselring MEMBER.KEY.
      RACDCERT CONNECT(ID(MEMBER) LABEL('MEMBER')   
      RING(MEMBER.KEY)) ID(MEMBER)
    7. Listen Sie den Inhalt des Memberschlüsselrings auf.

      Im Schlüsselring sollten zwei Zertifikate enthalten sein.

      RACDCERT ID(MEMBER) LISTRING(MEMBER.KEY)
      Digital ring information for user MEMBER:                                                                 
             >MEMBER.KEY<                                              
        Certificate Label Name             Cert Owner     USAGE      DEFAULT  
        --------------------------------   ------------   --------   -------  
        MEMBER ROOT                        CERTAUTH       CERTAUTH     NO     
                                                                                
        MEMBER                             ID(MEMBER)     PERSONAL     NO       
         
    8. Erstellen Sie einen zweiten Schlüsselring MEMBER.TRUST für das Member.
      RACDCERT ID(MEMBER) ADDRING(MEMBER.TRUST)
    9. Verbinden Sie die Zertifizierungsstelle des Verbundcontrollers mit dem Schlüsselring MEMBER.TRUST.
      RACDCERT CONNECT(CERTAUTH LABEL('CONTROLLER ROOT')  
      RING(MEMBER.TRUST))ID(MEMBER)
    10. Listen Sie den Inhalt des Schlüsselrings MEMBER.TRUST auf. Im Schlüsselring sollte ein Zertifikat enthalten sein.
      RACDCERT ID(MEMBER) LISTRING(MEMBER.TRUST)
      Digital ring information for user MEMBER:                               
        Ring:                                                                 
             >MEMBER.TRUST<                                              
        Certificate Label Name             Cert Owner     USAGE      DEFAULT  
        --------------------------------   ------------   --------   -------  
        CONTROLLER ROOT                    CERTAUTH       CERTAUTH     NO     
         
  3. Listen Sie den Inhalt des Controllerschlüsselrings auf. Im Schlüsselring sollten drei Zertifikate enthalten sein.
    RACDCERT ID(CONTROL)LISTRING(CONTROL.KEYRING) 
    Ring:                                                                 
           >CONTROL.KEYRING<                                              
      Certificate Label Name             Cert Owner     USAGE      DEFAULT  
      --------------------------------   ------------   --------   -------  
      MEMBER ROOT                        CERTAUTH       CERTAUTH     NO     
                                                                            
      CONTROLLER ROOT                    CERTAUTH       CERTAUTH     NO     
                                                                            
      CONTROLLER                         ID(CONTROL)    PERSONAL     NO     
  4. Berechten Sie den Controller und das Member für die Verwendung der eigenen Schlüsselringe und Zertifikate.

    Sie können FACILITY-Klassenprofile oder RDATALIB-Profile verwenden.

    Das folgende Beispiel verwendet die FACILITY-Klassenberechtigung für die CONTROL- und MEMBER-Benutzer:

    PERMIT IRR.DIGTCERT.LIST CLASS(FACILITY) ID(CONTROL MEMBER) ACCESS(READ)
    PERMIT IRR.DIGTCERT.LISTRING CLASS(FACILITY) ID(CONTROL MEMBER) ACCESS(READ)
    SETR RACLIST(FACILITY) REFRESH

    Das folgende Beispiel verwendet die RDATALIB-Klassenberechtigung für die CONTROL- und MEMBER-Benutzer:

    PERMIT CONTROL.**.LST CLASS(RDATALIB) ID(CONTROL) ACCESS(READ)
    PERMIT MEMBER.**.LST CLASS(RDATALIB) ID(MEMBER) ACCESS(READ) 
    SETR RACLIST(RDATALIB) REFRESH
  5. Fügen Sie die z/OS-Sicherheitsfunktion den serverl.xml-Dateien des Controllers und des Members hinzu.
    1. Stoppen Sie den Controller und das Member. Speichern Sie eine Kopie der server.xml-Datei des Controllers und der des Members bei Ihren Sicherungsdateien.
    2. Fahren Sie mit der Bearbeitung der server.xml-Dateien fort. Fügen Sie den server.xml-Dateien des Controllers und des Members das Element featureManager hinzu:
      <feature>ssl-1.0</feature>
      <feature>zosSecurity-1.0</feature>
            
    3. Erstellen Sie eine Serverklassenprofil, damit der Controller und das Member auf SAF-Services zugreifen können. Weitere Informationen finden Sie in der Produktdokumentation unter Enabling z/OS authorized services on Liberty for z/OS. Ersetzen Sie anschließend in den server.xml-Dateien des Controllers und des Members die folgende Zeile
      <quickStartSecurity userName="admin" userPassword="adminpw" />
      durch die folgenden fünf Zeilen:
      <safAuthorization id="saf" racRouteLog="ASIS" />                    
      <safCredentials profilePrefix="BBGZDFLT" unauthenticatedUser="WSGUEST"/>
      <safRegistry id="saf" realm="WASRealm" />                           
      <safRoleMapper profilePattern="%profilePrefix%.%role%" />           
      <zosLogging enableLogToMVS="true"></zosLogging>

      Das EJBROLE-Profil, das den Zugriff auf das Admin Center steuert, ist BBGZDFLT.Administrator.

    4. Geben Sie in der Datei server.xml für den Controller und das Member die Zeichenfolge collectiveCertificate an, indem Sie die folgende Zeile hinzufügen:
      <collectiveCertificate rdn="OU=Collective"></collectiveCertificate>
  6. Ersetzen Sie in der Datei server.xml des Controllers die Schlüsseldateinamen durch die SAF-Schlüsselringnamen.
    1. Lokalisieren Sie das Keystore-Element mit der ID defaultKeyStore. Ersetzen Sie die Zeile location="${server.config.dir}/resources/security/key.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///CONTROL.KEYRING"                  
      type="JCERACFKS" fileBased="false" readOnly="true" />
    2. Lokalisieren Sie das Keystore-Element mit der ID defaultTrustStore. Ersetzen Sie die Zeile location="${server.config.dir}/resources/security/trust.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///CONTROL.KEYRING"                                 
      type="JCERACFKS" fileBased="false" readOnly="true" />  
    3. Lokalisieren Sie das Keystore-Element mit der ID serverIdentity. Ersetzen Sie die Zeile location="${server.config.dir}/resources/collective/serverIdentity.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///CONTROL.KEYRING"
      type="JCERACFKS" fileBased="false" readOnly="true" />      
    4. Lokalisieren Sie das Keystore-Element mit der ID collectiveTrust. Ersetzen Sie die Zeile location="${server.config.dir}/resources/collective/collectiveTrust.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///CONTROL.KEYRING"                  
      type="JCERACFKS" fileBased="false" readOnly="true" />
          

      Ändern Sie nicht das Keystore-Element collectiveRootKeys.

  7. Ersetzen Sie in der server.xml-Datei des Members die Schlüsseldateinamen durch die SAF-Schlüsselringnamen.
    1. Lokalisieren Sie das Keystore-Element mit der ID defaultKeyStore. Ersetzen Sie die Zeile location="${server.config.dir}/resources/security/key.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///MEMBER.KEY"                  
      type="JCERACFKS" fileBased="false" readOnly="true" />
    2. Lokalisieren Sie das Keystore-Element mit der ID defaultTrustStore. Ersetzen Sie die Zeile location="${server.config.dir}/resources/security/trust.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///MEMBER.TRUST"                                 
      type="JCERACFKS" fileBased="false" readOnly="true" />  
    3. Lokalisieren Sie das Keystore-Element mit der ID serverIdentity. Ersetzen Sie die Zeile location="${server.config.dir}/resources/collective/serverIdentity.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///MEMBER.KEY"
      type="JCERACFKS" fileBased="false" readOnly="true" />
          
    4. Lokalisieren Sie das Keystore-Element mit der ID collectiveTrust. Ersetzen Sie die Zeile location="${server.config.dir}/resources/collective/collectiveTrust.jks"/> durch die folgenden Zeilen:
      location="safkeyring:///MEMBER.TRUST"
      type="JCERACFKS" fileBased="false" readOnly="true" />
          
  8. Starten Sie den Controller und das Member.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: tagt_wlp_collective_zos_tls.html