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>