Feature Anfrage: Let's encrypt

ucr set repository/online/unmaintained=true

Später dann:

ucr set repository/online/unmaintained=false

Ah, cool…
das scheint jetzt zu gehen.
Und an welcher Stelle in der Anleitung von hbau sollte ich jetzt den neuen Namen für das Skript (dehydrated) verwenden ?

Danke
Sascha

anstelle von:
git clone github.com/letsencrypt/letsencrypt
besser:
git clone github.com/lukas2511/dehydrated

Das letztere Projekt ist aktiv betreut, das andere eben nicht mehr - der Autor ist beidesmal der gleiche.

Perfekt,
Danke!
liebe Grüße

Sascha

hi,

nein leider doch noch nicht perfekt…
Wenn ich das mit dehydrated mache, dann hab ich keine letsencrypt-auto.
Muss ich mit dehydrated noch etwas kompilieren oder so?

Ich hatte mir folgenden funktionierenden Ablauf aufgeschrieben:

[code]- ucr set repository/online/unmaintained=true

  • cd /opt/

  • apt-get install git

  • git clone https://github.com/letsencrypt/letsencrypt

  • service apache2 stop

  • /opt/letsencrypt/letsencrypt-auto

  • /opt/letsencrypt/letsencrypt-auto certonly -d your.domain.tld
    Bei der Abfrage eMail angeben und den integrierten Webserver nutzen

  • Neu erhaltene Zertifikate in Apache integrieren.
    Dazu in der Univention Registry folgende drei Werte setzen:
    apache2/ssl/ca = /etc/letsencrypt/live/your.domain.tld/chain.pem
    apache2/ssl/certificate = /etc/letsencrypt/live/your.domain.tld/cert.pem
    apache2/ssl/key = /etc/letsencrypt/live/your.domain.tld/privkey.pem

  • service apache2 start

  • vi /etc/cron.weekly/renew_ssl_letsencrypt
    #!/bin/bash
    /etc/init.d/apache2 stop
    /opt/letsencrypt/letsencrypt-auto renew
    /etc/init.d/apache2 start

  • ucr set repository/online/unmaintained=false
    [/code]

Einfach den git Befehl ändern klappt aber dann so eben noch nicht.
Bin dankbar für Eure Hilfe

und noch etwas:
wie pflege ich dann diese Zertifikate auch für Dovecot / cyrus / postfix ein?

Danke
Sascha

niemand?
Ein simples Howto für Let’s encrypt wäre doch grundsätzlich schon wünschenswert, oder?

Danke
Sascha

Würde mich grad auch interessieren, gibt’s da ne idiotensichere rund um sorglos Anleitung?

ganz frisch im Wiki: wiki.univention.de/index.php?tit … 7s_Encrypt

Hi danke für den link auf die cool solution wiki.univention.de/index.php?tit … 7s_Encrypt

aber das package univention-letsencrypt kann nicht gefunden werden über die repositories ? Wie lade ich dieses ?

danke & LG

Christian

wiki.univention.de/index.php?tit … Repository

Super :slight_smile:

danke

LG

Christian

Moin,

ich habe mich an den Wiki Ientrag gehalten, nur wenn ich das setup-script starte bekomme ich die Fehlermeldung:

File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file ‘/etc/univention/letsencrypt/signed.crt’ does not exist or is empty
Action ‘configtest’ failed.
The Apache error log may have more information.
failed!
invoke-rc.d: initscript apache2, action “restart” failed.

Jemand eine Idee was das sein könnte oder wie bzw. was ich in die signed.crt eintragen muss?

Danke für die Hilfe.

Was steht in /var/log/univention/letsencrypt.log?

Ich habe hier einmal das ganze LogFile:

root@ucs01:/var/log/univention# cat letsencrypt.log
Setting apache2/force_https
File: /etc/apache2/mods-available/ssl.conf
Restarting web server: apache2 ... waiting .
Fr 17. Feb 20:28:51 CET 2017
Refreshing certificate for following domains:
ucs01.grabbe.info
Parsing account key...
Parsing CSR...
Registering account...
Registered!
Verifying ucs01.grabbe.info...
Traceback (most recent call last):
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 198, in <module>
    main(sys.argv[1:])
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 194, in main
    signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca)
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 149, in get_crt
    domain, challenge_status))
