← Zurück zum Artikel Apache Webserver
Apache Modul laden, wenn es nicht bereits geladen ist:
$ a2enmod ssl
In /etc/apache2/ports.conf muss der Port 443 mit dem Befehl Listen 443 im Bereich <IfModule modssl.c> eingetragen werden.
Es muss noch die Direktive (= Anweisung, Auftrag, Befehl, Richtlinie) NameVirtualHost *:443 in diesem Bereich eingetragen werden und in der /etc/apache2/sites-available/default-ssl die VirtualHost-Direktive zu <VirtualHost *:443> geändert werden, damit virtuelle Hosts mit SSL genutzt werden können.
# /etc/init.d/apache2 restart
Da der Nutzer des Verzeichnisses /srv/www/vhosts/[Domain]/ vom aktuell eingeloggten unterschiedlich ist, ist es zweckmäßig, die Zertifikaterstellung zunächst im Home-Verzeichnis vorzunehmen und dann in das Vhost-Verzeichnis zu kopieren.
Also:
# openssl req -new > [Zertifikat-Dateiname].csr
Schlüssel erzeugen:
# openssl rsa -in privkey.pem -out [Zertifikat-Dateiname].key
Öffentliches Zertifikat erstellen:
$ openssl x509 -in [Zertifikat-Dateiname].csr -out [Zertifikat-Dateiname].crt -req -signkey [Zertifikat-Dateiname].key
Mit der Option –days [Tage] kann eine Gültigkeitsdauer in Tagen angegeben werden.
Falls beim Ausführen des letzten Befehls der Fehler unable to write random state
erscheint, muss man mit dem Befehl
$ rm ~/.rnd
das random file des users entfernen und den letzten Befehl nochmals ausführen
Weitere Informationen: Virtual Host Direktiven Tutorium: SSL-Zertifikat erstellen
In der VHost-Konfiguration für den Port 443 (SSL-Port) folgende Zeilen hinzufügen:
# SSLEngine On # SSLCertificateKeyFile /srv/www/vhosts/[vhost-Ordner]/[Dateiname].key # SSLCertificateFile /srv/www/vhosts/[vhost-Ordner]/[Dateiname].crt # #Bei verifizierten Zertifikaten muss hier noch das SSLCACertificate der Zertifizierungsstelle eingebunden werden
Nach diversen Attacken auf SSL ist es wichtig den Webserver so abzusichern, dass er nur noch sichere SSL-Algorithmen ermöglich. Dies ist bspw. in diesem Tutorial beschrieben, das auch regelmäßig geupdated wird: https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
Es gibt im Web einige Anwendungen, mit denen man die SSL-Verschlüsselung des Servers testen kann, dazu gehört zum Beispiel: https://www.ssllabs.com/ssltest/
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.