Show TOC

Dokumentation zur VorgehensweiseTREX-Name-Server authentifizieren Dieses Dokument in der Navigationsstruktur finden

 

Wenn der TREX-Name-Server einen Request an den TREX-Web-Server sendet, übermittelt er auch die öffentlichen Informationen seines Zertifikats. Anhand dieser Informationen kann der TREX-Web-Server den TREX-Name-Server authentifizieren.

Voraussetzung dafür ist, dass Sie Inhaber und Aussteller vom Client-Zertifikat des TREX-Name-Servers in folgende Konfigurationsdateien entsprechend dem von Ihnen verwendeten Betriebssystem und Web-Server eintragen:

  • IIS/ Windows: TREXcert.ini

  • Apache / UNIX: httpd.conf

Der TREX-Web-Server vergleicht die übermittelten Informationen mit den Informationen in seiner Konfigurationsdatei und leitet nur Requests von Clients weiter, die er kennt. Erhält der Web-Server einen Request von einem ihm unbekannten Client, weist er den Request zurück. Sie können mehrere Client-Zertifikate in die Konfigurationsdateien eintragen.

Vorgehensweise

Inhaber und Aussteller des Client-Zertifikats in TREXcert.ini eintragen (IIS/Windows)
  1. Öffnen Sie auf dem TREX-Web-Server die Konfigurationsdatei <TREX_Verzeichnis>\TREXcert.ini mit einem Texteditor.

    Hinweis Hinweis

    Aus Sicherheitsgründen sollten Sie unter Windows die Konfigurationsdatei TREXcert.ini mit Betriebssystem-Mitteln schützen. Beispielsweise können Sie festlegen, dass nur bestimmte Benutzer die Datei lesen dürfen.

    Ende des Hinweises
  2. Ersetzen Sie in der Sektion [WEBSERVERCERTIFICATEnn] die Angabe nn durch 1, wenn Sie das erste Client-Zertifikat eintragen. Wenn bereits Client-Zertifikate eingetragen sind, nummerieren Sie entsprechend. Sie können beliebig viele Client-Zertifikate eintragen, die Sie aufsteigend durchnummerieren müssen.

    Beispiel Beispiel

    [WEBSERVERCERTIFICATE1]

    subject=

    issuer=

    Ende des Beispiels.
  3. Tragen Sie in den Parametern subject= und issuer= den Inhaber und Aussteller des Client-Zertifikats ein.

    Hinweis Hinweis

    Diese Informationen können Sie dem Schlüsselspeicher SAPSSLS.pse mit dem folgenden SAPGENPSE -Befehl entnehmen:

    sapgenpse get_my_name -p SAPSSLS.pse

    Ende des Hinweises
  4. Die angezeigten Informationen tragen Sie in die Konfigurationsdatei TREXcert.ini wie folgt ein:

    [WEBSERVERCERTIFICATE2]

    subject=CN=myhost.mydomain, OU=mydepartment, O=mycompany, L=mycity, ST=mystate, C=m country, EMail=myaccount@mydomain

    issuer=CN=My Certificate Authority (CA), OU=Certificate Center, O=CA Company, L=CA City, ST=CA State, C=CA Country, EMail=caaccount@ cacompany.com

    Hinweis Hinweis

    Bei der Konfiguration der sicheren Kommunikation zwischen TREX-Web-Server und TREX-Java-Client (HTTPS) haben Sie bereits in die Konfigurationsdatei TREXcert.ini die Angaben über subject und issuer des TREX-Java-Clients eingetragen, und so den TREX-Java-Client gegenüber dem TREX-Web-Server authentifiziert (siehe TREX-Java-Client authentifizieren).. Sie haben jetzt in der Sektion [WEBSERVERCERTIFICATE2] den TREX-Name-Server als weiteren authentifizierten Kommunikationspartner des TREX-Web-Servers hinzugefügt.

    Ende des Hinweises
  5. Beachten Sie folgende Hinweise.

    • Bezeichnungen - Der Inhaber des Zertifikats wird im Kryptographietool SAPGENPSE als owner und in der Konfigurationsdatei als subject bezeichnet.

      Für folgende Informationen sind in der Konfigurationsdatei mehrere Bezeichnungen zulässig:

      Information

      Bezeichnung in TREXcert.ini

      Bundesland

      ST= und S=

      E-Mail-Adresse

      EMail= und E=

      Die übrigen Bezeichnungen müssen in der Konfigurationsdatei genau so lauten wie im Schlüsselspeicher angezeigt, d.h. O= bezeichnet die Organisationseinheit, L= bezeichnet den Ort usw.

    • Schreibweise - Die Schreibweise der Einträge in der Konfigurationsdatei muss genau mit der Schreibweise im Schlüsselspeicher übereinstimmen. Achten Sie insbesondere auf Groß-/Kleinschreibung und auf Leerzeichen in den Parameterwerten.

    • Reihenfolge - Die Reihenfolge der Angaben innerhalb der Parameter subject= und issuer= ist beliebig. Beispielsweise ist sowohl subject=CN=myhost.mydomain, OU=mydepartment, O=mycompany, ... als auch subject=O=mycompany, OU=mydepartment, CN=myhost.mydomain, ... erlaubt.

    • Trennzeichen - Alle Angaben zu einem Parameter (z.B. alle Angaben zu subject=) müssen in einer Zeile stehen. Die Angaben innerhalb der Zeile trennen Sie durch Komma und Leerzeichen voneinander:

      issuer=E=caaccount@ cacompany.com, C=CA Country, ...

  6. Sichern Sie die Datei TREXcert.ini und beenden Sie den Editor.

