Modssl ermöglicht die gesicherte Übertragung mittels ssl-Verschlüsselung. Diese erkennt man an „https://“ vor dem Seitennamen. Die verschlüsselte Übertragung ist vor allem für die Übertragung der Passwörter und sensibler Daten wichtig. So wird z.B. bei Online-Banking nur eine solche verwendet.
Erstellen der Zertifikate
1. Linux wird benötigt. Zum Erstellen der Zertifikate muss „openssl“ installiert werden.
2. Zertifikate erstellen:
1 2 3 |
openssl genrsa -out server.key -des3 1024 openssl req -new -x509 -days 1460 -key server.key -out server.crt openssl rsa -in server.key -out server_without_passwd.key |
Ein Hinweis: „Common Name“ ist der Domainname oder die IP-Adresse des Servers und sollte lauten „deinAccoutName.dyndns.org“ oder auch ein anderer Dyndns-Name.
3. Nun kopiert man folgende Dateien ins conf-Verzeichnis von apache:
- server.crt
- server_without_passwd.key
Anpassen der apache.conf
Zuletzt muss man die apache.conf um moddssl erweitern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Listen 443 # Am besten direkt nach "Listen 85" reinschreiben # [...] DocumentRoot "/var/media/data/apache/htdocs" ServerName 192.168.178.1 ServerAdmin radislv@lavabit.com ErrorLog /var/media/data/apache/logs/error.log TransferLog /var/media/data/apache/logs/apache_access_log SSLEngine on SSLCertificateFile /var/media/data/apache/conf/server.crt SSLCertificateKeyFile /var/media/data/apache/conf/server_without_passwd.key SSLOptions +StdEnvVars <Directory "/var/media/data/apache/cgi-bin"> SSLOptions +StdEnvVars CustomLog /var/media/data/apache/logs/ssl_request.log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" |
In der Beispielkonfiguration ist dieser VirtualHost auskommentiert.
Testen
Wenn nun alles richtig eingerichtet ist, muss die Homepage gesichert verfügbar sein: https://192.168.178.1
Achtung: da Modssl standardmäßig den Port 443 nutzt, wird auch die Fernwartung falls eingeschaltet unter diesem Port laufen. Logischerweise werden sich diese beißen: man muss eine der Anwendungen auf den anderen Port legen, z.B. die Fernwartung auf Port 444. In diesem Falle haben wir folgende Adressen:
- Fernwartung: https://192.168.178.1:444
- Apache(modssl): https://192.168.178.1 oder https://192.168.178.1:443
Gesicherter Zugriff von Außen
1. Um einen gesicherten Zugriff auf die Webseiten von Außen zu ermöglichen, ist ein Eintrag in ar7.cfg bei „forwardrules“ notwendig:
1 2 3 4 |
forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", [...] "tcp 0.0.0.0:443 0.0.0.0:443 0 # apache modssl" [...] |
Siehe dazu Kapitel „ar7.cfg“
2. Nun sollte die Seite auch von Außen erreichbar sein: https://[deineIp]/
„deineIp“ muss natürlich durch deine richtige IP-Adresse ersetzt werden. Am einfachsten findet man diese hier heraus.
Beispiel: https://123.123.123.123/