Table of Contents
🛡️ SSL & Sicherheit
In diesem Kapitel wird die Absicherung der Serverumgebung und der Web-Kommunikation durch SSL/TLS-Zertifikate sowie zusätzliche Schutzmaßnahmen dokumentiert.
1. Erstellung des SSL-Zertifikats
Da das Wiki im lokalen Netzwerk (wiki.local) betrieben wird, wurde ein Self-Signed Zertifikat (selbstsigniertes Zertifikat) mit OpenSSL erstellt.
Verwendete Parameter:
- Algorithmus: RSA
- Schlüssellänge: 2048 Bit
- Gültigkeit: 365 Tage
Terminal-Befehl:
# Generierung des privaten Schlüssels und des Zertifikats sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/ssl/private/apache-selfsigned.key \ -out /etc/ssl/certs/apache-selfsigned.crt
2. Apache SSL-Konfiguration
Damit der Webserver das Zertifikat verwendet, wurde eine dedizierte SSL-VirtualHost-Datei angelegt.
Konfigurationsdatei: /etc/apache2/sites-available/dokuwiki-ssl.conf
Wichtige Zeilen in der Datei:
SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
Aktivierung der Konfiguration:
# Site aktivieren und Webserver neu laden sudo a2ensite dokuwiki-ssl.conf sudo systemctl reload apache2
3. Erzwingen von HTTPS (Redirect)
Um sicherzustellen, dass keine unverschlüsselten Verbindungen stattfinden, wurde der gesamte HTTP-Traffic automatisch auf HTTPS umgeleitet.
Anpassung in der Konfiguration (VirtualHost Port 80):
<VirtualHost *:80>
ServerName wiki.local
Redirect permanent / https://wiki.local/
</VirtualHost>
4. Schutz vor Brute-Force-Angriffen (Fail2Ban)
Zur Abwehr von automatisierten Login-Versuchen und zum Schutz des SSH-Ports wurde Fail2Ban implementiert. Das Tool überwacht die Log-Dateien und blockiert IPs temporär nach mehreren fehlgeschlagenen Anmeldeversuchen.
Installation und Aktivierung:
sudo apt install fail2ban -y sudo systemctl enable fail2ban sudo systemctl start fail2ban
Status überprüfen:
# Zeigt an, wie viele IPs aktuell für SSH blockiert sind sudo fail2ban-client status sshd
