jiggylee
Goto Top

SSL - Strato - Letsencrypt für Dummies - was tun für DNS-01 Challange?

Hallo an alle,

ich möchte die Sicherheit innerhalb meines Heimnetzes ein wenig verbessern. Ich habe mich bisher immer nur auf meine Fritz Box verlassen.

Ich verwende Opnsense (eine Open Source Firewall) und bin damit auch sehr zufrieden.

Um die Sicherheit bei mir zu verbessern, möchte ich das Dashboard meiner Firewall mit Letsencrypt zertifizieren lassen.

Für meine Firewall habe ich eine Subdomain, sowie den passenden A Record eingerichtet und DynDNS aktiviert.

Jetzt ist die Ausstellung der Zertifikate mit Letsencrypt doch ein wenig kniffliger als ich dachte.

Scheinbar möchte mein Letsencrypt Plugin (acme) bei der Überprüfungsmethode (http-01), dass ich Port 80 auf meiner Firewall öffne. Da ich das persönlich riskanter finde als eine DNS-01 Challange, wollte ich mal fragen, ob ich das auch ohne Wildcard Zertifikat bewerkstelligen kann?

Bei der Überprüfung meiner Subdomain bekam ich online folgendes Ergebnis:

Fatal: Check of /.well-known/acme-challenge/random-filename has a timeout. Creating a Letsencrypt certificate via http-01 challenge can't work. You need a running webserver (http) and an open port 80. If it's a home server + ipv4, perhaps a correct port forwarding port 80 extern ⇒ working port intern is required. Port 80 / http can redirect to another domain port 80 or port 443, but not other ports. If it's a home server, perhaps your ISP blocks port 80. Then you may use the dns-01 challenge. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask.  

Ich habe zum test mal Port 80 mit Ziel Port 80 auf die Firewall freigeschaltet. Das hatte trotzdem nicht geklappt... Ich habe allerdings noch nicht versucht Port 80 auf den Acme port zu lenken...

Da DNS-01 noch eine Alternative ist, möchte ich wissen was ich einstellen muss.

Wenn ich den DNS Challange ohne die einstellung im DNS versuche, sehe ich folgende Meldung:

[Tue Jun 30 09:48:40 CEST 2020] d='sub.example.com'  
[Tue Jun 30 09:48:40 CEST 2020] _d_alias
[Tue Jun 30 09:48:40 CEST 2020] txtdomain='_acme-challenge.sub.example.com'  
[Tue Jun 30 09:48:40 CEST 2020] txt='EX23iU_VajbWqEm4jiEyzKtqcOCZ9d7qelIo0MxLPNA'  
[Tue Jun 30 09:48:40 CEST 2020] d_api='/usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh'  
[Tue Jun 30 09:48:40 CEST 2020] Found domain api file: /usr/local/share/examples/acme.sh/dnsapi/dns_nsupdate.sh
[Tue Jun 30 09:48:40 CEST 2020] Adding txt value: EX23iU_VajbWqEm4jiEyzKtqcOCZ9d7qelIo0MxLPNA for domain:  _acme-challenge.sub.example.com
[Tue Jun 30 09:48:40 CEST 2020] adding _acme-challenge.sub.example.com. 60 in txt "EX23iU_VajbWqEm4jiEyzKtqcOCZ9d7qelIo0MxLPNA"  
[Tue Jun 30 09:48:40 CEST 2020] error updating domain
[Tue Jun 30 09:48:41 CEST 2020] Error add txt for domain:_acme-challenge.sub.example.com
[Tue Jun 30 09:48:41 CEST 2020] _on_issue_err
Man muss im TXT-Record einen Präfix setzen. -> _acme-challange

Im Internet findet man zu dem Thema in Bezug auf Strato und den dazu nötigen TXT-Record nur relativ wenig.
Allerdings scheint das in den unterschiedlichsten Variationen bei Strato nicht zu funktionieren. Was ich versucht habe:

(Keine SPF-Regel)
_acme-challange.sub.example.com
_acme-challange._sub.example.com
_acme-challange._example.com
_acme-challange._

Außerdem meinen sogar andere, man benötigt 2 TXT-Records.

Meine Fragen nun:

- Benötige ich für die DNS Challange ein Wildcard Zertifikat?
- Muss ich für ein Wildcard Zertifikat ein SSL Starter Paket bei Strato kaufen und über die Strato alle Sub-/ Domains verschlüsseln lassen?
- Muss man den TXT-Record nur bei der zu zertifiziernden Subdomain hinterlegen, oder benötigt die eigentliche Domain auch einen TXT Record?
Ich vermute mal, den muss man dann so aufbauen (example.com = TXT _acme-challange._example.com , Wert = <schlüssel>) ( sub.example.com = TXT _acme-challange._sub.example.com , Wert = <schlüssel2> )
- Wirkt der Wert innerhalb des Text records wie eine Art Passwort? Sprich acme benötigt den gleichen wert <schlüssel2> für meine subdomain?
- Benötige ich überhaupt DynDNS wenn ich meine Plattform nur von Intern erreichen will? Ich bekomme von Strato auch keine Dynamische IP zugewiesen

