Jump to content
Froxlor Forum
  • 0
iam

Letsencrypt

Question

Hallo,

vor drei Monaten wollte mir ACME meine Zertifikate nicht erneuern, da es irgendein Problem mit ECC hatte.
Ich habe dann kurzen Prozess gemacht und alle Zertifikate aus der Datenbank manuell entfernt, sowie den "/root/.acme.sh" Ordner gelöscht und alles via "froxlor_master_cronjob.php --debug --force" neu anlegen lassen.

Jetzt wieder ein Fehler. Froxlor oder ACME wollen nicht erkennen, dass die Zertifikate abgelaufen sind.

Hier der Auszug aus: froxlor_master_cronjob.php --debug --force

[information] TasksCron: Searching for tasks to do
[information] TasksCron: Task10 started - setting filesystem quota
[information] Running Let's Encrypt cronjob prior to regenerating webserver config files
[information] Updated Let's Encrypt certificate for *privacy*.net
[information] Updated Let's Encrypt certificate for *privacy*.net
[information] Updated Let's Encrypt certificate for *privacy*.net
[information] Updated Let's Encrypt certificate for *privacy*.net
[information] Updated Let's Encrypt certificate for *privacy*.biz
[information] Updated Let's Encrypt certificate for *privacy*.de
[information] Updated Let's Encrypt certificate for *privacy*.de
[information] Updated Let's Encrypt certificate for *privacy*.de
[information] Updated Let's Encrypt certificate for *privacy*.de
[information] Updated Let's Encrypt certificate for *privacy*.de
[information] Updated Let's Encrypt certificate for *privacy*.eu
[information] Let's Encrypt certificates have been updated
[information] apache::createIpPort: creating ip/port settings for  *:80
[information] apache::createIpPort: creating ip/port settings for  *:443
[information] apache::createVirtualHosts: creating vhost container for domain 2, customer web0
[information] apache::createVirtualHosts: creating vhost container for domain 3, customer web0
[information] apache::createVirtualHosts: creating vhost container for domain 4, customer web0
[information] apache::createVirtualHosts: creating vhost container for domain 8, customer web4
[information] apache::createVirtualHosts: creating vhost container for domain 9, customer web5
[information] apache::createVirtualHosts: creating vhost container for domain 10, customer web6
[information] apache::createVirtualHosts: creating vhost container for domain 7, customer web3
[information] apache::createVirtualHosts: creating vhost container for domain 11, customer web7
[information] apache::createVirtualHosts: creating vhost container for domain 5, customer web1
[information] apache::createVirtualHosts: creating vhost container for domain 12, customer web8
[information] apache::createVirtualHosts: creating vhost container for domain 6, customer web2
[information] apache::createVirtualHosts: creating vhost container for domain 1, customer web0
[information] apache::writeConfigs: rebuilding /etc/apache2/froxlor-directorys/
[information] apache::writeConfigs: rebuilding /etc/apache2/froxlor-htpasswd/
[information] apache::writeConfigs: rebuilding /etc/apache2/froxlor-sites/
[information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php7.3-fpm reload
[information] Froxlor\Cron\Http\ApacheFcgi::reload: reloading Froxlor\Cron\Http\ApacheFcgi
[notice] Creating passwd file
[notice] Writing 9 entries to passwd file
[notice] Succesfully wrote passwd file
[notice] Creating group file
[notice] Writing 9 entries to group file
[notice] Succesfully wrote group file
[notice] Creating shadow file
[notice] Writing 9 entries to shadow file
[notice] Succesfully wrote shadow file
[notice] Checking system's last guid

Und: froxlor_master_cronjob.php --debug --letsencrypt

[information] No new certificates or certificate updates found
[notice] Checking system's last guid


Kann mir btw auch noch mal jemand beantworten, weshalb ein Wechsel zu ACME notwendig war? 😕
Das alte System schien mir wesentlich zuverlässiger. Da hatte ich noch nie ein Problem mit der Erstellung oder Erneuerung von Zertifikaten.

Und wieso muss ".acme.sh" im Homevz des Benutzer Root liegen? Ich persönlich störe mich daran und würde mir einen variablen Ort wünschen, den man im Panel konfigurieren kann. Wurde mMn auch schon mal angesprochen hier im Forum.

LG

P.S. Da die Zeit knapp ist, werde ich die Prozedur wiederholen und alle Zertifikate, sowie Ordner löschen.

Share this post


Link to post
Share on other sites

16 answers to this question

Recommended Posts

  • 0
3 hours ago, iam said:

Kann mir btw auch noch mal jemand beantworten, weshalb ein Wechsel zu ACME notwendig war? 😕

Weil die damalige nicht auf dem aktuellsten Stand war und es schlichtweg nicht mehr funktioniert hat. Zudem wir mit acme.sh einfach die Aufgaben des renew usw. Einfach an acme.sh übergeben denn genau dafür ist es gemacht.

Also ich kann mir nicht helfen, aber ein request mit --debug Flag spuckt bei mir weitaus mehr aus. Entweder hast du nicht korrekt alles gelöscht, selbst dann gäbe es andere Meldungen (acme.sh gibt aus wenn er z.b. eine Key Datei findet) oder da läuft was schief bei dir. Solltest du tatsächlich alles gelöscht haben, via acme.sh und in froxlor wüsste ich nicht wieso er keine neuen Zertifikate beantragen sollte.

3 hours ago, iam said:

Und wieso muss ".acme.sh" im Homevz des Benutzer Root liegen?

Muss nicht, ist aber Default von acme.sh wenn du das gern anders hättest, gerne Feature request oder noch besser einen fertigen pull request via GitHub.

3 hours ago, iam said:

Ich habe dann kurzen Prozess gemacht und alle Zertifikate aus der Datenbank manuell entfernt,

Tja, manuelles in der DB rungefummel...macht Support immer super einfach. Warum nicht einfach via Webinterface in der ssl-zertifikate Übersicht löschen? 

Ich selbst habe das bei Kunden zig Mal gemacht und danach lief alles problemlos...bei unseren Servern selbst läuft das seit Jahr und Tag problemlos. Wenn man halt nicht ständig an allem rumspielt funktioniert das auch ;)

