Znuny: HTTPS aktivieren

Um HTTPS auf der Znuny (Test) Webseite zu aktivieren wird ein selbstsigniertes Zertifikat mit öffentlichem Schlüssel erstellt. Folgendes Kommando nutzt OpenSSL, ein weit verbreitetes Tool zur Erstellung und Verwaltung von SSL/TLS-Zertifikaten:

$ sudo openssl req -x509 -newkey rsa:4096 -nodes -keyout /etc/ssl/znuny/public.key -out /etc/ssl/znuny/certificate.crt -days 365

Apache SSL Konfiguration

Wir haben unsere Schlüssel- und Zertifikatsdateien im Verzeichnis /etc/ssl/znuny erstellt. In diesem Schritt werden die folgenden Änderungen an der Apache-Konfiguration vorgenommen:

Passen Sie die Apache Default SSL Konfigurationsdatei /etc/apache2/sites-available/default-ssl.conf an Ihre Bedürfnisse an. Wichtig sind vor allem die Angaben zum Document Root der Website und die Pfade zur Zertifikats- und Schlüsseldatei:

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin your_email@example.com
                ServerName znuny.prontosystems.de

                DocumentRoot /opt/znuny/var/httpd/htdocs/

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/ssl/znuny/certificate.crt
                SSLCertificateKeyFile /etc/ssl/znuny/public.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

        </VirtualHost>
</IfModule>

Führen Sie folgende Kommandos aus, um HTTPS zu aktivieren:

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl.conf
$ sudo apache2ctl configtest
Syntax OK
$ sudo systemctl restart apache2

Permanenter Redirect auf HTTPS

Damit alle Anfragen an den Server automatisch über HTTPS geleitet werden, fügen Sie den folgenden Konfigurationsblock am Ende der Apache-Konfigurationsdatei /opt/znuny/scripts/apache2-httpd.include.conf hinzu:

<IfModule mod_rewrite.c>
  <IfModule mod_ssl.c>
    <Location /znuny>
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}  [L]
    </Location>
  </IfModule>

Testen Sie abschließend die Apache-Konfiguration und starten Sie Apache neu:

$ sudo apache2ctl configtest
Syntax OK
$ sudo systemctl restart apache2

Bitte beachten Sie, dass es sich hierbei lediglich um eine Proof-of-Concept-Installation handelt. Wichtige Sicherheitseinstellungen fehlen. Verwenden Sie diese Installation nur zu Evaluierungs- und Dokumentationszwecken!

Updated on 11. Februar 2024
Was this article helpful?

Related Articles