Univention und Lets Encrypt - erledigt durch Neuinstallation

german
letsencrypt

#1

Hallo zusammen,

auch ich würde sehr gerne Univention als Zuhause für meine Dienste nutzen, komme dabei aber nicht mehr um SSL herum.
Dabei scheite ich leider nun an der Lets Encrypt App (ohne Support), hoffe aber es findet sich wer fachkundiges.

Umgebung ist ein kleiner Server direkt “im Netz” bei einem Dienstleister aus Karlsruhe.

Hier mal das was ich gemacht und probiert habe (*=meine Domain):

Eingesetzte Software/Versionen:
Univention 4.3-0
Lets encrypt 1.2.2-3

Konfiguration gesetzt:
apache2/force_https=yes

eingegebene Domänen im Konfigurationsdialog: ww..de webmail..de ucs-sso..de mail..de

Aktueller Status der App
Certificate refreshed at Di 5. Jun 20:38:22 CEST 2018

–> sieht ok aus

/var/log/univention/letsencrypt.log

Di 5. Jun 20:38:16 CEST 2018
Refreshing certificate for following domains:
www.*.de ucs-sso.*.de mail.*.de webmail.*.de
Parsing account key...
Parsing CSR...
Found domains: www.*.de, webmail.*.de, ucs-sso.*.de, mail.*.de
Getting directory...
Directory found!
Registering account...
Already registered!
Creating new order...
Order created!
Verifying mail.*.de...
mail.*.de verified!
Verifying ucs-sso.*.de...
ucs-sso.*.de verified!
Verifying webmail.*.de...
webmail.*.de verified!
Verifying www.*.de...
www.*.de verified!
Signing certificate...
Certificate signed!
Certificate refreshed at Di 5. Jun 20:38:22 CEST 2018
Setting letsencrypt/status
Module: kopano-cfg

–> sieht ok aus

openssl s_client -connect www.*.de:443

CONNECTED(00000003)
depth=1 C = DE, ST = DE, L = DE, O = *, OU = Univention Corporate Server, CN = Univention Corporate Server Root CA (ID=kKTk6fx0), emailAddress = ssl@*.de
verify error:num=19:self signed certificate in certificate chain
---
Certificate chain
 0 s:/C=DE/ST=DE/L=DE/O=*/OU=Univention Corporate Server/CN=ucs-sso.*.de/emailAddress=ssl@*.de
   i:/C=DE/ST=DE/L=DE/O=*/OU=Univention Corporate Server/CN=Univention Corporate Server Root CA

–> nicht OK, im Browser auch als unsicher markiert (gelb/rot-je nach Marke): “Diese Website stellt keine Informationen über den Besitzer zur Verfügung.”
–> Datum des Zertifikates ist vom Installationstag !

gefundene Artikel:
https://wiki.univention.de/index.php/Cool_Solution_-_Let's_Encrypt
–> veraltete Komponente (für 4.2), hilft aber auch nicht


–> DNS passt, TLD und jede Subdomain wird korrekt aufgelöst (im DNS steht * bei Typ A)


–> auch ok

Ich bin sehr dankbar für jeden Tip !


#2

Nach der Erstellung der Zertifikate über das App Center erscheint ein Hinweis, dass anschließend Apache manuell neu gestartet werden muss. Dies passiert nicht automatisch und erst dann können die Lets Encrypt Zertifikate verwendet werden.


#3

Hallo,

das war Teil der Anweisungen aus dem in der App verlinken Wiki Eintrag Cool Solution.

/etc/univention/letsencrypt/setup.d

und

/etc/univention/letsencrypt/post-refresh.d

Anweisungen für die Applikationen - hier: /apache2
Danach “service apache2 restart”.

–> ohne Effekt - leider nicht die Lösung.


#4

Die Lets Encrypt Zertifikate für Apache stehen in UCR Variablen. Bitte die Ausgabe überprüfen von:

ucr get apache2/ssl/certificate
ucr get apache2/ssl/certificatechain
ucr get apache2/ssl/key

Da oben ein Posting von mir verlinkt ist, welches empfiehlt diese Variablen per ucr unset zu löschen: Dies ist nur notwendig wenn die Zertifikats-Erstellung zuvor gescheitert ist und Apache gar nicht mehr startet.

Falls die Variablen also versehentlich gelöscht wurden, kann das Script erneut ausgeführt werden, um somit auch die Variablen korrekt zu setzen:

/usr/share/univention-letsencrypt/setup-letsencrypt


#5

Ich hatte gerade das setup auch nochmal durchgeführt.

Nun ist der Stand der Variablen:

root@www:~# ucr get apache2/ssl/certificate
/etc/univention/letsencrypt/signed_chain.crt
-rw-r--r--   1 letsencrypt www-data 4266 Jun  6 14:07 signed_chain.crt

–> wohl ok

ucr get apache2/ssl/certificatechain

–> ist leer

root@www:~# ucr get apache2/ssl/key
/etc/univention/letsencrypt/domain.key
root@www:~# ls -la /etc/univention/letsencrypt/domain.key
-rw-r-----+ 1 root root 3243 Mai 23 23:09 /etc/univention/letsencrypt/domain.key

–> hier ist wohl der Fehler

ich probiere die Anweisungen - jetzt ist erst mal Pause:
urn:ietf:params:acme:error:rateLimited


#6

Inzwischen darf “certificatechain” leer sein, dass ist ok, da die Zertifikatskette in “signed_chain.crt” enthalten ist.

Wenn die UCR Variablen also stimmen, und Apache neu gestartet wurde, dann sollte von Apache auch das Lets Encrypt Zertifikat verwendet werden und nicht das selbst signierte von UCS.

Manchmal speichert sich der Browser das alte Zertifikat, darum am besten den Cache löschen, mit Strg+R oder F5 neu laden, oder besser mit einem anderen Browser / von einem anderen Rechner aus testen.


#7

Es wird immer noch ein Zertifikat vom 23.5. / das Installationsdatum des Servers verwendet.

Ich hatte die Erstellung der Zertifikate mit:
/usr/share/univention-letsencrypt/setup-letsencrypt erledigt und
/etc/univention/letsencrypt/post-refresh.d aller Dienste gemacht.

Keine Lösung des Problems…

Der Check von https://cryptoreport.thawte.com/checker/views/certCheck.jsp zeigt das die Zertifikatskette nur bis zur Server Root CA von Univention geht, damit nur zwei Ebenen, Root CA und ucs-sso : www fehlt (Servername).

Nebenbei : in der derzeitigen Konfig wäre der Server lt. dem Bericht auch angreiffbar (BEAST).


#8

Also, die Testinstallation zuhause am DSL gemacht mit eingerichtetem DDNS Dienst - SSL geht ohne Probleme.
Es folgt die Reinstallation beim Hoster - vielleicht bringt es was.


#9

Neu installiert, Servernamen: server.DOMAIN.de - SSL Zertifikat auf DOMAIN.de erstellt & gut.