waylin
Goto Top

Let s Encrypt auch bei DynDNS

Hallo zusammen hat jemand von euch schon Erfahrungen mit let's encrypt gesammelt denn man kann sich mittlerweile für die bewerben.
Ich wollte mir nämlich gerne ein paar Zertifikate für meine dynamische DNS Domain holen um damit zu Hause. Owncloud zu betreiben.
Laut Infos die ich gesammelt habe ist es auch möglich sich Zertifikate auf dynamische DNS Domains ausstellen zu lassen.
Nachweis:

http://www.heise.de/forum/c-t/Kommentare...7601/show/
die Bestätigung dass ich für die Beta angenommen wurde habe ich natürlich halten der Port 80 der für die Kommunikation des Clients benötigt wird ist natürlich durch geroutet an den Zielrechner.
dynamische DNS Adresse wird vom router aktuell gehalten Anbieter ist NOIP.com bei dem router handelt es sich um einen Speed Port W724v Typ A neueste Firmware Version ist natürlich installiert.

DNS wird auch korrekt aufgelöst Port 80 ist auch von außen erreichbar aber keine der dokumentierten Anforderung mit Hoden funktioniert bei mir ich bekomme immer die Fehlermeldung dass ich überprüfen soll ob die Firewall den Port blockiert. Oder ob meine IP öffentlich routbare wäre.

Da meine Englischkenntnisse aber sehr rudimentär sind dachte ich mir vielleicht hat ja einer von euch schon Erfahrungen damit gesammelt und könnte mir vielleicht sagen wie es am einfachsten geht.

denn der in Heise Forum beschriebene Weg funktioniert irgendwie gar nicht.
Falls Interesse besteht und sich jemand für die Beta registrieren möchte hier noch mal der Registrierungslink für die Beta.

Link: https://docs.google.com/forms/d/15Ucm4A2...glV7CKHmM/
ich hoffe jemand hat einen Tipp viele Liebe Grüße Waylin

Content-ID: 289801

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

Ausgedruckt am: 24.11.2024 um 11:11 Uhr

tomolpi
Lösung tomolpi 01.12.2015 aktualisiert um 20:40:28 Uhr
Goto Top
Zitat von @Waylin:
DNS wird auch korrekt aufgelöst Port 80 ist auch von außen erreichbar aber keine der dokumentierten Anforderung mit Hoden

Dann Wunder dich nicht face-wink
114757
Lösung 114757 01.12.2015 aktualisiert um 20:40:08 Uhr
Goto Top
Laut Infos die ich gesammelt habe ist es auch möglich sich Zertifikate auf dynamische DNS Domains ausstellen zu lassen.
Ja geht problemlos, vor kurzem erst erfolgreich getestet.
./letsencrypt-auto -d deinedomain.ddns.net certonly

cdabd9b611af757d0b10c004bb8ac4f9

Viele vergessen die Firewall auf dem Linux-System face-wink, dort sollte natürlich Port 80 ebenfalls freigeschaltet sein:

Also mit iptables -L prüfen ob auf Port 80 alles durchgeht, wenn nicht Port freischalten
iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
oder testweise einfach alle Regeln flushen
iptables -F
Gruß jodel32

p.s. ab 3. Dezember geht Lets Encrypt live ...

aber keine der dokumentierten Anforderung mit Hoden funktioniert
Hust * face-big-smile, schön was die Smartphones so alles mit Wörtern anstellen ...
Waylin
Waylin 01.12.2015 um 20:45:56 Uhr
Goto Top
Hallo jodel32 ich habe jetzt alles so versucht wie du es mir beschrieben doch leider bekomme ich immer noch den gleichen Fehler wie gesagt ich verfüge nur über schlechte Englischkenntnisse deswegen poste ich einfach mal einen Screenshot der Fehlermeldung um zehn Infos zu vermeiden wenn du noch weitere Informationen brauchst? Frag mich bitte einfach nur ich möchte jetzt nicht unnötigen Blödsinn posten der nur Verwirrung stiftet deswegen hier nur erstmals der Original Screenshot.
Nur den Dyndns Namen habe ich unkenntlich gemacht logischerweise.
Viele Liebe Grüße und danke.
wayln

Screenshot https://www.dropbox.com/s/po9kjp0jy30pigh/le.JPG?dl=0
fognet
fognet 01.12.2015 um 21:06:07 Uhr
Goto Top
Mal eine Frage:
ich bekomme immer die Fehlermeldung dass ich überprüfen soll ob die Firewall den Port blockiert.
Ich würde mal in die Richtung gehen... SSL benötigt Standardmäßig den Port 443.. Gib den mal frei.

