Lets Encrypt ACMEv2 | RFC 2136 Update | Strato
-
a) wofür Wildcard
b) für Wildcard muss der ACME Client DNS Text Einträge erzeugen können/dürfen. Das sollte man erstmal hinterfragen ob das überhaupt funktioniert bei Strato. Nachdem ich mir die Liste angeschaut habe - NEIN.Daher: Kurze Suche wäre vielleicht erfolgreich gewesen: https://www.heise.de/ct/ausgabe/2018-4-SSL-TLS-Zertifikate-gratis-fuer-alle-3953332.html
Zitat:Wer seine Webseiten bei einem der hiesigen Platzhirsche wie 1&1, Hetzner oder Strato hostet, kommt entweder gar nicht oder nur durch Eigeninitiative in den Genuss der kostenfreien LE-Zertifikate. So sagt ein Sprecher von Strato auf Nachfrage, dass man „Let’s Encrypt bei den Webhosting-Paketen aktuell nicht unterstützt.“ Bei Server-Produkten von Strato sind zur Installation der LE-Zertifikate root-Rechte nötig (siehe ct.de/y68u). Ansonsten setzt Strato auf DigiCert, weil man „keine Kompromisse bei den Qualitätsansprüchen“ eingehen wolle, so der Sprecher.
Und JA das bezieht sich auf deren Pakte und Co. Du hast da vielleicht nur ne Domain registriert. Das reicht aber, denn wenn du nicht deinen DNS Service irgendwo hin packst, wo du ne ordentliche API o.ä. hast, dann wird das mit Letsencrypt eben nichts. Das ist mit ein Grund, warum ich mir seit Jahren die ganzen billig-Provider nicht mehr gebe, denn irgendwas scheitert immer an deren Interfaces, Einschränkungen oder nicht vorhandenen (einfachen) Services.
Grüße
-
Hallo,
a) Für das einfachere Handlich am Reverse mit mehr als 10 Sites dahinter.
b) Verstanden. Vollkommen korrekt. Den Artikel habe ich sogar gesehen, aber mich hat wohl die Hoffnung etwas blind gemacht - sorry.Dann suche ich mal nach einem Provider bei dem ich sowohl DynDNS als auch Lets Encrypt Wildcard Zertifikate bekommen kann. Hast du da einen Tipp für mich?
Viele Grüße
-
Dann suche ich mal nach einem Provider bei dem ich sowohl DynDNS als auch Lets Encrypt Wildcard Zertifikate bekommen kann. Hast du da einen Tipp für mich?
Das hängt davon ab, ob du ein Webhosting damit gebundelt brauchst oder du nur die Domain + Mail bspw. nutzen willst. Da ich direkt kein Webhosting brauche, habe ich meine Domain selbst registriert und nutze für DNS (kostenfrei) Cloudflares DNS Server. Mail wird dann per MX direkt zum Mailprovider geschickt den ich nutze, alles andere kann ich dann selbst eintragen und handeln. Dadurch dass Cloudflare via API von der pfSense genutzt werden kann, sollte das ACME Paket damit sauber funktionieren. Alternativ einen Provider, der einem die Möglichkeit gibt, per (z.B.) PowerDNS (API) seine DNS Einträge selbst zu ändern.
Dann klappt das recht einfach, wobei ich bei 10 Sites das immer noch einfacher mit normalen einfachen LE Zertifikaten definieren würde :) Dann hat jede Site ihr eigenes Zertifikat und gut. :)Grüße
-
Brauche dort kein Webhosting. Nur Domain und DNS.
Ziemlich cool, dass man das bei Cloudflare so einfach machen kann. Leider kann ich aber meine .eu Domain nicht selbst registrieren, oder habe ich was verpasst?GoDaddy müsste auch funktionieren? Könnte ja meine Domain dorthin umziehen.
Vielen Dank nochmal für deine Tipps!
-
Wo du die Domain verwaltest ist im Prinzip egal, solange dir die Möglichkeit offensteht, eigene DNS Server anzugeben. Das machen durchaus einige Registrare, manche wollen alles bei sich behalten. Evtl. gibts auch was praktischeres als Kombination, aber ich habe einen Anbieter, bei dem ich bei der Registrierung die DNSe angeben kann. Machen bspw. problemlos Schlundtech, der Hetzner Robot und andere Anbieter so. Dann die Domain bei Cloudflare angelegt, die Nameserver bei der Domain eingetragen und losreiten :)
-
Hallo,
so nochmal abschließend:
Hab meine Domain jetzt von Strato zu GoDaddy transferiert. Dort kann man mit einem API Key sowohl Dynamic DNS als auch ACME Wildcard Zertifikate erstellen lassen.
Also alles was ich brauchte klappt jetzt.Danke für deine Hilfe!
Viele Grüße
-
Ich bin gerade auf den alten Thread gestoßen, weiß jemand ob das bei Strato inzwischen geht?
Würde mir gerne das manuelle Anlagen vom DNS TXT bei Strato sparen...Wenn ich mir allerdings die Method Liste so anschaue vermisse ich Strato, kein gutes Zeichen.
-
-
Jup. Man kann das simpel mit der Nutzung von DNS Alias von Acme nutzen.
-
Man legt sich bei einem kompatiblen DynDNS Anbieter, der LetsEncrypt Zertifikate unterstützt und einem optimalerweise noch DNS Zugriff erlaubt (damit man Einträge sinnvoll gestalten kann) einen Account an.
Empfehlung: desec.io -
Am Beispiel von DeSec weitergedacht: Man legt sich einen DynDNS Adresse an. Bspw. beispiel.dedyn.io
-
Man erstellt ein Token im Tokenmanagement (oder bei einem anderen Dienst entsprechende Credentials, Keys etc.)), damit man DynDNS und ACME Funktionen sinnvoll nutzen kann. Als Tokenname bspw.
pfSense
eintragen damit man weiß wer das Token nutzt. Beispiel:62AUBFFgn9G0otIxcw99RZABHud9
-
Mit dem Token bewaffnet legt man sich erstmal einen DynDNS Eintrag an und nutzt dort das Token etc. um zu testen, dass alles sauber läuft. DeDyn ist verfügbar als v4 oder v6 Service, als Passwort wird das Token genutzt. Angelegt sollte in der DeSec UI ein A oder AAAA Record mit der IP auftauchen - also alles OK
-
Für ACME von der "komplizierten" Domain ohne API setzt man nun - je nachdem ob es ein einzelner Host oder ein Wildcard Zert für die ganze Domain sein soll - einen statischen CNAME Eintrag im DNS des Anbieters an:
_acme-challenge.host.meinedomain.de IN CNAME _acme-challenge.beispiel.dedyn.io.
-
Wenn ich jetzt ein Zertifikat für
host.meinedomain.de
erstellen möchte, kann ich das im Acme Package der pfSense wie folgt machen:- Acme Config, am Besten erst mit einem LetsEncrypt Staging Account und nicht direkt gegen live um nicht geblockt zu werden wenn es nicht klappt.
- Bei Domain SAN Liste dann wie folgt:
- Enabled,
host.meinedomain.de
, Method: DNS-desec.io, Token:62AUBFFgn9G0otIxcw99RZABHud9
, Name:meinlogin@email.name
(E-Mail des deSEC Accounts) , Enable DNS-Alias Mode:beispiel.dedyn.io
, Enable DNS domain alias mode: KEIN Haken
-
Nach Speichern und einem
Issue
Kommando, sollte nach einiger Ablaufzeit ein Zertifikat für denhost.meinedomain.de
unterzeichnet von LE Staging rausfallen. Ansonsten aufmerksam das Log im Popup lesen!
Damit kann man die Auth via API Eintrag des TXT Records in der dedyn.io Zone lösen, während im händischen DNS Tool des Providers (Strato, 1und1 etc.) ein einfacher CNAME eingetragen wird für den Hostnamen, den man ausstellen möchte.
Das Ganze kann man dann natürlich für beliebige weitere Hostnamen wiederholen/ausdehnen, für jeden weiteren legt man beim "AltProvider" einfach weitere CNAMEs nach dem gleichen Schema mit Ziel
_acme-challenge.beispiel.dedyn.io
an. Da kann man beliebig viele drauf zeigen lassen. Oder man kann es auch für eine Wildcard Domain ausdehnen.Nichts desto trotz ist es somit sehr simpel machbar, seine Domain via DNS mit LetsEncrypt Zertifikaten auszustatten ohne sich mit schlechten DNS Interfaces oder altbackenen Herstellern rumzuschlagen. Und mitunter ist das Umziehen der Domain ja nicht ganz so trivial wenn da ganze Hosting Pakete dranhängen - leider.
Cheers
\jensEdit: Topic Titel geändert denn wie gezeigt ist das nur "zum Teil" nicht möglich. Ja DynDNS direkt mit der eigenen Strato Domain ist schwierig, wobei DynDNS hier mit einem Custom-Typ DDNS Job in pfSense möglich sein sollte. Aber mit einem sinnvollen DNS Anbieter wie deSEC ist es möglich. Man kann zusätzlich die eigene Domain auch per CNAME auf den entsprechenden dedyn.io Hostnamen zeigen lassen - dann hat man sowohl für dyndns als auch für Zertifikate die eigene Domain im Einsatz.
-
-
@jegr
danke für die Anleitung Jens, ich war mir nicht sicher ob ich mir das alles am Freitag merken konnte (hätte ich dann früher oder später gemerkt).Setzt Du desec.io auch für Firmen ein oder ist das nicht so gerne gesehen da e.V.?
-
@slu said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Setzt Du desec.io auch für Firmen ein oder ist das nicht so gerne gesehen da e.V.?
Da haben die Betreiber gar keine Probleme mit, was sie mir auch nach Rückfrage bei den Kollegen bestätigt haben. Bei Firmen ist/wäre lediglich ein kleiner Spendenobulus gern gesehen, denn das ganze betreibt sich natürlich nicht von selbst. Aber prinzipiell steht das allen offen bzw. es gelten die Terms of Use: https://desec.io/terms
Ich habe da aber schon einigen Firmen geraten bspw. eine Domain für solche Validierungszwecke dorthin zu verfrachten und wenn möglich nen kleinen Obolus zu spenden.
-
@jegr said in Lets Encrypt ACMEv2 | RFC 2136 Update | Strato:
Ich habe da aber schon einigen Firmen geraten bspw. eine Domain für solche Validierungszwecke dorthin zu verfrachten und wenn möglich nen kleinen Obolus zu spenden.
Obolus ist Ehrensache und keine Frage.
-
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