Bin für jede Hilfe dankbar!

Content-Key: 583216

Url: https://administrator.de/contentid/583216

Printed on: April 18, 2024 at 23:04 o'clock

Member: bloodstix
bloodstix Jun 30, 2020 at 09:42:49 (UTC)
Goto Top
Hallo,

der Text ist echt schwer zu lesen.
Eigentlich sagt der certbot-Client dir was zu tun ist.
Bei DNS-Challenge wird er dich nacheinander dazu auffordern 2 TXT-Records mit dem Namen "_acme-challenge.sub.example.com" anzulegen mit dem Wert den es dir nennt. In deinem Log wäre das "EX23iU_VajbWqEm4jiEyzKtqcOCZ9d7qelIo0MxLPNA".

Frage: Wo läuft der letsencrypt-client ?

Gruß
bloody
Member: JiggyLee
JiggyLee Jun 30, 2020 at 09:51:18 (UTC)
Goto Top
HI,

danke fürs schnelle Feedback. Ich werds gleich ändern.

Der Client läuft direct auf der Firewall. Dort möchte ich auch das Zertifikat für das Dashboard installieren.
Member: JiggyLee
JiggyLee Jun 30, 2020, updated at Jul 01, 2020 at 04:54:51 (UTC)
Goto Top
Übrigens genau an dem Punkt scheitert ja das ganze. Ich kann diesen TXT Record mit dem Präfix _acme-challange.sub.example.com nicht anlegen.
Laut Beispiel Syntax von Strato müsste das so aussehen: _selector._domainkey

edit:
Man muss für den TXT Record folgendes eingeben:

_acme-challenge._domainkey

Kann mir trotzdem jemand die restlichen Fragen beantworten? face-smile
Member: SlainteMhath
SlainteMhath Jun 30, 2020 at 11:55:16 (UTC)
Goto Top
Moin,

nur mal so nebenbei bemerkt: Die "Absicherung" deines FW-Dashboards mittels SSL verbessert weder die Sicherheit in deinem Netzwerk, noch verhindert es DNS Rebinding Attacks

Schau mal was hier https://en.wikipedia.org/wiki/DNS_rebinding unter "Protection" steht.

lg,
Slainte
Member: JiggyLee
JiggyLee Jun 30, 2020 at 12:23:01 (UTC)
Goto Top
Viele der Techniken aus dem Artikel sind mir bereits bekannt. Doch schon die Verwendung von OpenDNS allein hilft nicht, weil OpenDNS trotzdem unverschlüsselt über Port 53 kommuniziert. Das war nämlich ein Angriffsvektor bei dem rebinding. (DoT habe ich nachträglich eingerichtet) Ich will nur weg von Selbstsignierten Zertifikaten für Oberflächen. Ich möchte mir nur den Aufwand ersparen für alle Geräte eine PKI für Zertifikate aufzubauen, die ich dann auch auf alle Clients verteilen muss.
Member: SlainteMhath
SlainteMhath Jun 30, 2020 at 12:50:01 (UTC)
Goto Top
Selbstsignierte Zertifikate mindern NICHT die Sicherheit der SSL-Verbindung (je nach Einsatzszenario sind SelfSigned Cert sogar SICHERER als jene von öffentlichen PKIs) aber egal...

Und nein OpenDNS schützt natürlich nicht vor Rebinding Attacken (wie auch) Angriffplattform hierfür ist ja i.d.R. Javascript und Konsorten...
Member: tech-flare
tech-flare Jun 30, 2020 at 14:23:17 (UTC)
Goto Top
Um das ganze zu automatisieren ist strato eher ungeeignet als Domain Host.

Der TXT Eintrag muss aller 3 Monate erneuert werden. Bessere wäre da ein reiner DomainHoster mit API wie zum Beispiel inwx o.ä.
Member: JiggyLee
JiggyLee Jun 30, 2020 at 14:54:46 (UTC)
Goto Top
Scheint als hätte das jemand bereits hinbekommen.

HowTo
Member: BirdyB
BirdyB Jun 30, 2020 at 20:32:01 (UTC)
Goto Top
Zitat von @JiggyLee:

_acme-challange._domainkey

Nö, das heißt _acme-challenge._domainkey
Richtig abschreiben müsstest du schon.
Member: JiggyLee
JiggyLee Jul 03, 2020 at 07:30:21 (UTC)
Goto Top
Danke! Habs geändert.

Hilft trotzdem nicht. :D
Member: Itachai
Itachai Nov 19, 2020 updated at 17:02:13 (UTC)
Goto Top
Kannst du immer noch nicht die TXT bei Strato erstellen?
Falls es so sein sollte: Bei Strato muss bei TXT der Präfix "_acme-challenge" sein
Member: JiggyLee
JiggyLee Nov 21, 2020 at 17:16:53 (UTC)
Goto Top
Doch habs schon vor langer zeit hinbekommen. War mir nur nicht sicher wo und wie das erstellt werden musste.
Member: Itachai
Itachai Nov 21, 2020 at 17:22:41 (UTC)
Goto Top
Ah okay 👍