ValueError: ucs01.grabbe.info challenge did not pass: {u'status': u'invalid', u'validationRecord': [{u'url': u'http://ucs01.grabbe.info/.well-known/acme-challenge/2pAQ9Phg7nkEzQQOsynLeR7cV7Ziuc3Zzrc4RFi39JY', u'hostname': u'ucs01.grabbe.info', u'addressUsed': u'31.220.127.179', u'port': u'80', u'addressesResolved': [u'31.220.127.179']}, {u'url': u'https://ucs01.grabbe.info/.well-known/acme-challenge/2pAQ9Phg7nkEzQQOsynLeR7cV7Ziuc3Zzrc4RFi39JY', u'hostname': u'ucs01.grabbe.info', u'addressUsed': u'31.220.127.179', u'port': u'443', u'addressesResolved': [u'31.220.127.179']}], u'keyAuthorization': u'2pAQ9Phg7nkEzQQOsynLeR7cV7Ziuc3Zzrc4RFi39JY.KM-OZL3fu-_xTMI02P6jPRptRt1Qzt7KYx5hKYyf6F8', u'uri': u'https://acme-v01.api.letsencrypt.org/acme/challenge/hPm3Hlq_zESVN-oaOdeWC61aEGg-3F93cgRkut7MhCo/666109136', u'token': u'2pAQ9Phg7nkEzQQOsynLeR7cV7Ziuc3Zzrc4RFi39JY', u'error': {u'status': 403, u'type': u'urn:acme:error:unauthorized', u'detail': u'Invalid response from http://ucs01.grabbe.info/.well-known/acme-challenge/2pAQ9Phg7nkEzQQOsynLeR7cV7Ziuc3Zzrc4RFi39JY: "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">rn<html"'}, u'type': u'http-01'}
Setting apache2/force_https
File: /etc/apache2/mods-available/ssl.conf
Restarting web server: apache2 ... waiting .
Setting apache2/force_https
File: /etc/apache2/mods-available/ssl.conf
Restarting web server: apache2 ... waiting .
Fr 17. Feb 20:32:54 CET 2017
Refreshing certificate for following domains:
ucs01.grabbe.info
Parsing account key...
Parsing CSR...
Registering account...
Traceback (most recent call last):
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 198, in <module>
    main(sys.argv[1:])
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 194, in main
    signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca)
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 85, in get_crt
    "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf",
  File "/usr/share/univention-letsencrypt/acme_tiny.py", line 47, in _send_signed_request
    protected["nonce"] = urlopen(CA + "/directory").headers['Replay-Nonce']
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 407, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 520, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 445, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 528, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 504: Gateway Time-out
Setting apache2/force_https
File: /etc/apache2/mods-available/ssl.conf
Restarting web server: apache2 ... waiting .
Setting apache2/force_https
Module: kopano-cfg
File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file '/etc/univention/letsencrypt/signed.crt' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
invoke-rc.d: initscript apache2, action "restart" failed.
Setting apache2/force_https
Module: kopano-cfg
File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file '/etc/univention/letsencrypt/signed.crt' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
invoke-rc.d: initscript apache2, action "restart" failed.
Setting apache2/force_https
Module: kopano-cfg
File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file '/etc/univention/letsencrypt/signed.crt' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
invoke-rc.d: initscript apache2, action "restart" failed.
Setting apache2/force_https
Module: kopano-cfg
File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file '/etc/univention/letsencrypt/signed.crt' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
invoke-rc.d: initscript apache2, action "restart" failed.
Setting apache2/force_https
Module: kopano-cfg
File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file '/etc/univention/letsencrypt/signed.crt' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
invoke-rc.d: initscript apache2, action "restart" failed.
Setting apache2/force_https
Module: kopano-cfg
File: /etc/apache2/mods-available/ssl.conf
Syntax error on line 20 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateFile: file '/etc/univention/letsencrypt/signed.crt' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
invoke-rc.d: initscript apache2, action "restart" failed.