Inhaber und Aussteller des Client-Zertifikats in httpd.conf eintragen (Apache/UNIX)
  1. Melden Sie sich unter dem User an, unter dem auch die TREX-Installation vorgenommen wurde.

  2. Stoppen Sie TREX.

  3. Wechseln Sie in das TREX-Installationsverzeichnis und dort in das Konfigurationsverzeichnis des Web-Servers:

    cd <TREX_Verzeichnis>/Apache/conf

  4. Öffnen Sie die Konfigurationsdatei httpd.conf.

    Achtung Achtung

    Machen Sie eine Sicherungskopie der Konfigurationsatei httpd.conf für den Fall, dass Sie den Apache-Web-Server weiter auf einer nicht sicheren Verbindung laufen lassen wollen.

    Ende der Warnung.
  5. Suchen Sie in der Konfigurationsdatei httpd.conf des Apache-Web-Servers nach der Zeile mit der zweiten Anweisung SSLRequire, die innerhalb der Tags <Location /TREX> und </Location> steht. Die Konfigurationsdatei httpd.conf wird standardmäßig in der folgenden Form ausgeliefert:

    Syntax Syntax

    1. <Location /TREX>
    2. SetHandler trex-handler
    3. #   usage of SSLRequire:
    4. #   standard apache example:
    5. #   SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
    6. #            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
    7. #            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
    8. #            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
    9. #            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
    10. #           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
    11. #   SAP Portal example
    12. #       SSLRequire      (%{SSL_CLIENT_S_DN} eq "/C=DE/ST=BW/L=Walldorf/O=SAP Portals/OU=TREX/CN=p54896 client/Email=andreas.mustermann@sap.com" and \%{SSL_CLIENT_I_DN} eq "/C=DE/ST=BW/L=Walldorf/O=SAP Portals/OU=TREX/CN=CA TREX/Email=andreas.mustermann@sap.com" )
    13. </Location>
    Ende des Codes

    Hinweis Hinweis

    Achten Sie darauf, eine zu lange Zeile nur mit Hilfe des dafür vorgesehenen Backslash-Zeichens "\" zu trennen.

    Ende des Hinweises
  6. Die Anweisung SSLRequire ist standardmäßig auskommentiert. Um sie zu aktivieren, entfernen Sie das Rautezeichen (#) vor der Zeile SSLRequire.

    Hinweis Hinweis

    Bei der Konfiguration der sicheren Kommunikation zwischen TREX-Web-Server und TREX-Java-Client (HTTPS) haben Sie bereits in die Konfigurationsdatei httpd.conf des Apache-Web-Servers die Angaben über subject und issuer des TREX-Java-Clients eingetragen, und so den TREX-Java-Client gegenüber dem TREX-Web-Server authentifiziert (siehe Konfigurationsdatei des Apache-Web-Servers anpassen).

    Ende des Hinweises
  7. Fügen Sie hinter dem bereits vorhandenen Eintrag zu Subject und Issuer des TREX-Java-Clients den Eintrag für Subject und Issuer des TREX-Name-Servers hinzu.

    1. Tragen Sie den Inhaber (Subject) und Aussteller (Issuer) des Client-Zertifikats in der folgenden Form ein:

      SSLRequire (%{SSL_CLIENT_S_DN} eq "<Inhaber (Subject)>" and %{SSL_CLIENT_I_DN} eq "< Aussteller (Issuer)>")

    2. Verbinden Sie die beiden Einträge mit Klammern "(...)"in der folgenden Form:

      (Subject/Issuer Java-Client) or (Subject/Issuer Name-Server )

      Beispiel Beispiel

      (%{SSL_CLIENT_S_DN} eq "/C=DE/ST=Baden Wuerttemberg/L=Walldorf/O=SAP AG/OU=TREX/CN=TREX Java Client/Email=my.account@sap.com" and %{SSL_CLIENT_I_DN} eq "/C=DE/ST=BadenWuerttemberg/L=Walldorf/O=CA Company/OU=Certificate Center/CN=My Certificate Authority/Email=ca.account@ca-company.com" )

      or\

      (%{SSL_CLIENT_S_DN} eq "/C=DE/ST=Baden Wuerttemberg/L=Walldorf/O=SAP AG/OU=TREX/CN=TREX Java Client/Email=my.account@sap.com" and %{SSL_CLIENT_I_DN} eq "/C=DE/ST=BadenWuerttemberg/L=Walldorf/O=CA Company/OU=Certificate Center/CN=My Certificate Authority/Email=ca.account@ca-company.com" )

      Ende des Beispiels.

      Hinweis Hinweis

      Die Informationen über Inhaber (Subject) und Aussteller (Issuer) des Client-Zertifikats können Sie dem Schlüsselspeicher SAPSSLS.pse mit dem folgenden SAPGENPSE-Befehl entnehmen:

      sapgenpse get_my_name -p SAPSSLS.pse

      Ende des Hinweises

      Achtung Achtung

      Beachten Sie, dass Sie in der Konfigurationsdatei httpd.conf Inhaber und Aussteller an zwei Stellen eintragen müssen. Es gibt sowohl einen Tag <Location /trex> (TREX kleingeschrieben) wie auch einen Tag <Location /TREX> (TREX großgeschrieben).

      Ende der Warnung.
  8. Sichern Sie die Konfigurationsdatei und beenden Sie den Editor.

  9. Starten Sie TREX wieder.

Ergebnis

Sie haben die sichere Kommunikation per HTTPS zwischen TREX-Name-Server und TREX-Web-Server konfiguriert.