====== 🛡️ 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):**
ServerName wiki.local
Redirect permanent / https://wiki.local/
===== 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