HowTo: Unifi-Controller mit gültigem LE-Zertifikat ausstatten

Hi.
Ich habe unserem Unifi-Controller gerade ein gültiges LE-Zertifikat spendiert. Wir setzen intern wie extern einen FQDN ein, so dass es damit keine Probleme gibt.

Da der Unifi-Controller bekanntlich auf Port 8443 läuft und dahinter eine Java-Engine steckt, muss man noch etwas in die Trickkiste greifen, damit die Software das neue Zertifikat akzeptiert. Diese Schritte dokumentiere ich hier…

Vorarbeit: LE-Zertifikat besorgen und auf den unifi-Controller kopieren. Ich lasse das die OPNSense-FW erledigen. Das Zertifikat ist also bereits vorhanden und gültig. Es liegt auf dem unifi-Controller unter /etc/ssl/private. Benötigt werden diese drei Dateien mit diesen Namen:

-rw-r----- 1 root ssl-cert 2285 Jun 26 15:33 unifi.cert.pem
-rw-r----- 1 root ssl-cert 3933 Jun 26 15:33 unifi.fullchain.pem
-rw------- 1 root ssl-cert 3243 Jun 26 15:33 unifi.privkey.pem

Auf dem Controller ist nun nur noch dieses Script auszuführen:

#!/bin/bash
#set -x

#######################################################################################################
# Scriptname :    cert-update-unifi.sh 
# Author     :    Michael Hagedorn
# Date       :    2020-26-06
# Category   :    geeignet für unifi-Controller
# Requires   :    openssl, rsync, keytool
#Version     :
VER='1.1'
# Dieses Script versorgt einen Unifi-Controller (hier unter Ubuntu 20.04 LTS) mit einem gültigen
# LE-Zertifikat.
#########################################################################################################

# aus LE-Certs einen P12-Key mit temp. Passwort erzeugen:
openssl pkcs12 -export -in /etc/ssl/private/unifi.cert.pem -inkey /etc/ssl/private/unifi.privkey.pem -out ./unifi-cert.p12 -name unifi -CAfile /etc/ssl/private/unifi.fullchain.pem -caname root -password pass:temppass

#Backup des alten Keystores:
rsync -avz /var/lib/unifi/keystore /var/lib/unifi/keystore.backup

#Listet das unifi-Zertifikat auf:
keytool  -alias unifi -destkeystore /var/lib/unifi/keystore -deststorepass aircontrolenterprise  -list

#Löscht den Eintrag, bevor der neue Eintrag importiert wird:
keytool  -alias unifi -destkeystore /var/lib/unifi/keystore -deststorepass aircontrolenterprise  -delete 

#Key für Unifi-Controller importieren:
keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /var/lib/unifi/keystore -srckeystore ./unifi-cert.p12 -srcstoretype PKCS12 -alias unifi -srcstorepass temppass

#Format des keystores ändern (pkcs12, nicht-proprietär)
#keytool -importkeystore -srckeystore /var/lib/unifi/keystore -destkeystore /var/lib/unifi/keystore -deststoretype pkcs12 -srcstorepass aircontrolenterprise

#p12-Cert wieder löschen:
rm ./unifi-cert.p12

#Dienst neu starten:
service unifi restart

Ergebnis:
Screenshot_20200626_173453

Vielleicht kann das ja jemand gebrauchen … am längsten hat es gedauert, die Befehle für das keytool zusammen zu suchen…

Schöne Grüße,
Michael

Hallo Michael,

… das hast du doch jetzt nur für dich alleine gemacht, oder?
Sonst meldet sich ja nie jemand da an.
Oder hat das noch mehr Auswirkungen?

Viele Grüße

Holger

Hallo Holger,
ja, wenn es nur um den Zugriff per Browser auf den Controller ginge, hättest du natürlich Recht … aber ich denke dabei eigentlich daran, dass der Unifi-Controller auch deshalb über gültige Zertifikate verfügen sollte, wenn dort ein freeradius-Server (z.B. für WPA2-Enterprise) oder was auch immer läuft …
Bis später,
Michael

Hallo Michael,

ja, wenn es /nur/ um den Zugriff per Browser auf den Controller ginge,
hättest du natürlich Recht … aber ich denke dabei /eigentlich/ daran,
dass der Unifi-Controller auch deshalb über gültige Zertifikate verfügen
sollte, wenn dort ein freeradius-Server (z.B. für WPA2-Enterprise) oder
was auch immer läuft …

… wer hat den den freeradius auf dem unifi laufen?

Viele Grüße

Holger

… weiß nicht, man könnte ihn aber direkt dort laufen lassen, denke ich?!?
Der v7-Server wurde ja (aus irgendeinem Grund, den ich vergessen habe) nicht dafür empfohlen und auf der OPNSense funktionierte es (bisher) im Zusammenhang mit unifi nicht. Von daher…?

Aber letztlich ist es im Moment bei mir nur nice-to-have, stimmt schon…

Hallo Michael,

stimmt vermutlich - ein nice-to-have.
Aber ich habs zum Anlass genommen, uns die zusätzliche FQDN einzurichten. Der Name ist schöner als die IP. Und dass das ohne Warnung klappt - ich finds gut. UND ich bleibe fit in Sachen Zertifikate/DNS :slight_smile:

Also Danke
Thomas