LG PPR
114757
114757 01.12.2015, aktualisiert am 02.12.2015 um 09:30:01 Uhr
Goto Top
Ich würde mal in die Richtung gehen... SSL benötigt Standardmäßig den Port 443.. Gib den mal frei.
Das wäre ja ein Schuss ins Bein, mit let's encrypt will man ja gerade erst ein Zertifikat bekommen, also hat man ja zuerst mal keins. Wäre also Unsinn wenn hier Port 443 mit SSL für eine Auth gefordert wäre face-smile und nein benötigt wird wirklich nur Port 80 auf dem System was die Zertifikatsanfrage macht. Lets encrypt startet dafür einen lokalen Responder der auf Port 80 hört und auf die Anfrage der Lets Encrypt Server reagiert. Diese Fragen den A-Record im DNS ab und kontaktieren den Responder auf dieser IP.

Ich würd mal vermuten das deine Speedportgurke die Ursache ist, sowas gehört auf den Sondermüll, geschreddert und gehäckselt diese Krankheit ...
Hat dein Speedport überhaupt eine richtige öffentliche IP oder macht dein Provider "Provider Grade NAT" und du hast extern eine IP aus einem privaten Adressbereich ? In dem Fall hast du sowieso die A....karte gezogen.
Waylin
Waylin 02.12.2015 aktualisiert um 15:55:17 Uhr
Goto Top
Hallo jodel32 erst mal vielen Dank für deine Hilfe und deine Geduld.
Ich weiß nur leider gerade nicht wie ich überprüfen soll was du gesagt hast nämlich ob es sich bei meinem Anschluss überhaupt um eine richtige IP also MYip.is spuckt folgendes aus.
Your IP address is:
79.231.134.5
Your Hostname is:
p4FE78604.dip0.t-ipconnect.de
Wenn du mir vielleicht einen Tipp geben könntest wie ich dir noch mehr Infos besorgen kann die auch etwas bringen lassen es mich bitte wissen denn leider bin ich nun mal Anfänge in diesen Dingen sorry.

Viele Liebe Grüße Michael
114757
114757 02.12.2015 aktualisiert um 16:37:19 Uhr
Goto Top
Zitat von @Waylin:
Your IP address is:
79.231.134.5
Gut das ist eine normale öffentliche IP, mit der sollte es also in dieser Hinsicht keine Probleme geben
Wenn du mir vielleicht einen Tipp geben könntest wie ich dir noch mehr Infos besorgen kann die auch etwas bringen lassen es mich bitte wissen denn leider bin ich nun mal Anfänge in diesen Dingen sorry.
  • Wie hast du das Linux-System aufgesetzt bzw. unter welcher Linux-Distribution betreibst du den ACME client ?
  • Nach welcher Anleitung bist du vorgegangen?

Ich habe das hier unter einem cleanen Ubuntu Server 14.04 LTS in einer VM am laufen.

Wenn du überprüfen willst ob überhaupt Pakete an deinem Linux-System ankommen, schalte Wireshark oder einen Paketdumper(tcpdump) ein, dann siehst du ob überhaupt Pakete deinen Router passieren und am System ankommen.
tcpdump -i eth0 "host DEINELOKALEIP && port 80"
Sorry wenn das vielleicht etwas viel für dich ist, aber so ist das nun mal wenn man mit Linux hantiert, die Lernkurve ist steil und man lernt viel in kurzer Zeit face-wink
Waylin
Waylin 02.12.2015 um 16:54:18 Uhr
Goto Top
Hallo jodel32 genau die gleiche Konstruktion habe ich auch benutzt eine neu installierte virtuelle Maschine auf meiner Workstations diese dann im Brückenmodus laufen lassen also was ich damit meine ist das die VM eine IP aus dem realen Netzwerk bekommt also zum Beispiel 192.168.0.210.
als Linux Distribution habe ich auch Ubuntu Server 14. 04L TS benutzt. Ursprünglich vorgegangen bin ich nach folgender Anleitung wobei ich mir mittlerweile nicht mehr sicher bin ob das überhaupt die richtig war. leider kenne ich Wireshark nur unter Windows die Frage ist jetzt kann ich das unter Windows ganz normal laufen lassen um zu sehen ob die Pakete an der richtigen Stelle ankommen wenn die Zertifikats anfordern Maschine in einer VM auf der Workstations läuft. Bin mit Netzwerk Programmen wie Wireshark noch nicht so fit.
Link zur Anleitung die ich benutzen wollte.
https://thomas-leister.de/internet/anleitung-fuer-lets-encrypt-kostenlos ...
viele Liebe Grüße Michael
114757
114757 02.12.2015 aktualisiert um 17:28:54 Uhr
Goto Top
Zitat von @Waylin:
Hallo jodel32 genau die gleiche Konstruktion habe ich auch benutzt eine neu installierte virtuelle Maschine auf meiner Workstations diese dann im Brückenmodus laufen lassen also was ich damit meine ist das die VM eine IP aus dem realen Netzwerk bekommt also zum Beispiel 192.168.0.210.
OK
als Linux Distribution habe ich auch Ubuntu Server 14. 04L TS benutzt. Ursprünglich vorgegangen bin ich nach folgender Anleitung wobei ich mir mittlerweile nicht mehr sicher bin ob das überhaupt die richtig war.
OK.
leider kenne ich Wireshark nur unter Windows die Frage ist jetzt kann ich das unter Windows ganz normal laufen lassen um zu sehen ob die Pakete an der richtigen Stelle ankommen wenn die Zertifikats anfordern Maschine in einer VM auf der Workstations läuft. Bin mit Netzwerk Programmen wie Wireshark noch nicht so fit.
Wechsele unter Linux auf die zweite Konsole ALT + F2 und logge dich dort ebenfalls ein, dann führst du den in meinem letzten Post aufgeführten TCPDump Befehl aus (interne IP anpassen) und wechsele nun wieder zurück auf die erste Konsole und fordere ein Zertifikat an, dann wechselst du wieder zurück auf die zweite Konsole und überprüfst ob überhaupt Pakete an Port 80 des Systems ankommen. Siehst du dort Traffic der von den Let's enxcrypt Systemen kommt müsste es generell funktionieren, kommt dort kein Traffic an, dann ist was an deinem Netzwerksetup (Forwarding / Firewall) faul.

