commit c6f1c09ffb1a014004fe3eecf486dda4663fd9d8 Author: Torge Date: Thu Mar 6 10:37:17 2025 +0000 Readme.md hinzugefügt diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..d0446fd --- /dev/null +++ b/Readme.md @@ -0,0 +1,111 @@ +## Lokalen Apache-Webserver mit Self-Signed Certificate absichern + +### 1. OpenSSL zur Zertifikatserstellung verwenden +Falls OpenSSL nicht installiert ist: +- **Debian/Ubuntu:** `sudo apt install openssl` +- **CentOS/RHEL:** `sudo yum install openssl` +- **Windows:** [OpenSSL Binaries herunterladen](https://slproweb.com/products/Win32OpenSSL.html) + +Verzeichnis für Zertifikate erstellen: +```bash +sudo mkdir -p /etc/apache2/ssl +cd /etc/apache2/ssl +``` + +Privaten Schlüssel und Zertifikat generieren: +```bash +sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout apache-selfsigned.key -out apache-selfsigned.crt +``` +Angabe des Common Name (CN) mit **IP-Adresse** oder **Domainnamen** (z. B. `localhost`). + +--- + +### 2. Apache für SSL konfigurieren +SSL-Modul aktivieren: +```bash +sudo a2enmod ssl +sudo systemctl restart apache2 +``` + +SSL-VHost-Konfiguration bearbeiten: +```bash +sudo nano /etc/apache2/sites-available/default-ssl.conf +``` + +Konfiguration anpassen: +```apache + + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + + SSLEngine on + SSLCertificateFile /etc/apache2/ssl/apache-selfsigned.crt + SSLCertificateKeyFile /etc/apache2/ssl/apache-selfsigned.key + + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + +``` + +SSL-Host aktivieren und Apache neu starten: +```bash +sudo a2ensite default-ssl +sudo systemctl restart apache2 +``` + +--- + +### 3. Firewall-Regeln anpassen (optional) +Falls UFW aktiv ist: +```bash +sudo ufw allow 'Apache Full' +``` +Falls `firewalld` genutzt wird: +```bash +sudo firewall-cmd --permanent --add-service=https +sudo firewall-cmd --reload +``` + +--- + +### 4. Zertifikat im Browser vertrauen +Da es ein selbstsigniertes Zertifikat ist, muss es manuell als vertrauenswürdig markiert werden: +- **Windows:** `certmgr.msc` öffnen → "Vertrauenswürdige Stammzertifizierungsstellen" → Zertifikat importieren. +- **Linux:** +```bash +sudo cp apache-selfsigned.crt /usr/local/share/ca-certificates/ +sudo update-ca-certificates +``` + +--- + +### 5. Automatische HTTPS-Weiterleitung (optional) +HTTP zu HTTPS weiterleiten: +```bash +sudo nano /etc/apache2/sites-available/000-default.conf +``` + +Folgenden Inhalt hinzufügen: +```apache + + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + Redirect permanent / https://localhost/ + +``` + +Apache neu starten: +```bash +sudo systemctl restart apache2 +``` + +--- + +Jetzt ist der Apache-Server mit HTTPS (self-signed) erreichbar. 🎉 +