Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:apache:ssl

Apache: SSL-Verschlüsselung

← 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

Erstellen eines neuen Zertifikates

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

Einbinden des Zertifikats in die Apache (VHost-)Konfiguration

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

SSL Hardening

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/

Testen der SSL Konfiguration des Webservers

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.

software/apache/ssl.txt · Zuletzt geändert: 2014/11/05 15:38 von mhoffmann