Deaktiviere auch mal auf dem HOST den Virenscanner bzw. eventuelle Security-Suiten und alle Firewalls.

Welche Virtualisierungssoftware benutzt du ? VMWare Workstation ?
114757
114757 04.12.2015 um 14:31:37 Uhr
Goto Top
Ich vermute mal du hast auf dem Ubuntu auch schon den Apache installiert, in dem Fall musst du den Apache kurz stoppen wenn du nur ein Zertifikat generieren willst was nicht automatisch installiert wird (certonly). Denn wenn Apache aktiv ist belegt es ja schon Port 80 und da Lets encrypt hier selber einen Responder auf Port 80 startet klappt das sonst nicht.
Hier auch nochmal eine kurze Einleitung
http://www.computerbase.de/2015-12/lets-encrypt-erfahrungen-https/3/

Gruß jodel32
Waylin
Waylin 04.12.2015 um 20:01:43 Uhr
Goto Top
Hallojodel32 ja ich verwende VMWare Workstation 12 pro.
Ich habe jetzt mal alles versucht so umzusetzen wie du es mir gesagt hast.
Ergebnis TCPDUM
https://dl.dropboxusercontent.com/u/41050129/LE/tcpdump.txt
Wurde direkt auf dem Server ausgeführt.
Und noch ein paar neue Screenshots Firewall Konfiguration vom Speeport etc
https://dl.dropboxusercontent.com/u/41050129/LE/fwc.JPG
neue Fehlermeldung LE Client Screenshot https://dl.dropboxusercontent.com/u/41050129/LE/lec%20fehler%20neu.PNG
Sudo ifconfig:
https://dl.dropboxusercontent.com/u/41050129/LE/ifconfig.txt
Sudo iptables –L:

Screenshot DYNDNS:
https://dl.dropboxusercontent.com/u/41050129/LE/Le1.PNG
Ping dyndns
https://dl.dropboxusercontent.com/u/41050129/LE/ping.txt
LE Clent log:
Screenshot myip.is
https://dl.dropboxusercontent.com/u/41050129/LE/my.is.PNG
https://dl.dropboxusercontent.com/u/41050129/LE/lec.log
Mehr Infos kann ich leider nicht geben. PS der Webserver ist gestoppt
Viele Liebe Grüße und nochmals danke
114757
114757 06.12.2015 aktualisiert um 18:01:57 Uhr
Goto Top
Gut die Anfragen und die AUTH funktionieren laut deinen Bildern. Die letzte Meldung scheint mir das dein System durch deine vielen Anfragen geblockt wurde. Hast du überhaupt mal in das Ausgabeverzeichnis geschaut ob dort überhaupt Zertifikate abgelegt worden sind?: /etc/letsencrypt/live
Wenn du Pech hast, wurde deine Subdomain eventuell für länger geblockt.

