Let´s Encrypt - Symlinks zum ssl Verzeichnis falsch?

bon

Member
Hallo,
mir ist bei mehreren Servern aufgefallen das LE -Certs mit folgendem Symlink eingebunden werden:
domain.de.bundle -> ../../../../../../etc/letsencrypt/archive/domain.de/chain1.pem
usw.

Wenn jedoch nach 3 Monaten das Cert erneuert wird, bleibt der Symlink und es kommt zu einer Fehlermeldung!
Wäre es nicht richtig den Symlink auf:
domain.de.bundle -> ../../../../../../etc/letsencrypt/live/domain.de/chain.pem
zu setzen, weil dieser Symlink immer auf das richtige Cert zeigt?

Welche Erfahrungen habt ihr?
 

Till

Administrator
Aktuelle ISPConfig Versionen (3.1.1 und 3.1.1p1) erstellen einen Symlink der auf die Live Version zeigt (siehe quellcode). Vermutlich wurde das Cert bei Dir mit 3.1.0 erstellt, die Version hatte da einen Bug.
 

bon

Member
Hallo Till,
leider nicht, ich habe eine aktuelle Version:
>There are no updates available for ISPConfig 3.1.1p1
aber dennoch werden die Symlinks falsch gesetzt. Wo oder in welcher Datei wird das den vorgegeben?
 

bon

Member
$ grep -R -l "/etc/letsencrypt" ./
./server/plugins-available/apache2_plugin.inc.php
./server/plugins-available/nginx_plugin.inc.php
./server/plugins-enabled/apache2_plugin.inc.php
ok, hier drinnen steht:
$crt_tmp_file = "/etc/letsencrypt/live/".$domain."/cert.pem";
$key_tmp_file = "/etc/letsencrypt/live/".$domain."/privkey.pem";
$bundle_tmp_file = "/etc/letsencrypt/live/".$domain."/chain.pem";

aber woher nimmt er dann den alten falschen Pfad?
 

Till

Administrator
Ich denke mal das Problem ist dass er ihn nicht neu setzt, wenn er erst einmal falsch ist. Ich ändere da mal was am Code und submitte es nachher in den stable-3.1 branch. Mit der Änderung müsste man zumindest durch deaktivieren von le und dann wieder aktivieren das problem korrigieren können, denn aktuell würde selbst das nicht reichen um die symlinks zu ändern, denn sobald der link da ist macht ispconfig nichts.
 

bon

Member
Ja genau, deaktivieren von SSL und LE-SSL und anschließendes aktivieren, ändert am falschen Symlink nichts. Besten Dank schonmal :)
 

Till

Administrator
Hat ein wenig länger gedauert, aber jetzt ist die neue Version im stable-3.1 branch vom git.
 

Till

Administrator
Hmm, verstehe ich nicht. Denn das Wort archive steht ja nirgends mehr im code in den pfaden, da steht nur noch live, ich wüsste nicht wie da noch was auf archive zeigen kann und bei meinem Test gestern mit stable-3.1 zeigte es auch auf live.

von meinem Test gestern:

root@server:/var/www/domain.tld/ssl# ll -a
total 44
drwxr-xr-x 2 root root 4096 Jan 24 15:52 .
drwxr-xr-x 9 root root 4096 Dez 27 2014 ..
lrwxrwxrwx 1 root root 43 Feb 11 2016 domain.tld.bundle -> /etc/letsencrypt/live/domain.tld/chain.pem
-r-------- 1 root root 1675 Dez 16 2015 domain.tld.bundle.old.20151216154901
-r-------- 1 root root 1675 Feb 11 2016 domain.tld.bundle.old.20160211141258
lrwxrwxrwx 1 root root 42 Feb 11 2016 domain.tld.crt -> /etc/letsencrypt/live/domain.tld/cert.pem
-r-------- 1 root root 2155 Dez 16 2015 domain.tld.crt.old.20151216154901
-r-------- 1 root root 2155 Feb 11 2016 domain.tld.crt.old.20160211141258
lrwxrwxrwx 1 root root 45 Feb 11 2016 domain.tld.key -> /etc/letsencrypt/live/domain.tld/privkey.pem
-rw-r--r-- 1 root root 3272 Dez 16 2015 domain.tld.key.old20151216154901
-rw-r--r-- 1 root root 3272 Feb 11 2016 domain.tld.key.old20160211141258
lrwxrwxrwx 1 root root 43 Jan 24 15:52 domain.tld-le.bundle -> /etc/letsencrypt/live/domain.tld/chain.pem
-r-------- 1 root root 1647 Jan 24 15:52 domain.tld-le.bundle.old.20170124155236
lrwxrwxrwx 1 root root 42 Jan 24 15:52 domain.tld-le.crt -> /etc/letsencrypt/live/domain.tld/cert.pem
-r-------- 1 root root 2155 Jan 24 15:52 domain.tld-le.crt.old.20170124155236
lrwxrwxrwx 1 root root 45 Jan 24 15:52 domain.tld-le.key -> /etc/letsencrypt/live/domain.tld/privkey.pem
-r-------- 1 root root 3272 Jan 24 15:52 domain.tld-le.key.old.20170124155236
 

bon

Member
Ganz ganz komisch, ich habe ein Cert nun revoked, dann deleted - voher SSL und LE-SSL deaktiviert. Anschließend Server rebootet, als Benutzer angemeldet, SSL und LE-SSL aktiviert und wieder hat er die falschen Symlinks gesetzt obwohl der Pfad ja auch laut GREP in /usr/local/ispconfig nirgends zu finden ist!!! Werden die Symlinks tatsächlich durch "apache2_plugin.inc.php" erstellt?
 

Till

Administrator
Wenn Du apache hast, dann ja. Ansonsten im nginx plugin, wenn Du nginx hast. Sind aber beide unter /usr/local/ispconfig/ zu finden.
 

bon

Member
Er macht sowieso komische Symlinks:
Code:
lrwxrwxrwx 1 root root   76 Jan 25 16:53 domain.com-le.bundle -> ../../../../../../etc/letsencrypt/archive/domain.com/chain1.pem
lrwxrwxrwx 1 root root   75 Jan 25 16:53 domain.com-le.crt -> ../../../../../../etc/letsencrypt/archive/domain.com/cert1.pem
lrwxrwxrwx 1 root root   78 Jan 25 16:53 domain.com-le.key -> ../../../../../../etc/letsencrypt/archive/domain.com/privkey1.pem

Ob es was damit zu tun hat das es sich um eine OpenVZ Node handelt?
 

Till

Administrator
Dann liegt es daran, denn die relative symlink Funktion muss den endgültigen pfad einer Datei mittels realpath() bestimmen und da LE intern (also nicht ispconfig) selbst von live auf die archivdatei verlinkt, löst die relative symlinks Funktion auch auf die archivdatei auf. Muss ich mal sehen wie sich das am besten ändern lässt.
 

Till

Administrator
versuch mal im apache plugin zeile 3424 folgendes einzufügen:

if(strstr($to,'/etc/letsencrypt/archive/')) $to = str_replace('/etc/letsencrypt/archive/','/etc/letsencrypt/live/',$to);
 

Werbung

Top