Konfigurationsdatei des Apache-Web-Servers
anpassen
Der Apache-Web-Server verfügt über die zentrale Konfigurationsdatei httpd.conf, die alle Konfigurationsanweisungen enthält. Um den Apache-Web-Server für SSL zu konfigurieren, passen Sie diese Konfigurationsdatei an.
Sie tragen dazu folgende Informationen in die Konfigurationsdatei httpd.conf ein:
· Zertifikate des Web-Servers eintragen
Sie tragen den Pfad der Dateien ein, die den privaten Schlüssel des Web-Servers, das Server-Zertifikat und das Root-Zertifikat der CA enthalten.
· Inhaber und Aussteller des Client-Zertifikats (TREX-Java-Client) eintragen
Sie tragen den Inhaber und Aussteller des Zertifikats ein, das dem Java-Client gehört. Der Web-Server kann dann anhand dieser Informationen den Java-Client authentifizieren.
Sie haben folgende Dateien bereitgestellt:
· den privaten Schlüssel des Web-Servers (serveru.key)
· das Server-Zertifikat des Web-Servers, das die Zertifizierungsstelle (CA) ausgestellt hat (serveru.crt)
· das Root-Zertifikat Ihrer CA in der Form CERTIFICATE_AUTHORITY.crt (ca.crt).

Im folgenden wird vom Root-Zertifikat Ihrer CA nur noch in der Kurzform ca.crt gesprochen. An allen Stellen, an denen das Kürzel ca.crt vorkommt, tragen Sie das gültige Root-Zertifikat Ihrer CA ein.
Ablageorte Zertifikate und Schlüssel
Die Dateien sind in folgenden Verzeichnissen abgelegt.
Zertifikate/Schlüssel |
Verzeichnis |
serveru.key |
<TREX_DIR>/Apache/conf/ssl.key |
serveru.crt ca.crt |
<TREX_DIR>/Apache/conf/ssl.crt |
serveru.csr |
<TREX_DIR>/Apache/conf/ssl.csr |
· Sie haben die Zertifikate für den Java-Client bereitgestellt (siehe Bereitstellen der Zertifikate für den Java-Client). Die Informationen über Inhaber (DN) und Aussteller (issuerDN) des Zertifikats, das dem Java-Client gehört, entnehmen Sie dem SAP J2EE Visual Administrator. Sie tragen dann Inhaber und Aussteller in die Konfigurationsdatei httpd.conf ein.
...
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_DIR>/Apache/conf
4. Öffnen Sie die Konfigurationsdatei httpd.conf und tragen Sie die Informationen ein, die in den folgenden Abschnitten angegeben sind. Sichern Sie anschließend die Konfigurationsdatei und beenden Sie den Editor.

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.
5. Abschließend starten Sie TREX wieder.
...
1. Suchen Sie in der Konfigurationsdatei httpd.conf nach der Anweisung SSLCACertificateFile. Tragen Sie den Pfad der Datei ein, die das Root-Zertifikat Ihrer CA (ca.crt) enthält.

SSLCACertificateFile conf/ssl.crt/ca.crt
2. Suchen Sie nach der Anweisung SSLCertificateFile. Tragen Sie den Pfad der Datei ein, die das Server-Zertifikat des Web-Servers (serveru.crt) enthält.

SSLCertificateFile conf/ssl.crt/serveru.crt
3. Suchen Sie nach der Anweisung SSLCertificateKeyFile. Tragen Sie den Pfad der Datei ein, die den privaten Schlüssel des Web-Servers (serveru.key) enthält.

SSLCertificateKeyFile conf/ssl.key/serveru.key

Unter Umständen müssen Sie vor einigen Einträgen in der Konfigurationsdatei httpd.conf die Auskommentierung zurücknehmen, damit die Einstellungen wirksam werden. Sie tun dies, indem Sie das Kommentarzeichen # vor der Zeile des Eintrags löschen.
...
1. Die einzutragenden Daten über Inhaber (DN) und Aussteller (issuerDN) des Client-Zertifikats können Sie dem SAP J2EE Visual Administrator entnehmen.
2. Starten Sie dazu den Visual Administrator in der SAP J2EE Engine.
3. Wählen Sie im linken Fenster des Visual Administrator den Tabulator Cluster.
4. Expandieren Sie den Knoten des Servers, auf dem die SAP J2EE-Engine läuft.
5. Expandieren Sie den Knoten Services.
6. Wählen Sie unter Services den Eintrag Key Storage.
7. Wählen Sie im Fenster Views des Tabulators Runtime den Eintrag TREXKeyStore.
8. Wählen Sie im Fenster Entries den Eintrag sslkey.
9. Im rechten Fenster sehen Sie die Parameter des privaten Schlüssels sslkey.

Die folgenden Informationen zum Inhaber (DN) und Aussteller (IssuerDN) werden im SAP J2EE Visual Administrator angezeigt:
Inhaber [DN]: CN=myhost.mydomain, OU=mydepartment, O=mycompany, L=mycity, ST=mystate, C=mycountry, EMAIL=myaccount@mydomain
Aussteller [IssuerDN]: CN=My Certificate Authority (CA), OU=Certificate Center, O=CA Company, L=CA City, ST=CA State, C=CA Country, EMAIL=caaccount@cacompany.com
10. Markieren Sie die Angaben über Inhaber [DN] und Aussteller [issuerDN] und tragen Sie diese Informationen in die Apache-Konfigurationsdatei httpd.conf ein.
11. Suchen Sie in der Konfigurationsdatei httpd.conf 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:
<Location /TREX>
SetHandler trex-handler
# usage of SSLRequire:
# standard apache example:
# SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
# SAP Portal example
# 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" )
</Location>

Achten Sie darauf, eine zu lange Zeile nur mit Hilfe des dafür vorgesehenen Backslash-Zeichens „\“ zu trennen.
12. Die Anweisung SSLRequire ist standardmäßig auskommentiert. Um sie zu aktivieren, entfernen Sie das Rautezeichen (#) vor der Zeile SSLRequire.
13. Tragen Sie dort den Inhaber [DN] und Aussteller [IssuerDN] des Client-Zertifikats in der folgenden Form ein: SSLRequire (%{SSL_CLIENT_S_DN} eq "<Inhaber [DN]>" and %{SSL_CLIENT_I_DN} eq "< Aussteller [IssuerDN]>")

(%{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" )

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).
Sie haben nun den Apache-Web-Server für die sichere Kommunikation über SSL konfiguriert. Abschließend ändern Sie noch Startmodus des Apache-Web-Servers.