Ansonsten System neu aufsetzen und clean starten.
Waylin
Waylin 06.12.2015 um 18:04:43 Uhr
Goto Top
Hallo jodel32 nun hat es endlich geklappt habe einfach einen neuen dynamische DNS Adresse erstellt da die aktuelle ja sowieso durch meine Posts hier im Forum verbrannt war.
Mit der neuen DYDNS hat dann auch das anfordern der Zertifikate geklappt. Die einzige Frage die sich mir nun noch stellt ist ob ich den Ordner der beim anfordern der Zertifikate erstellt wird sprich /ETC/let's encrypt auf den realen Server übertragen soll oder immer nur die aktuellen Zertifikate zudem wie würdest du das regeln von den Berechtigungen her wenn mehrere Dienste die Zertifikate verwenden sollen. Zum Beispiel nginx und prosody.
Viele Liebe Grüße und nochmals 1000 Dank.
Michael
114757
114757 06.12.2015 aktualisiert um 18:16:17 Uhr
Goto Top
Schön das es endlich geklappt hat face-smile
Die einzige Frage die sich mir nun noch stellt ist ob ich den Ordner der beim anfordern der Zertifikate erstellt wird sprich /ETC/let's encrypt auf den realen Server übertragen soll oder immer nur die aktuellen Zertifikate zudem wie würdest du das regeln von den Berechtigungen her
Nun, da bei Let's Encrypt die Zertifikate nur 3 Monate Gültigkeit (in Zukunft vermutlich nur noch 30 Tage) haben solltest du das Erneuern weitestgehend mit Skripten automatisieren.
Wie du das machst bleibt dir überlassen (per SSH kopieren oder ein gesichertes NFS-Share einrichten wenn die Dienste auf unterschiedlichen Servern liegen)
Berechtigungen über eine Gruppe regeln, also Gruppe erstellen und dann die Service-User der Dienste zu der Gruppe hinzufügen und nur dieser Gruppe und root Zugriff auf die Zertifikate geben (640).

Schönen Nikolausabend
jodel
Waylin
Waylin 06.12.2015 um 20:04:25 Uhr
Goto Top
Hallo jode erstmal vielen Dank für den Tipp mit der Benutzergruppe das habe ich mir schon fast gedacht aber auf die Sache mit chmod 640 wäre ich nicht gekommen ich nehme mal an dass dies aber nur für den Ordner gilt in dem die Zertifikate liegen und nicht für den kompletten Ordner /ETC/let's encrypt oder.
Die Dienste die sich die Zertifikate teilen sollen laufen auf derselben physikalischen Maschine, nur der Ordner /ETC/let's encrypt liegt jetzt noch auf einer virtuellen Maschine da ich es unter dieser Maschine getestet habe.
Aber eigentlich dürfte es ja kein Problem sein kurzzeitig root Zugriff über SSH zu erlauben um den Ordner beispielsweise mit Winscp von der virtuellen Maschine auf die reale zu übertragen die Maschinen sind beide nicht von außen über ssh erreichbar sondern nur netzwerkintern also dürfte dies ja kein Sicherheitsrisiko darstellen wenn ich kurz als root auf den Server zugreife und dies kurz im SSHd_config erlaube und nach dem Kopieren wieder verbiete oder.
Dir auch noch einen schönen Nikolausabend
Gruß Michael
114757
114757 07.12.2015 aktualisiert um 09:52:05 Uhr
Goto Top
ich nehme mal an dass dies aber nur für den Ordner gilt in dem die Zertifikate liegen
Natürlich muss die Gruppe sich bis zum Ordner durchhangeln können, die Leserechte für den Ordner gelten dann für diesen und seine Inhalte wenn du die rekursive Option von chmod verwendest.
https://wiki.ubuntuusers.de/Rechte
Waylin
Waylin 08.12.2015 um 15:57:26 Uhr
Goto Top
Hallo jodel erst mal danke für den Hinweis den Link den du mir zukommen lassen hast habe ich mir gleich mal gespeichert weil darin ist es echt gut erklärt Lustigerweise finde ich so etwas nie wenn ich selber danach suchen vielleicht bin ich zu blöd dazu.
Des weiteren hatte ich sowieso einen Denkfehler denn es sind ja sowieso zwei vollkommen unterschiedliche Verzeichnisse einmal das wo der Client drin liegt und einmal/EtC/LE. Wo dann die Zertifikate und so drin liegen also kann man ja auch unterschiedliche Berechtigungen setzen das hatte ich aber irgendwie verpeilt dass es ja zwei unterschiedliche Verzeichnisse sind trotzdem vielen Dank für deine Geduld.
Und entschuldige bitte keine Schusseligkeit
viele Liebe Grüße
Michael
114757
Lösung 114757 08.12.2015, aktualisiert am 10.12.2015 um 16:51:54 Uhr
Goto Top
Alles klar face-smile
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.