Apache2 Workshop SSL/TLS

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Apache2 SSL

  • SSL/TLS ermöglicht eine verschlüsselte Verbindung zwischen Clients und Servern.
  • Apache kann mit selbstsignierten oder offiziellen Zertifikaten arbeiten.
  • Die Konfiguration erfolgt in /etc/apache2/sites-available/.

SSL-Modul aktivieren

  • Apache benötigt das mod_ssl-Modul:
  • a2enmod ssl
  • systemctl restart apache2

Selbstsigniertes Zertifikat erstellen

  • Ein selbstsigniertes Zertifikat für Tests erzeugen:
  • openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
  • Beispielkonfiguration für SSL:
  • cat /etc/apache2/sites-available/default-ssl.conf*
<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

    DocumentRoot /var/www/html
</VirtualHost>
  • Aktivieren und neustarten:
  • a2ensite default-ssl
  • systemctl restart apache2

SSL mit Let’s Encrypt (certbot)

  • Certbot installieren:
  • apt install certbot python3-certbot-apache
  • Zertifikat anfordern:
  • certbot --apache -d example.com
  • Automatische Erneuerung prüfen:
  • systemctl list-timers | grep certbot

Härtung der SSL-Sicherheit

  • Sichere Protokolle und Cipher Suites verwenden:
  • cat /etc/apache2/mods-available/ssl.conf*
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
  • Apache neu laden:
  • systemctl restart apache2

Aufgaben

  • Erstelle ein selbstsigniertes Zertifikat und binde es in Apache ein.
  • Konfiguriere SSL mit Let’s Encrypt und teste die Erneuerung.
  • Härte die SSL-Sicherheit durch Anpassung der Protokolle und Cipher Suites.

Warum ist SSL wichtig?

  • Schutz vor Man-in-the-Middle-Angriffen durch Verschlüsselung.
  • Erhöhung der Vertrauenswürdigkeit und SEO-Ranking durch HTTPS.
  • Sicherstellung der Datenintegrität und Authentizität.