Wir möchten intern bei uns eine Webanwendung (Ticketsystem Zammad) bereitstellen. Zammad soll aus dem Internet erreichbar sein. Testweise funktioniert das über HTTP problemlos, im Echtbetrieb soll die Verbindung jedoch über HTTPS erfolgen. Hierzu habe ich viele Fragen, die nicht alle direkt die UTM-Firewall betreffen. Ich werde sie aber hier trotzdem los, in der Hoffnung auf Tipps von den Experten.
Zunächst aber die Umgebung:
- Ubuntu Server 18.04
- IP: 192.168.70.206
- Nginx
- Let's Encrypt
- Zammad
In der Nginx-Konfiguration von Zammad (/etc/nginx/sites-available/zammad.conf) habe ich in der Sektion "server" die FDQNs angegeben, auf die Nginx reagiert:
server {
# replace 'localhost' with your fqdn if you want to use zammad from remote
server_name support.isential.de www.support.isential.de 192.168.70.206;
. . .
}
- Die IP 192.168.70.206 habe ich auch angegeben, da ansonsten erreichen wir intern den Webserver nicht, da der eingeschaltete Proxy der UTM-Firewall uns davor kommt. Um intern anstelle mit der IP-Adresse die FDQN nutzen zu können, haben wir auf unseren DNS-Server auf dem Domain-Controller (Windows-Server 2012) einen entsprechenden A-Eintrag angelegt:
Forward-Lookupzone: support.isential.de
A-Host-Eintrag ohne Name: 192.168.70.206 - Auf unserem Internetserver haben wir entsprechende DNS-Einträge angelegt, damit der Zugriff auf support.isential.de auf unsere IP-Adresse umgeleitet wird. Zusätzlich haben wir eine Subdomain support.isential.de angelegt, die auf unser IP-Adresse redirected wird. Eine von beiden Einstellungen war für die Installation von Let's Encrypt wichtig, da während der Installation der Domain-Besitzt geprüft wird (Ich muss noch überprüfen, ob man für den Betrieb beide Einstellungen brauch und ob diese zu Problemen führen kann).
- Auf der UTM-Firewall habe ich den Reverse-Proxy eingerichtet:
Netzwerkobjekt: webserver-206, IP: 192.168.70.206/32
ACL-Set – Name: acl-webserver-206
dstdomain: support.isential.de
dstdomain: www.support.isential.de
Sites:
Domainname: support.isential.de, Servergruppe: server-webserver-206, ACL-Set: acl-webserver-206
Domainname: www.support.isential.de, Servergruppe: server-webserver-206, ACL-Set: acl-webserver-206
Auf Ubuntu-Server 18.04 hat Let's Encrypt folgendes erstellt:
Nun liegen einige Zertifikate im PEM-Format vor. Ich weiß allerdings an dieser Stelle nicht, welches Zertifikat ich in die Einstellungen des Reverse-Proxy eintragen soll. Ein paar Versuche waren erfolglos. Entweder meldete der Import "unable to get issuer certificate" oder "Achtung! Dieses Zertifikat enthält keinen privaten Schlüssel und kann nicht als Server-Zertifikat für Applikationen verwendet werden. Wollen Sie wirklich weitermachen?"./letsencrypt/.updated-options-ssl-nginx-conf-digest.txt
/letsencrypt/.updated-ssl-dhparams-pem-digest.txt
/letsencrypt/accounts
/letsencrypt/archive
/letsencrypt/cli.ini
/letsencrypt/csr
/letsencrypt/keys
/letsencrypt/live
/letsencrypt/options-ssl-nginx.conf
/letsencrypt/renewal
/letsencrypt/renewal-hooks
/letsencrypt/ssl-dhparams.pem
/letsencrypt/accounts/acme-v02.api.letsencrypt.org
/letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory
/letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory/0e2f16cf948e5e18a9ee78c0ae157e6e
/letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory/0e2f16cf948e5e18a9ee78c0ae157e6e/meta.json
/letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory/0e2f16cf948e5e18a9ee78c0ae157e6e/private_key.json
/letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory/0e2f16cf948e5e18a9ee78c0ae157e6e/regr.json
/letsencrypt/archive/support.isential.de
/letsencrypt/archive/support.isential.de/cert1.pem
/letsencrypt/archive/support.isential.de/chain1.pem
/letsencrypt/archive/support.isential.de/fullchain1.pem
/letsencrypt/archive/support.isential.de/privkey1.pem
/letsencrypt/csr/0000_csr-certbot.pem
/letsencrypt/keys/0000_key-certbot.pem
/letsencrypt/live/README
/letsencrypt/live/support.isential.de
/letsencrypt/live/support.isential.de/cert.pem
/letsencrypt/live/support.isential.de/chain.pem
/letsencrypt/live/support.isential.de/fullchain.pem
/letsencrypt/live/support.isential.de/privkey.pem
/letsencrypt/live/support.isential.de/README
/letsencrypt/renewal/support.isential.de.conf
/letsencrypt/renewal-hooks/deploy
/letsencrypt/renewal-hooks/post
/letsencrypt/renewal-hooks/pre
Nun meine Fragen:
- Welches/welche Zertifikat/e werden benötigt?
- Müssen Anpassungen an dem/den Zertifikat/en vorgenommen werden und wenn, welche?
- Was bedeutet in den Einstellungen "Zertifikatsbasierte Authentifizierung aktivieren"? Welches CA-Zertifikat ist hier anzugeben?
- Wenn man Let's Encrypt verwendet, muss man spätestens alle 90 Tage (frühestens alle 60 Tage) das Zertifikat erneuern. Muss das manuell erfolgen oder kann der Reverse-Proxy gibt es seitens der UTM-Firewall eine entsprechende Funktionalität?
- Diese Frage hat mit dem Reverse-Proxy nicht direkt zu tun, aber sie beschäftigt mich trotzdem: Durch meine misslungenen Versuche habe ich bereits einige Zertifikate importiert und auch welche selbst erzeugt, die ich dann widerrufen habe. Nun wird die Liste der Widerrufenden immer größer und unübersichtlicher, ohne dass diese irgend einen Mehrwert hätte. Wie kann ich die Einträge der widerrufenen Zertifikate bereinigen?
Ich bedanke mich im voraus!
LG
René