Nun ist es so, das unter der IP Adresse 31.220.127.179 die Webseite der Familie liegt, ebenfalls mit einem LetsEncrypt Zertifikat. Könnte das eben dieses Problem verursachen?

Danke für die Hilfe

Volker

Indirekt ja. Man kann durchaus mehrere Zertifikate pro IP haben. Aber der UCS muß unter der IP auch erreichbar sein. Wie sieht das Setup denn genau aus?

Die Webseite liegt auf einem Plesk Server bei Mittwald. Auf die Seite soll eine Weiterleitung für meine Schwägerin kommen, die eine Physiotherapiepraxis hat sowie zu meiner geschäftlichen Seite. Sonst werden da nur die privaten Emails der Familie gehostet.

Für den familiären UCS habe ich eine einfache Instanz bei Netcup ertellt und wollte diese nun per letsencrypt absichern, damit die Smartphones nicht wegen dem SSL Zertifikat meckern.

Daher auch unterschiedliche IP Bereiche, weil 2 verschiedene Hoster.

Volker

Also der muß halt schon unter ucs01.grabbe.info erreichbar sein. Aber wenn der eh nur für private Zwecke ist, würde ich einfach die UCS-Ca in den Smartphones importieren. Das muß man schließlich nur einmal machen und ist dann auch nur ein zusätzlicher Punkt bei der Einrichtung der Syncronisation.

Hallo,

Danke erst mal für Eure Arbeit hier.

Ich habe mich an die Anleitung (wiki.univention.de/index.php?tit … 7s_Encrypt) gehalten und die letsencrypt Installation ist - scheinbar - fehlerfrei durchgelaufen.

Im letsencrypt.log steht folgendes:

So 5. Mär 14:11:44 CET 2017 Refreshing certificate for following domains: data.domain.de Parsing account key... Parsing CSR... Registering account... Registered! Verifying data.domain.de... data.domain.de verified! Signing certificate... Certificate signed! Certificate refreshed at So 5. Mär 14:11:49 CET 2017 run-parts: executing /etc/univention/letsencrypt/post-refresh.d//apache2 run-parts: executing /etc/univention/letsencrypt/post-refresh.d//dovecot run-parts: executing /etc/univention/letsencrypt/post-refresh.d//postfix

Aber…

Wenn ich die IP vom Server aufrufe (192.168.0.111) dann erscheint die übliche Meldung wegen einem selbsterstellten Zertifikat. Wenn ich die Eigenschaften vom Zertifikat aufrufe sehe ich, dass es immer noch das alte “univention ca Zertifikat” ist.

[i]Was muss ich tun um das letsencrypt zu “aktivieren”? Für alle Dienste? (apache restart und reboot hat nichts gebracht)

–> OK - wer lesen kann…Lösung selber gefunden - Stichwort “Univention Configuration Registry” in der GUI. Dort die entsprechenden Werte auf yes setzten. Schon klappt es.[/i]

[size=150][b]Wird das Zertifikat von selber verlängert?
Wie kann ich das Zertifikat auch in KOPANO aktivieren?

–> Diese Fragen sind aber noch offen :-)[/b][/size]

Danke und Grüße

Frank

Hallo,

Ja :slight_smile: Es wird ein Cronjob eingerichtet, der standardmäßig immer am 1. des Monats um 03:30 Uhr ausgeführt wird und dann auch brav in die Logdatei schreiben sollte. Den Ausführungszeitpunkt kann man bei Bedarf über die UCR-Variable “letsencrypt/cron” ändern.

Zumindest die WebApp verwendet ja den Apache von UCS als Webserver. Wenn du die UCR-Variable “letsencrypt/services/apache2” auf “yes” gesetzt hast, sollte die WebApp schon das Let’s Encrypt Zertifikat verwenden. Ich bin gerade überfragt, wo das Zertifikat sonst noch so von Kopano verwendet werden könnte (IMAP?), da müsste jetzt jemand mit mehr Zarafa/Kopano-Erfahrung einspringen.

Schönen Gruß,
Michael Grandjean

Vielen Dank für die Antwort…:slight_smile:

Mal sehen ob und wo das im Mailserver benötigt wird.

Mastodon