Lets Encrypt ACMEv2 | RFC 2136 Update | Strato
-
Danke @Jens danke für die Anleitung, bei der ich leider noch Verständnislücken habe.
Ich habe eine subdomain mysub.xyz.de für die ich in der pfSense wildcard-Zertifikate erstellen möchte. Bisher erfolglos.
Die pfSense ist neu. Bisher betreibe ich einige Server zuhause, die mit einer subdmain angesprochen werden können. Die Aufrufe der mysub01.yxz.de, mysub02.yxz.de, .... werden von einem Reverse-Proxy auf einer Synology an den richtigen Server geleitet. Die Zertifikate erledigt auch die Synology.Das habe ich bisher gemacht:
Zu 1-4. Nach der Anmeldung bei dessec.io, habe ich dort meine Domain yxz.de (strato.de) in der Lasche „Domain Management“ angelegt.
Im „Token Management“ habe ich meine pfSense auch angelegt und konnte auch in der pfSense unter „Dynamic DNS Clients“ einen Eintrag generieren, der sich meine aktuelle IP-Adresse zieht und grün ist. Auf dessec.io hat meine Domain auch ein A und NS (ns1.desec.org. und ns2.desec.io.) bekommen.In 2. heisst es „Man legt sich einen DynDNS Adresse an. Bspw. beispiel.dedyn.io“
habe ich das damit erledigt?Zu 5. Ich verstehe das grundsätzliche Prinzip nicht richtig und somit auch was eigentlich zu tun ist. Muss ich
_acme-challenge.host.meinedomain.de IN CNAME _acme-challenge.beispiel.dedyn.io.
bei strato.de in CNAME eintragen, oder in dessec.io und vor allem was ist in meinem Fall was (host, ...)?Bei 6. und 7. angekommen, merke ich, dass meine Bemühungen nicht von Erfolg gekrönt sind.
Was entspricht bei meinen Bezeichnern host.domain.de? Sub-Domain? Müsste ich in dessec.io vielleicht mysub.xyz.de eintragen und nicht meine Domäne? So einfach die dessec.io umso schwieriger finde ich es etwas an der richtigen Stelle einzutragen. Die Doku spricht auch nicht gerade zu mir.Beim Anlegen der Zertifikate gebe ich in Kürze das hier in die Domain SAN List ein:
deSEC.io API Token , deSEC.io Username für mein Domain „*.yxz.de“ und das gleiche für den zweiten Eintrag für „xyz.de“Wenn ich Issue drücke, kommt nach einer Weile nichts. Ich habe vieles ausprobiert in NS, CNAME bei Strato und komme nicht weiter. Kann mir jemand helfen?
Ich habe die Anleitung gelesen, aber nicht wirklich durchdrungen. :-( -
@alcamar ich habe es bei mir ähnlich laufen.
- desec.io nutze ich mit meiner eigenen domain als dns/dyndns dienst.
- bei meinem provider wo ich die domain habe entsprechend den dns eintrag geändert das (wie in der doku) das jetzt dns über desec läuft
- dann entsprechend die hosts angelegt die ich brauchte
- in der sense dyndns konfiguriert
- die webui der sense auf einen anderen port gelegt (so das 80/443 frei/nicht genutzt ist)
- Acme Service entsprechend mit HTTP01 konfiguriert
usw.
du kannst doch mal das was du konfiguriert hast als screenshot posten, so können wir sehen was nicht richtig ist
-
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Zu 1-4. Nach der Anmeldung bei dessec.io, habe ich dort meine Domain yxz.de (strato.de) in der Lasche „Domain Management“ angelegt.
Im „Token Management“ habe ich meine pfSense auch angelegt und konnte auch in der pfSense unter „Dynamic DNS Clients“ einen Eintrag generieren, der sich meine aktuelle IP-Adresse zieht und grün ist. Auf dessec.io hat meine Domain auch ein A und NS (ns1.desec.org. und ns2.desec.io.) bekommen.Hi! Dann hast du meinen Post leider falsch verstanden. Ich meinte mit Punkten 1-4 dass man sich eine DynDNS Domain(!) bei desec.io "bestellt" bzw. registriert. NICHT seine Domain von woanders dort anlegt. Das funktioniert nicht, wenn die Domain noch auf einen anderen Provider zeigt (NS Records zeigen bspw. auf strato, 1&1 oder sonstwohin wo man die Domain gekauft hat und die Nameserver ggf. nicht ändern kann).
Wenn du die NS Einträge deiner Domain bei deinem Registrar verändern kannst bzw. andere angeben, dann kannst du die Domain auch komplett (DNS technisch) zu desec.io "ziehen", das ist aber nicht das, was ich da oben beschrieben habe.@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
In 2. heisst es „Man legt sich einen DynDNS Adresse an. Bspw. beispiel.dedyn.io“
habe ich das damit erledigt?Nein, du hast lediglich "deine" Domain dort im DNS Management angelegt, was aber nichts bringt, solange die Domain nicht auf desec's DNS Server zeigt. Entweder - siehe oben - man ändert also die DNS Server auf die, die von desec.io angegeben werden (und zieht die DNS Verwaltung der Domain damit zu desec! Man zieht NICHT die Domain damit um oder bekommt die Domain gratis oder irgendwas.) oder man registriert sich ne dedyn.io Adresse die noch frei ist und macht die Anleitung weiter mit dieser.
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Zu 5. Ich verstehe das grundsätzliche Prinzip nicht richtig und somit auch was eigentlich zu tun ist. Muss ich
_acme-challenge.host.meinedomain.de IN CNAME _acme-challenge.beispiel.dedyn.io.
bei strato.de in CNAME eintragen, oder in dessec.io und vor allem was ist in meinem Fall was (host, ...)?Also ist dein Alt-Provider Strato. DORT liegt auch die DNS Verwaltung für deine Domain, NICHT bei desec. Daher legt man diesen Eintrag natürlich bei Strato an und sagt damit, dass alle Anfragen zu ACME/LetsEncrypt bitte an die bei desec registrierte DynDNS Domain delegiert werden, daher auch in Punkt 1-4 das Anlegen und Registrieren einer DynDNS Domain bei desec - NICHT der eigenen.
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Bei 6. und 7. angekommen, merke ich, dass meine Bemühungen nicht von Erfolg gekrönt sind.
Können sie auch nicht - siehe oben. Da hast du im Grundsatz schon was falsch verstanden :)
Cheers
-
@micneu said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
@alcamar ich habe es bei mir ähnlich laufen.
- desec.io nutze ich mit meiner eigenen domain als dns/dyndns dienst.
- bei meinem provider wo ich die domain habe entsprechend den dns eintrag geändert das (wie in der doku) das jetzt dns über desec läuft
- dann entsprechend die hosts angelegt die ich brauchte
- in der sense dyndns konfiguriert
- die webui der sense auf einen anderen port gelegt (so das 80/443 frei/nicht genutzt ist)
- Acme Service entsprechend mit HTTP01 konfiguriert
usw.
du kannst doch mal das was du konfiguriert hast als screenshot posten, so können wir sehen was nicht richtig ist
Bei der Methode die eigene Domain DNS-technisch zu DeSec.io zu packen entfällt aber die Anleitung nahezu komplett, weil desec überhaupt kein Problem damit hat jedwedes LetsEncrypt Zert via DNS auszustellen - ergo ist die Anleitung überflüssig und man kann einfach via DNS01 Methode in Acme seinen Kram ausstellen. Dafür braucht es keinen CNAME oder einen challenge-domain-alias.
-
Hallo,
zunächst herzlichen dank für eure Antworten.@JeGr : Bitte nicht nicht steinigen, wenn ich wieder meine lange Leitung unter Beweis stelle. :-) Ich glaube, dass mich Eure Antworten weitergebracht hat. Glauben ist nicht wissen, daher nochmal zur Sicherheit:
-
Strato erlaubt mir für meine subdomain (mysub.xyz.de) den NS zu ändern. Dort habe ich nun ns1.desec.io. und ns2.desec.org. eingetragen. Damit habe ich meinen Alt-Provider DNS-technisch zu desec.io umgezogen. Oder?
-
Wenn ja, dann ist die Anleitung von Jens nicht der Weg für mein Ziel. Kann mir so die pfsense Zertifikate generieren, für meine subdomain bei Strato für die desec DNS ist?
Wenn ich @micneu richtig verstehe, hat er das ja so gemacht. Den Port 443 der pfsense habe ich geändert. Eine Zertifikatserstellung ist aber immer noch nicht möglich.
@jegr said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Bei der Methode die eigene Domain DNS-technisch zu DeSec.io zu packen entfällt aber die Anleitung nahezu komplett, weil desec überhaupt kein Problem damit hat jedwedes LetsEncrypt Zert via DNS auszustellen - ergo ist die Anleitung überflüssig und man kann einfach via DNS01 Methode in Acme seinen Kram ausstellen.
Das klingt für mich erfreulich, aber DSN01 Methode sollte eine Methode in ACME der pfsense sein? Oder wo muss ich da hinschauen?
Derzeit lande ich noch nicht auf die pfsense, wenn ich von außen komme. Deshalb habe ich noch einige Punkte zu lösen, fürchte ich. :-(
-
-
Bitte nicht nicht steinigen, wenn ich wieder meine lange Leitung unter Beweis stelle
Niemand wird gesteinigt hier ;)
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Strato erlaubt mir für meine subdomain (mysub.xyz.de) den NS zu ändern. Dort habe ich nun ns1.desec.io. und ns2.desec.org. eingetragen. Damit habe ich meinen Alt-Provider DNS-technisch zu desec.io umgezogen. Oder?
Wenn es auch aktiv ist und wirkt, dann ja. Solltest du testen können indem du bei desec mysub.xyz.de als Domain anlegst und dort dann mal zum Test einen "test" A-Record mit bspw. 127.1.2.3 anlegst. Dann etwas warten und dann mal mit einem DNS Tester schauen, ob die "welt" den Eintrag auflösen kann. Bspw.
Wenn du damit dein test.mysub.xyz.de testest und 127.1.2.3 zurückkommt, dann hat Strato das sauber delegiert und du kannst die Subdomain in Zukunft komplett bei desec selbst weiterkonfigurieren ohne Strato an der Backe zu haben.
Wenn ja, dann ist die Anleitung von Jens nicht der Weg für mein Ziel. Kann mir so die pfsense Zertifikate generieren, für meine subdomain bei Strato für die desec DNS ist?
Nö dann geht es SIGNIFIKANT einfacher Dann kannst du einfach im Acme Modul als DNS Provider desec auswählen, erstellst bei desec ein Token, damit das Acme Package Einträge anlegen und ändern darf und trägst das Token in das entpsrechende Feld ein. Fertig.
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Das klingt für mich erfreulich, aber DSN01 Methode sollte eine Methode in ACME der pfsense sein? Oder wo muss ich da hinschauen?
genau
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Derzeit lande ich noch nicht auf die pfsense, wenn ich von außen komme. Deshalb habe ich noch einige Punkte zu lösen, fürchte ich. :-(
weil deine Anfrage zu Strato geht und dort verschimmelt. Deine Anfrage wird auch NIE zur pfSense gehen sondern komplett via DNS ablaufen. Es kommt keine Anfrage auf Port 80 oder 443 von LetsEncrypt - das ist ja der Sinn von DNS01 als Methode. Es wird über einen DNS TXT Eintrag geprüft, der vom ACME Modul automatisch angelegt wird - danach wird LE angewiesen zu prüfen - und wenn die den DNS Eintrag bestätigt haben wird er automagisch wieder gelöscht. So läuft DNS01 ab. Da aber der Nameserver bislang zu Strato zeigt und dort kein Eintrag war, ist das fehlgeschlagen. Erst wenn entweder via Challenge Alias auf eine dyndns Domain der Zugriff umdelegiert wird oder du das Ganze direkt mit einem kompatiblen Provider (wie desec) durchspielen kannst, klappt das :)
Cheers
-
Die Umleitung nach desec klappt und wird vom dnschecker bestätigt.
In der pfSense konnte ich mit dem staging account gleich bei ersten Versuch für mysub.xyz.de und *.mysub.xyz.de ein Zertifikat erstellen. Die Erstellung dauert wenige Sekunden.
Die Übernahme des gleichen Eintrags in Prod geht nicht. Nach Minuten kommt nicht einmal eine Fehlermeldung. :-( -
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Die Übernahme des gleichen Eintrags in Prod geht nicht. Nach Minuten kommt nicht einmal eine Fehlermeldung. :-(
wenn staging problemlos geht, dann würde ich mal den prod key löschen und neu anlegen und ansonsten mal die Logs prüfen, acme erstellt eigentlich immer ein Log egal ob man was sieht oder nicht
-
ich habe mal sowohl prod als auch staging key neu erstellt. Danach staging ausprobiert und es ging nicht mehr.
Die Ursache stand wohl in der folgenden Zeile:
[Tue Jan 10 19:09:57 CET 2023] *.mysub.domain.de:Verify error:Incorrect TXT recordmysub.domain ist der Platzhalter für meine richtige Domain. Für die habe ich desec.io einen Eintrag erstellt und bei strato den ns-Record geändert.
Nach der obigen Meldung habe ich das "*" entfernt und das Zertifikat lässt sich erstellen. Mein Ziel war zwar ein wildcard-Zertifikat für die SubDomain zu ertsellen, aber wenn ich pro Server ein Zertifikat erstellen muss, kann ich damit leben.
Danke nochmal für die Hinweise @JeGr , die mich zumindest ermutigt mit neuem Schwung erneut an die Sache zu heranzugehen. :-)
-
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Nach der obigen Meldung habe ich das "*" entfernt und das Zertifikat lässt sich erstellen. Mein Ziel war zwar ein wildcard-Zertifikat für die SubDomain zu ertsellen, aber wenn ich pro Server ein Zertifikat erstellen muss, kann ich damit leben.
Das lässt sich auch machen, es kann nur sein, dass ggf. der Delegationseintrag nicht ganz korrekt ist oder man noch einen weiteren bei Strato setzen muss, das hab ich leider gerade nicht im Kopf, aber gehen sollte es.
Aber freut mich wenn es positive Fortschritte gab :)
-
@jegr Delegationseintrag ist sowas mit _acme-challenge?
Der Fehler beim Erstellen des Zertifikats lautet:
"Error add txt for domain:_acme-challenge.mysub.domain.de"Die DNS-Namensauflösung ist das eine und das klappt auch. Aber HAProxy bekomme ich einfach nicht zum Laufen. Ich habe einige Anleitung im Netz genommen, aber sehe nicht wo das Problem sein könnte.
Da ich in diese Bereich neu bin, habe ich auch in einem anderen Forum, das HAProxy thematisiert einen Post geschrieben. Ich weiss nicht, ob das eine gute Vorgehensweise ist, oder es nicht bessere wäre in einem Forum zu bleiben. Dort schien mir HAProxy eine Thema zu sein. Eine Reaktion habe ich aber nicht bekommen.
Das Problem ist, dass beim Aufruf einer Servers hinter dem Proxy nach einer Weile ein Time-Out kommt. In den Diagnostics der pfsense bin ich verloren.
-
@alcamar meine Vermutung ist, dass meine FritzBox und die pfSense noch nicht perfekt konfiguriert sind. Auf der Fritz ist vermutlich alles richtig weitergeleitet, aber auf der PfSense fehlt vielleicht noch etwas.
Habe das Wochenende mit der Fehlersuche verbracht und es geht leider kein Reverse-Proxy. Auf der Synology war das mal eine relativ schnelle Einrichtung. Die Funktion nun auf die pfsense zu übertragen ist offensichtlich nicht so einfach. -
@alcamar
Möchtest du hier dein Leid loswerden oder erhoffst du dir auch Hilfe?
Wenn ersteres, ist das der falsche Ort. Wenn letzteres, müsstest du ein paar Details nachreichen. "Läuft nicht" oder "Bekomme Timeout" ist a bisserl zu wenig, um erkennen zu können, was du falsch gemacht hast.Wie sieht die HAproxy Konfiguration aus?
Was ist das Backend? Worauf reagiert es?
Zeigt der Proxy die versuchte Verbindung in seinem Status an? -
@viragomann sorry, Du hast Recht. Bin komplett im Wald. :-)
Im Frontend sind zwei Einträge:
- alle http-Anfragen werden nach nach https umgelenkt
- Ein Server(cam1) hört auch cam1.domain.de auf 443
Im Backend ist unter Server List nur die web-Cam konfiguriert, die auf Port 443 (80 hatte ich auch schon) hört und auf eine IP-Adresse im LAN zeigt.
HA Stats sagt, dass ein L4Check erfolgreich ist.
Die web-Adresse der webcam wird über DynDNS richtig aufgelöst.
Deine letzte Frage würde ich auch gerne beantworten, wenn ich wüßte wo ich das sehen kann.
-
@alcamar Vermutlich beantwortet das Deine dritte Frage:
Ich denke, dass HAProxy nichts mitbekommt, weshalb ich mein Problem im Basis-Setup der pfSense vermute. Auf der Fritz!Box sind die Ports 80 und 443 weitergeleitet. Auf der pfSense selbst habe isch den 443-Port schon auf etwas anderes geändert. -
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Deine letzte Frage würde ich auch gerne beantworten, wenn ich wüßte wo ich das sehen kann.
In den Spalten Queue und Sessions in der Ausgabe die du oben gepostet hast. Das Backend bekommt überhaupt kein Traffic - so sieht das für mich aus.
Dein Frontend für die Cam ist ein untergeordnetes shared frontend. Wie ist das parent konfiguriert? Wenn da schon alle Requests weggefressen werden, kommt der Kram beim cam1 frontend nie an.Da hat @viragomann recht - ohne mehr Konfig sehen zu können kann da keiner sagen, warums nicht klappt :)
Cheers
-
@alcamar said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Ein Server(cam1) hört auch cam1.domain.de auf 443
Und was ist das "https-shared"?
Und wie sehen die Frontend Konfigurationen aus?Etwas seltsam finde ich, dass "https-shared" das Primary-Frontend ist.
Ja, das Backend scheint online zu sein, jedenfalls soweit das der Healthcheck feststellen kann. Aber ein Problem mit dem Backend hätte eine andere Auswirkung im Browser, soweit ich weiß. HAproxy würde zumindest eine Antwort liefern.
Deine letzte Frage würde ich auch gerne beantworten, wenn ich wüßte wo ich das sehen kann.
Auch in den Stats, im Frontend > Session total.
Am Settings-Reiter kannst du dir ganz unten die gesamte Konfig anzeigen lassen. Die bietet tlw. eine bessere Übersicht.
Auf der pfSense selbst habe isch den 443-Port schon auf etwas anderes geändert.
Du meinst, den WebGUI Port?
Weitergeleitet darf 443 auf der pfSense natürlich auch nicht werden. -
@viragomann said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Und was ist das "https-shared"?
Das kommt aus dem HAproxy Template das man einfach per klick als dummy einrichten kann, das hat aber normalerweise in sich auch nochmals ACLs und Regeln. Das ist nur als Beispiel für "kann man in einem - oder mehreren - Frontends einrichten" gedacht, je nachdem was man machen möchte. Ich mutmaße wie du, dass das falsch eingerichtet ist
-
@jegr ich kann versuchen alles, zu zeigen, was hilft. Das ist die Konfiguration für https-shared
-
@jegr https-shared ist aus Verzweiflung und ein Tutorial entstanden. Zuvor hatte ich nur einen Eintrag und dann war alles enthalten, was aber auch nicht funktionierte und deshalb deaktiviert: