Verwaltung eines Webservers [2]

SSL-Konfiguration (HTTPS)

- steht für Secure Sockets Layer
- Verschlüsselung des Datentransfers
- benötigt Modul mod_ssl
- Apache lauscht für SSL auf dem Port 443

Wichtige Direktiven:

SSLVerifyClient
SSLVerifyDepth
SSLRequire
SSLOptions
SSLRequireSSL


# SSL aktivieren

# Auszug /etc/httpd.conf

SSLCertificateFile /etc/httpd/ssl/ServerCert.pem

SSLCertificateKeyFile /etc/httpd/ssl/ServerKey.pem


SSL-Zertifikat erstellen

openssl req -new > server.cert.csr

==> Erzeugt server.cert.csr (Zertifizierungswunsch) und privkey.pem (private key)


# Passwort entfernen, da nicht bei jedem Verbindungswunsch abgefragt werden soll

openssl rsa -in privkey.pem -out server.cert.key


# Das Zertifikat signieren

openssl x509 -in server.cert.csr -out server.cert.cert -req -signkey server.cert.key -days 365


# Zertifikat und private key an die definierte Stelle kopieren

cp server.cert.cert /etc/httpd/ssl/ServerCert.pem

cp server.cert.key /etc/httpd/ssl/ServerKey.pem


Beispiel-Konfiguration für SSL – httpd.conf

Listen 443
Listen 80

LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so

SSLMutex sem
SSLRandomSeed startup builtin
SSLSessionCache none

SSLLog logs/SSL.log
SSLLogLevel warn

<VirtualHost 192.168.0.1:443>
ServerName localhost
DocumentRoot /var/www/localhost/ssl
SSLEngine On
SSLCertificateFile conf/ssl/test-zertifikat.crt
SSLCertificateKeyFile conf/ssl/test-zertifikat.key
</VirtualHost>