Share this post


Link to post
Share on other sites
  • 0
44 minutes ago, d00p said:

Tja, manuelles in der DB rungefummel...macht Support immer super einfach. Warum nicht einfach via Webinterface in der ssl-zertifikate Übersicht löschen? 

Ich selbst habe das bei Kunden zig Mal gemacht und danach lief alles problemlos...bei unseren Servern selbst läuft das seit Jahr und Tag problemlos. Wenn man halt nicht ständig an allem rumspielt funktioniert das auch ;)

Naja, wenn man den Ordner "/root/acme.sh" löscht, die Tabelle "domain_ssl_settings" leert und den "froxlor_master_cronjob.php --debug --force" hinterhersetzt, passiert nichts anderes, als das Froxlor alles neu generiert.
Aber wem erzähle ich das... ^^


Muss der ACME-Cronjob installiert sein? Den habe ich nach dem "Big-Update" rausgeschmissen, da er seinerzeit für Fehler gesorgt hatte.

Share this post


Link to post
Share on other sites
  • 0
6 hours ago, iam said:

Muss der ACME-Cronjob installiert sein?

Ja aber das stellt froxlor via Cronjob sowieso sicher falls du den Mal gelöscht hast. Gehört mit zu dem Part "lass acme.sh sein Ding machen".

 

Share this post


Link to post
Share on other sites
  • 0
10 hours ago, d00p said:

Ja aber das stellt froxlor via Cronjob sowieso sicher falls du den Mal gelöscht hast. Gehört mit zu dem Part "lass acme.sh sein Ding machen".

 

Also Froxlor legt bei mir den Cronjob nicht erneut an, den musste ich manuell Nachpflegen.

Noch mal eine andere Sache...
Ist es so gewollt, dass unter /root/acme.sh die alten, nichtexistenten Domains bunkert?
Erschließt sich mir nicht, wieso ACME immer in einen renew von Domains laufen sollte, der zum Scheitern verurteilt ist.
Alles weitere funktioniert. Der Eintrag in der Datenbank wird korrekt entfernt, das Webserver-Kunden-SSL-Zertifikatsverzeichnis wird auch korrekt bereinigt, nur im /root/.acme.sh bunkern sich die alten Daten.

Share this post


Link to post
Share on other sites
  • 0
15 minutes ago, iam said:

Also Froxlor legt bei mir den Cronjob nicht erneut an, den musste ich manuell Nachpflegen

Als root "crontab -e" gemacht?

15 minutes ago, iam said:

Ist es so gewollt, dass unter /root/acme.sh die alten, nichtexistenten Domains bunkert?

Nein es gibt eigentlich auch ein Löschkommando das froxlor ausführt

16 minutes ago, iam said:

