Web-UI per HTTPS/SSL/TLS
Beschreibung
Bei LocaPhone wird auf das LocaPhone Webinterface per HTTP zugegriffen. Es kann alternativ der Zugriff per HTTPS bereitgestellt werden.
Hierzu kann für die TLS/SSL-Verbindung ein mitgeliefertes SSL-Zertifikat ('self-signed certificate') oder ein eigenes SSL-Zertifikat genutzt werden.
Die Provisionierung der Endgeräte erfolgt weiterhin per HTTP!

LocaPhone Version
⠀⠀⠀RELEASE 5⠀⠀⠀ ⠀⠀⠀RELEASE 4⠀⠀⠀ ⠀⠀⠀RELEASE 3⠀⠀⠀ ⠀⠀⠀RELEASE 2⠀⠀
Konfiguration LocaPhone ab Version 5.5.2
Damit der Webserver des Systems Seiten per TLS/SSL ausliefern kann, muss das Modul 'ssl'
aktiviert werden.
root@voip:~# a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
systemctl restart apache2
Damit der Webserver URL bei Anfrage umschreiben und ausliefern kann, muss das Modul 'mod_rewrite
' aktiviert werden.
root@voip:~# a2enmod rewrite
Module rewrite already enabled
Symbolischen Link erstellen für die Datei locaphone-tls.conf
.
root@voip:~# ln -s /etc/apache2/sites-available/locaphone-tls.conf /etc/apache2/sites-enabled/
Definieren der SSL-Zertifikate (hier mitgeliefertes self-signed certificate ‘snakeoil’).
Datei /etc/apache2/sites-available/locaphone-tls.conf
SSLEngine on
# SSL certificates
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
#SSLCACertificateFile /etc/apache2/ssl/ca.crt
#SSLCACertificateFile /etc/ssl/certs/locaphone.crt
Entsprechend den Zertifikaten CA usw. Einrichten. Bei Fehlern gibt das Logfile /var/log/apache2/error.log
Auskuft.
Nachdem alle Anpassungen vorgenommen wurden muss der Webserver des Systems neu gestartet werden.
root@voip:~# ln -s /etc/apache2/sites-available/locaphone-tls.conf /etc/apache2/sites-enabled/
Die folgenden Einstellungen müssen zusätzlich vorgenommen werden, wenn Abhängigkeiten von HTTP implementiert sind: Konferenz-System, Livemonitor-Applikationen (benötigt ‘stunnel’).
Datei /etc/locaphone/locaphone.php
$APE_SECURE = true;
# You can use ssl encryption together with stunnel.
# You will need a wildcard certificate for the ape server.
Dialplan neu laden.
root@voip:~# /opt/locaphone/sbin/gs-ast-dialplan-reload --generate
Konfiguration LocaPhone bis Version 5.5.1
Für Systeme mit LocaPhone <= Version 5.5.1 müssen Änderungen vorgenommen werden.
Symbolischen Link erstellen für die Datei default-ssl.conf
(nicht locaphone-tls.conf
!)
root@voip:~# ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/
In der Datei default-ssl.conf
sind die Zertifikats-Dateien für das 'self-signed certificate' Snakeoil bereits vorhanden. Die Inhalte der Datei locaphone-tls.conf
müssen in die Datei default-ssl.conf
eingetragen werden.
In den folgenden Dateien müssen zusätzlich Änderungen vorgenommen werden.
Datei /opt/locaphone/htdocs/gui/.htaccess
105 105 RewriteRule ^index\.php$ - [L]
106 106 RewriteRule ^prov/ - [L]
107 + RewriteRule ^srv/ - [L]
108 + <IfModule mod_ssl.c>
109 + RewriteCond %{HTTPS} off
110 + RewriteRule ^(.*) https://%{SERVER_NAME}/locaphone/$1 [R,L]
111 + </IfModule>
107 112 RewriteRule ^crystal-svg/ - [L]
108 113 RewriteRule ^img/ - [L]
109 114 RewriteRule ^js/ - [L]
110 115 RewriteRule ^mon/ - [L]
111 116 RewriteRule ^styles/ - [L]
112 - RewriteRule ^srv/ - [L]
Datei /opt/locaphone/htdocs/prov/.htaccess
22 22 RewriteRule ^m3/firmware/(.*)$ snom/sw-m3/$1 [QSA,L]
23 23
24 + <IfModule mod_ssl.c>
25 + # ignore https redirection for provisioning
26 + RewriteCond %{HTTPS} on
27 + RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
28 + </IfModule>
24 29 </IfModule>
Zusätzliche Informationen
SSL-Zertifikat - Was ist das? - https://www.heise.de/tipps-tricks/SSL-Zertifikat-Was-ist-das-4862296.html
Was ist ein SSL-Zertifikat? - https://www.cloudflare.com/de-de/learning/ssl/what-is-an-ssl-certificate/
Was ist HTTPS? - https://www.cloudflare.com/de-de/learning/ssl/what-is-https/