Show TOC

Dokumentation zur VorgehensweiseSSL für den SAP-Host-Agenten auf IBM i konfigurieren Dieses Dokument in der Navigationsstruktur finden

 

In der folgenden Vorgehensweise gehen wir von der Annahme aus, dass Sie die Standardnamen für die Server-PSE verwenden. Wenn Sie den Standard-.pse-Namen überschreiben wollen, können Sie den folgenden Wert in der Profildatei des SAP-Host-Agenten (host_profile) verwenden:

ssl/server_pse= <Path to Server PSE>

Sie finden die Datei host_profile unter $DIR_EXECUTABLE, wobei $DIR_EXECUTABLE der Pfad zum Verzeichnis ist, in dem die ausführbaren Programme saphostcontrol und saphostexec des SAP-Host-Agenten abgelegt sind: /usr/sap/hostctrl/exe

Voraussetzungen

Sie müssen als ein Benutzerprofil mit den speziellen Berechtigungen *SECADM und *ALLOBJ, beispielsweise als Benutzerprofil QSECOFR, angemeldet sein.

Vorgehensweise

  1. Bereiten Sie die Personal Security Environment (PSE) für den Server vor:

    Die Server-PSE enthält die Namen und die öffentlichen Schlüssel der vertrauenswürdigen Zertifikate sowie das Serverzertifikat, das an den Client gesendet wird, wenn die SSL-Verbindung hergestellt ist. Vertrauenswürdige Zertifikate können Zertifikate, die von der Certification Authority (CA) ausgestellt werden, oder individuell vertrauenswürdige Zertifikate sein.

    Gehen Sie folgendermaßen vor:

    1. Sie müssen vorübergehend die Anmeldung für den Benutzer SAPADM aktivieren. Um das Benutzerprofil zu ändern, geben Sie folgenden Befehl ein:

      CHGUSRPRF USRPRF(SAPADM) INLMNU(MAIN) LMTCPB(*NO)

    2. Legen Sie ein Verzeichnis /usr/sap/hostctrl/exe/sec mithilfe des folgenden Befehls ein:

      CRTDIR DIR('/usr/sap/hostctrl/exe/sec') DTAAUT(*EXCLUDE) OBJAUT(*NONE)

      Hinweis Hinweis

      Sie können auch ein anderes Verzeichnis verwenden, aber in diesem Falle müssen Sie angeben, wo sich die PSE-Datei befindet und dafür den Parameter ssl/server_pse wie oben beschrieben verwenden. In der folgenden Vorgehensweise verwenden wir der Einfachheit halber immer das Verzeichnis sec.

      Ende des Hinweises.
    3. Ändern Sie den Eigentümer und die primäre Gruppe des PSE-Verzeichnisses und definieren Sie die entsprechenden Berechtigungen mithilfe des folgenden Befehls:

      QSYS/CHGOWN OBJ('/usr/sap/hostctrl/exe/sec') NEWOWN(SAPADM)

      QSYS/CHGPGP OBJ('/usr/sap/hostctrl/exe/sec') NEWPGP(R3GROUP) DTAAUT(*RWX)

    4. Melden Sie sich nun als Benutzer SAPADM an und führen Sie den Befehl CALL PGM(QP2TERM) aus, bevor Sie die Befehle der folgenden Arbeitsschritte eingeben.

    5. Richten Sie den Suchpfad für die Shared Library (LIBPATH) und die SECUDIR-Umgebungsvariablen ein und wechseln Sie außerdem zum Verzeichnis exe des SAP-Host-Agenten.

      Die erforderlichen Befehle sind:

      export LIBPATH=/usr/sap/hostctrl/exe

      export SECUDIR=/usr/sap/hostctrl/exe/sec

      cd /usr/sap/hostctrl/exe

      Empfehlung Empfehlung

      Setzen Sie SECUDIR als absoluten Pfad, um Konflikte mit dem Werkzeug sapgenpse zu vermeiden.

      Ende der Empfehlung.
    6. Legen Sie die Server-PSE und dort das Serverzertifikat sowie den Certificate Signing Request (CSR) mithilfe des folgenden Befehls an:

      ./sapgenpse gen_pse -p SAPSSLS.pse -x <PASSWORD> -r <PKCS#10 requestfile> <DISTINGUISHED NAME>

      Dieser Befehl legt die PSE-Datei /usr/sap/hostctrl/exe/sec/SAPSSLS.pse (Name ist ein Festwert) an, die für die Authentifizierung des Hosts verwendet werden kann, der von <DISTINGUISHED NAME> für eingehende SSL-Verbindungen beschrieben wird. Der Zugriff auf die PSE-Datei wird mit dem Kennwort <PASSWORD> geschützt.

      Der CSR wird in die Stream-Datei <PKCS#10 requestfile> geschrieben. Ignorieren Sie die Warnung sapgenpse-WARNUNG: Umgebungsvariable "USER" ist nicht definiert!

      Beispiel Beispiel

      ./sapgenpse gen_pse -p SAPSSLS.pse -x pass -r /tmp/myhost-csr.p10 "CN=myhost.wdf.sap.corp, O=SAP AG, C=DE"

      Dieser Befehl legt die PSE-Datei /usr/sap/hostctrl/exe/sec/SAPSSLS.pse an, die für die Authentifizierung von myhost.wdf.sap.corp für eingehende SSL-Verbindungen verwendet werden kann. Der Zugriff auf die PSE-Datei wird mit dem Kennwort pass geschützt. Der CSR wird in die Stromdatendatei /tmp/myhost-csr.p10 geschrieben.

      Ende des Beispiels.
    7. Gewähren Sie dem SAP-Host-Agenten Zugriff auf die Server-PSE mithilfe des folgenden Befehls.

      ./sapgenpse seclogin -p SAPSSLS.pse -x <PASSWORD> -O sapadm

      Beispiel Beispiel

      ./sapgenpse seclogin -p SAPSSLS.pse -x pass -O sapadm

      Ende des Beispiels.
    8. Rufen Sie das Zertifikat auf die folgende Weise ab:

      1. Übertragen Sie die Datenstromdatei, die den CSR (Certificate Signing Request) enthält, zu einem Rechner und senden Sie sie an die von Ihnen verwendete Certification Authority (CA).

      2. Die CA antwortet auf die PKCS#10 requestfile mit einer “CA-response-file”, die das signierte Zertifikat enthält - zwischen den Zeilen ---- BEGIN CERTIFICATE ---- und ---- END CERTIFICATE ----. Kopieren Sie den gesamten Inhalt zwischen diesen beiden Zeilen - einschließlich der Zeilen - in eine Textdatei. Übertragen Sie diese Textdatei in eine Datenstromdatei auf Ihrem IBM i.

        Beispiel Beispiel

        Die Textdatei kann den Namen myhost.p7b haben und in die Stromdatendatei /tmp/myhost.p7b übertragen werden. Wir verwenden diesen Dateinamen in den folgenden Beispielen:

        Ende des Beispiels.
    9. Importieren Sie das signierte Zertifikat in die Server-PSE mithilfe des folgenden Befehls:

      ./sapgenpse import_own_cert -p SAPSSLS.pse -x <PASSWORD> -c <CA-response-file>

      Beispiel Beispiel

      ./sapgenpse import_own_cert -p SAPSSLS.pse -x pass -c /tmp/myhost.p7b

      Ende des Beispiels.
    10. Prüfen Sie die Server-Zertifikatskette mithilfe des folgenden Befehls:

      ./sapgenpse get_my_name -p SAPSSLS.pse -x <PASSWORD> -v

      Beispiel Beispiel

      ./sapgenpse get_my_name -p SAPSSLS.pse -x pass -v

      Ende des Beispiels.
    11. Sie setzen die Änderungen, die Sie in Schritt 1.a) vorgenommen haben, auf das Benutzerprofil SAPADM zurück, indem Sie das Programm QP2TERM mit der Funktionstaste F3 verlassen und den folgenden Befehl eingeben: CHGUSRPRF USRPRF(SAPADM) INLMNU(*SIGNOFF) LMTCPB(*YES)

    12. Melden Sie sich als ein Benutzerprofil mit den speziellen Berechtigungen *SECADM und *ALLOBJ an, beispielsweise als Benutzerprofil QSECOFR und führen Sie den Befehl CALL PGM(QP2TERM) aus, bevor Sie den folgenden Befehl eingeben, der den SAP-Host-Agenten erneut startet:

      /usr/sap/hostctrl/exe/saphostexec -restart

  2. Bereiten Sie die Client-PSE vor.

    Die Client-PSE enthält die Namen und die öffentlichen Schlüssel der vertrauenswürdigen Zertifikate von der CA sowie das Client-Zertifikat, das an den SAP-Host-Agenten gesendet wird, wenn die SSL-Verbindung hergestellt ist.

    Die Konfigurationsschritte sind Client-spezifisch. Aus diesem Grund beschreiben wir sie auf generische Weise. Folgen Sie den Anweisungen in der entsprechenden Client-Dokumentation.

    Beispiele für mögliche Clients sind die SAP Management Console (SAP MC), der Diagnostics-Agent im SAP Solution Manager oder die Software des SAP NetWeaver Landscape Virtualization Management (LVM) (vormals Adaptive Computing Controller (ACC)).

Ergebnis

Empfehlung Empfehlung

Wenn Sie die oben stehende Vorgehensweise erfolgreich angewendet haben, ist der SAP-Host-Agent auch für den Port 1129 für die SSL-Kommunikation verwendbar.

Ende der Empfehlung.