Erschließt sich mir nicht, wieso ACME immer in einen renew von Domains laufen sollte, der zum Scheitern verurteilt ist

Kann ich dir auch nicht sagen, kann ich mit den vagen Infos nicht reproduzieren und hatte ich auch noch nicht das Problem. Es gibt doch schon etliche Threads hier im Forum, schau dich Mal um. Zu 90% war es irgendwas doofes wie DNS, custom rewriterule oder oder oder

Share this post


Link to post
Share on other sites
  • 0

Zu. 1: Richtig, den hat Froxlor bei mir nicht installiert. Habe ich jetzt mit acme.sh --install-cronjob nachgeholt.

Zu 2: Den suche ich auch gerade -> GitHub, kann den acme.sh --remove Befehl nicht finden.

Zu 3: Kurz die Schritte:

  1. Anlegen einer Testdomain + Aktivierung von LE
  2. Zertifikat korrekt bezogen und unter /root/acme.sh/*domain* abgelegt, sowie auch in dem Webserver-Kunden-SSL-Zertifikatsverzeichnis
  3. Domain gelöscht + Cronjob durchlaufen lassen
  4. Zertifikat und Domain wurden sauber aus der Datenbank entfernt, sowie in dem Webserver-Kunden-SSL-Zertifikatsverzeichnis

Nur bleibt der Ordner /root/acme.sh/*domain* bestehen und somit sich auch die Konfigurationen. Dementsprechend versucht der ACME-Cronjob bei jedem Renew ein Zertifikat für diese alte Domain zu beziehen, obwohl diese ja nicht mehr existent ist.

Hoffe das man mit den Schritten was anfangen kann. ^^

Share this post


Link to post
Share on other sites
  • 0
22 minutes ago, iam said:

Zu. 1: Richtig, den hat Froxlor bei mir nicht installiert. Habe ich jetzt mit acme.sh --install-cronjob nachgeholt.

Sollte es aber...kann ich dir so nicht erklären, kenne dein system nicht und was wo ggfls vorher schon manuell gemacht wurde. Auf sauberen Systemen / bei erstsetup klappt das wunderbar.

23 minutes ago, iam said:

Zu 2: Den suche ich auch gerade -> GitHub, kann den acme.sh --remove Befehl nicht finden

Falsche Datei, siehe   https://github.com/Froxlor/Froxlor/blob/0398f4cdba4c4e2acc184bac4d17c432861698a7/lib/Froxlor/Domain/Domain.php#L329

24 minutes ago, iam said:

Nur bleibt der Ordner /root/acme.sh/*domain* bestehen und somit sich auch die Konfigurationen. Dementsprechend versucht der ACME-Cronjob bei jedem Renew ein Zertifikat für diese alte Domain zu beziehen, obwohl diese ja nicht mehr existent ist.

Für dochmal manuell ein acme.sh --remove aus....der löscht den Ordner nicht. Er löscht die Zertifikate und markiert das in der config als cancelled. Sollte acme.sh Dennoch versuchen was zu erneuern mach bei denen bitte einen bugreport. Da hat froxlor keinen Einfluss.

Share this post


Link to post
Share on other sites
  • 0
2 hours ago, d00p said:

Für dochmal manuell ein acme.sh --remove aus....der löscht den Ordner nicht. Er löscht die Zertifikate und markiert das in der config als cancelled. Sollte acme.sh Dennoch versuchen was zu erneuern mach bei denen bitte einen bugreport. Da hat froxlor keinen Einfluss.

Ja, hast du Recht. Soll mir auch Recht sein. Wäre ggf. ja noch mal eine zukünftige Verbesserung, den Ordner mit löschen zu lassen inh. des ACME. Außerdem sollte dies auch beim Deaktivieren des Kunden auch umgesetzt werden und nicht nur beim löschen der Domain, was meinst du? 😃
Allerdings habe ich nun sämtliche PHP-Features für froxlor freigegeben, bzw. Sicherheitseinschränkungen deaktiviert.
Dementsprechend auch das Debugging inh. PHP und ACME aktiviert und ich wünschte ich könnte etwas anderes sagen, aber ACME wird in diesem Fall von Froxlor nicht einmal angesprochen. 😞

Ich habe definitiv nicht alles auf Default, allerdings betreffen die Anpassungen nur das Mailsystem und einige Variablen, wo die Konfigurationen liegen sollen, welche auch reibungslos funktionieren. ACME ist ja fest in der Codebasis integriert.

Ich bin ehrlich gesagt auch kein Entwickler und bin froh, wenn ich den Code von dir nachvollziehen und verstehen kann. Dafür bin ich Jahrelang in der Systemintegration tätig und bin firm darin, welche Stellschrauben, was bewirkten.

VG

Share this post


Link to post
Share on other sites
  • 0
12 hours ago, iam said:

Außerdem sollte dies auch beim Deaktivieren des Kunden auch umgesetzt werden und nicht nur beim löschen der Domain, was meinst du?

Warum? tut doch nicht weh?! Vllt reaktivierst du ihn ja wieder? Ansonsten uncheck halt das Häkchen bei "Let's Encrypt Zertifikat" in der entsprechenden Domain.

12 hours ago, iam said:

Allerdings habe ich nun sämtliche PHP-Features für froxlor freigegeben, bzw. Sicherheitseinschränkungen deaktiviert.

Was hat das damit zu tun?

12 hours ago, iam said:

Dementsprechend auch das Debugging inh. PHP und ACME aktiviert und ich wünschte ich könnte etwas anderes sagen, aber ACME wird in diesem Fall von Froxlor nicht einmal angesprochen. 😞

Also für --debug ist da bei dir in den logs die du bereitstellst VIEL zu wenig output. Das kann ja eigentlich gar nicht sein, wenn du magst schau ich mir das gern mal auf deiner Kiste an und gebe da an den entscheidenden Stellen mal ein bisschen mehr output aus, vllt finden wir so die Ursache?!

12 hours ago, iam said:

Ich habe definitiv nicht alles auf Default, allerdings betreffen die Anpassungen nur das Mailsystem und einige Variablen, wo die Konfigurationen liegen sollen, welche auch reibungslos funktionieren. ACME ist ja fest in der Codebasis integriert.

Jo, die Einstellungen bzgl. let's encrypt werden ja so als parameter an acme.sh übergeben, ausführen sollte er es aber in jedem fall

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, d00p said:

Warum? tut doch nicht weh?! Vllt reaktivierst du ihn ja wieder? Ansonsten uncheck halt das Häkchen bei "Let's Encrypt Zertifikat" in der entsprechenden Domain.

Was hat das damit zu tun?

Also für --debug ist da bei dir in den logs die du bereitstellst VIEL zu wenig output. Das kann ja eigentlich gar nicht sein, wenn du magst schau ich mir das gern mal auf deiner Kiste an und gebe da an den entscheidenden Stellen mal ein bisschen mehr output aus, vllt finden wir so die Ursache?!

Jo, die Einstellungen bzgl. let's encrypt werden ja so als parameter an acme.sh übergeben, ausführen sollte er es aber in jedem fall

Im grunde hast du Recht, klar. Für mich ist das nur ein Denkspiel, denn wenn ich einen Kunden deaktiviere, ist ja automatisch auch seine Domain nicht mehr nutzbar (Webspace & Mail). Somit wäre ein renew nicht nötig, wenn ich reaktiviere mit Sicherheit schon. Wie gesagt, ich bin bei weitem nicht so firm wie du im PHP und es sollte mehr oder weniger ein kleiner Verbesserungsvorschlag sein, auf den du natürlich nicht eingehen brauchst. ^^

- Wenn der Kunde deaktiviert wurde und dessen Domain(s) LE nutzt, dann führe ACME remove aus.
- Wenn der Kunde reaktiviert wurde und dessen Domain(s) LE nutzt, dann führe ACME add aus.

-----------------------

Tendenziell weniger, allerdings wollte ich sicher gehen, dass PHP keine benötigten Function's blockiert und oder OpenBaseDir mit dazwischen grätscht. :)

-----------------------

Gerne, ich schreibe dich gleich mal per PN an.

LG

 

Share this post


Link to post
Share on other sites
  • 0
31 minutes ago, iam said:

- Wenn der Kunde deaktiviert wurde und dessen Domain(s) LE nutzt, dann führe ACME remove aus.
- Wenn der Kunde reaktiviert wurde und dessen Domain(s) LE nutzt, dann führe ACME add aus.

Warum sollte ich überhaupt einen Kunden deaktivieren und reaktivieren?

Ein Kunde wird ja im Normalfall deaktiviert weil er gekündigt hat / wurde. Ein Sperrung bzw. Deaktivierung des Webpakets bei Zahlungsverzug ist nicht zulässig.

Share this post


Link to post
Share on other sites
  • 0
3 minutes ago, Shortie said:

Ein Kunde wird ja im Normalfall deaktiviert weil er gekündigt hat / wurde. Ein Sperrung bzw. Deaktivierung des Webpakets bei Zahlungsverzug ist nicht zulässig.

Damit hast du dir die Frage fast schon selber beantwortet.
Wenn der Kunde dann doch wieder bestellt, legst du direkt alles doppelt und dreifach an?

Letzteres sehe ich nicht so, ansonsten gerne Urteile von einem OLG, BGH oder dem EUGH an mich per PN, danke.  

Share this post


Link to post
Share on other sites
  • 0

Hallo,

zu dem letzten Part kann ich dir folgenden Link schicken: https://www.webhosting.de/zahlungsverzug-beim-webhosting-berechtigt-nicht-zur-sperrung-der-internetseite/

Der Bericht ist zwar  schon älter, aber immer noch gültig. Eine direkte Sperrung schon bei der ersten Rechnung über einen verhältnismäßig niedrigen Betrag ist nicht zulässig.

Gruss cardman

 

P.S. hier noch ein Link von einem Rechtsanwalt mit einem entsprechenden Urteil: https://www.it-recht-kanzlei.de/zahlungsverzug-webhosting-vertrag.html

Share this post


Link to post
Share on other sites
  • 0
8 minutes ago, cardman said:

Hallo,

zu dem letzten Part kann ich dir folgenden Link schicken: https://www.webhosting.de/zahlungsverzug-beim-webhosting-berechtigt-nicht-zur-sperrung-der-internetseite/

Der Bericht ist zwar  schon älter, aber immer noch gültig. Eine direkte Sperrung schon bei der ersten Rechnung über einen verhältnismäßig niedrigen Betrag ist nicht zulässig.

Gruss cardman

 

P.S. hier noch ein Link von einem Rechtsanwalt mit einem entsprechenden Urteil: https://www.it-recht-kanzlei.de/zahlungsverzug-webhosting-vertrag.html

Eine direkte Sperrug bei Zahlungsverzug ohne Mahnung ist unwirksam, da gebe ich dir Recht.
Tendenziell war hier aber von "Allgemein" die Rede und das stimmt einfach nicht.

Als Webhoster habe ich einen Dienstleistungsvertrag mit dem Endkunden. Genau wie bei den Stadtwerken.
Ihr könnt ja gerne mal einfach die Gasrechnung nicht bezahlen. In 2-3 Monaten kommen dann die netten Kollegen im Blaumann und der Hahn ist dicht.

Einfache Sache.

P.S. Ich sagte bitte per PN, dies ist kein Thema, wo es um Offtopics geht.

Share this post


Link to post
Share on other sites
  • 0
11 hours ago, iam said:

Damit hast du dir die Frage fast schon selber beantwortet.
Wenn der Kunde dann doch wieder bestellt, legst du direkt alles doppelt und dreifach an?

Wir haben Vertragsfreiheit in Deutschland. Sprich wenn ein Kunde trotz mehrmaliger Aufforderung nicht zahlt oder dauerhaft ein schlechtes Zahlungsverhalten an den Tag legt, wird eine ordentliche Kündigung ausgesprochen. Meist haben solche Kunden zwar 1-3 Domains aber da bin ich mittlerweile so schmerzfrei, dass ich die Domainkosten trage bis Laufzeitende weil diese i.d.R geringer sind als der ganze Aufwand den Kunden weiter über einen weiteren Zeitraum mit Rechnungen (meist auch noch nur im unteren 2-stelligen Bereich pro Quartal) und Mahnungen zu versorgen. Solche Kunden werden dann auch normalerweise nicht wiederkommen oder eben nicht mehr angenommen.

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, Shortie said:

Wir haben Vertragsfreiheit in Deutschland. Sprich wenn ein Kunde trotz mehrmaliger Aufforderung nicht zahlt oder dauerhaft ein schlechtes Zahlungsverhalten an den Tag legt, wird eine ordentliche Kündigung ausgesprochen. Meist haben solche Kunden zwar 1-3 Domains aber da bin ich mittlerweile so schmerzfrei, dass ich die Domainkosten trage bis Laufzeitende weil diese i.d.R geringer sind als der ganze Aufwand den Kunden weiter über einen weiteren Zeitraum mit Rechnungen (meist auch noch nur im unteren 2-stelligen Bereich pro Quartal) und Mahnungen zu versorgen. Solche Kunden werden dann auch normalerweise nicht wiederkommen oder eben nicht mehr angenommen.

Ok? Dein Kundenstamm scheint ja die feinste Auslese zu sein, kenne ich so nicht.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...