Let's Encrypt

  • Update:


    Ich habe mir das noch auf anderen System angeschaut, je nach Einstellung der UAC
    kann es zu Problemen kommen (Pfadangaben).
    Und wenn man die Zertifikatskette übergeben möchte waren noch Anpassungen nötig.
    Jetzt wird immer eine wbcert.pem mit der komplette Zertifikatskette erzeugt.


    Diese beiden Scripte laufen sauber und erzeugen die passende wbcert.pem


    Bash: Install.bat
    set /p domain=[Fuer welche Domain soll ein Zertifikat erzeugt werden?]set /p davidinstall=[Wohin wurde David installiert?]NET STOP "David Webbox"START "" /B "c:\ssl\python.bat"START "" /WAIT "c:\ssl\letsencrypt.exe"TASKKILL /IM python.exe /Ftype c:\ssl\certs\%domain%-key.pem > c:\ssl\certs\wbcert.pemtype c:\ssl\certs\%domain%-chain.pem >> c:\ssl\certs\wbcert.pemmove "%davidinstall%\Apps\Webbox\Code\wbcert.pem" "%davidinstall%\Apps\Webbox\Code\wbcert_old.pem"copy c:\ssl\certs\wbcert.pem "%davidinstall%\Apps\Webbox\Code"NET START "David Webbox"


    Bash: update.bat
    @echo offset domain="subdomain.kunde.tld"set davidinstall="David Root"NET STOP "David Webbox"START "" /B "c:\ssl\python.bat"START "" /WAIT ""c:\ssl\letsencrypt.exe --renew --baseuri "https://acme-v01.api.letsencrypt.org/""TASKKILL /IM python.exe /Ftimeout /t 5type c:\ssl\certs\%domain%-key.pem > c:\ssl\certs\wbcert.pemtype c:\ssl\certs\%domain%-chain.pem >> c:\ssl\certs\wbcert.pemdel "%davidinstall%\Apps\Webbox\Code\wbcert.pem"copy c:\ssl\certs\wbcert.pem "%davidinstall%\Apps\Webbox\Code"NET START "David Webbox"exit


    Code: python.bat
    c:\ssl\python.exe -m http.server 80



    Hintergrund: In der %domain%-chain.pem sind alle Zertifikate als Zertifikatskette gespeichert, daher fehlt für eine Vollständige
    wbcert.pem nur noch der Private Key welcher in der der %domain%-key.pem steckt.


    Die Aufgabe "letsencrypt-win-simple httpsacme-v01.api.letsencrypt.org" im Aufgaben Planer bitte noch anpassen:
    Unter Aktionen -> Programm starten -> Dort bitte die call_update.cmd aus dem c:\SSL Verzeichnis auswählen.
    Unter Allgemein sollte "Unabhängig von der Benutzeranmeldung ausführen" ausgewählt sein.


    Anbei der Link zur aktuellen Version:

    https://ihr-it.support
    Bietet seit zwanzig Jahren Systemhaus Lösungen für kleine bis mittlere Kunden an.
    Auf meiner Homepage finden Sie Infos zu allen Zertifizierungen und Partnerschaften ;)
    Support Hotline: 07345 23 63 80

    Einmal editiert, zuletzt von stylistics ()

  • In der Tat, die hängenden Konsolenfenster im Taskmanager hatte ich auch, aber keine hängende letsencrypt.exe.


    Nachdem ich jetzt auch auf die call_update.bat von stylistics umgestellt habe, sind auch die Konsolenfenster nicht mehr vorhanden.
    Soweit scheint ja dann alles i.O. zu sein. Für einen Live-Einsatz in Kundensystemen werde ich aber wohl noch zumindest bis zum Ablauf des Zertifikats warten und schauen, ob auch wirklich eine automatische Aktualisierung stattfindet.


    Ansonsten auch von mir noch einmal herzlichen Dank an alle Beteiligten. Meiner Meinung nach ist es ein Trauerspiel, dass Tobit dies nicht selbst anbietet. Aber die sollen besser erst einmal zusehen, dass sie alle Funktionen des alten Clients in die Dekade 3 rübergeschaufelt bekommen...


    Das mache ich glaube ich jetzt zur Voraussetzung dafür, wann ich das nächste Rollout installiere: sobald ich im Administrator unter WebBox einen Tab mit der Aufschrift "Let's Encrypt" finde.


    Grüße
    Michael

  • hatte ich auch, aber keine hängende letsencrypt.exe

    Ich denke, das lag bei mir daran, dass die letsencrypt.exe in einen Fehler gelaufen ist und "versteckt" auf einen Tastendruck wartete o. ä.. Kann ich nicht mehr nachvollziehen oder reproduzieren, kam vermutlich vom intensiven Herumspielen (einmal lief der Update-Batch sogar parallel doppelt, schluck...)


    Ansonsten auch von mir noch einmal herzlichen Dank an alle Beteiligten.

    Definitiv! Richtig gute Aktion! :)


    Meiner Meinung nach ist es ein Trauerspiel, dass Tobit dies nicht selbst anbietet.

    Zumal der Gedanke ja offensichtlich schon vorhanden war - eigentlich kann's nicht so schlimm sein, das in die Webbox zu implementieren. Wenn man böse denkt, könnte es natürlich sein, dass kostenlose Erweiterungen nicht erwünscht sind und man lieber selbst Zertifikate anbieten/verkaufen möchte. Oder man hält die Vorarbeit mit dem Setzen von A-Record bzw. CNAME für zu support-anfällig. Keine Ahnung.

  • So nachdem ich mich mal hier durch gelesen habe und kein TObit Partner wie die meisten hier bin, sondern selbst "Kunde" demnach nicht ganz so versiert bin frag ich lieber nochmal :D


    Und zwar hab ich mir die erste Anleitung durchgelesen, ist verständlich usw.
    Nun hat @stylistics etwas verändert/verbessert, allerdings weiß ich nun nicht genau wo ich starten soll :D


    Was genau muss ich nun von stylistics nehmen und was noch vom ersten Code/bzw. Anleitung?


  • Wenn man böse denkt, könnte es natürlich sein, dass kostenlose Erweiterungen nicht erwünscht sind und man lieber selbst Zertifikate anbieten/verkaufen möchte. Oder man hält die Vorarbeit mit dem Setzen von A-Record bzw. CNAME für zu support-anfällig. Keine Ahnung.

    Ich würde eher auf die erste Option tippen. Denn wenn man nicht ausgerechnet den SLS von Tobit einsetzt, hat man die Arbeit ja ohnehin schon erledigt. Und selbst wenn man SLS einsetzt, sollte das kein Problem sein. Ich vergleiche das jetzt einfach mal mit dem 3CX Phone System. Bei der Installation der virtuellen Appliance legt man seine Subdomain fest, das wird dann umgesetzt auf sowas wie . Für den Fall einer dynamischen IP wird automatisch die Appliance selbst für diese Domain zu einem DynDNS-Client, der IP und Subdomain immer aktuell hält. Und gleich der nächste Schritt ist die (vollautomatische) Erstellung eines Zertifikats von Let's Encrypt, das automatisch bei Ablauf verlängert wird. Obendrein gibt es dann noch eine automatische Statusmail, die über die erfolgte Verlängerung informiert. Der ganze Prozess ist im Prinzip nicht mehr als persönliche Daten eingeben und weiter - weiter - fertigstellen klicken (gut, mal abgesehen von der Erstellung der Portfreigaben in der Firewall).


    Also, wenn man will dann geht das.

  • So nachdem ich mich mal hier durch gelesen habe und kein TObit Partner wie die meisten hier bin, sondern selbst "Kunde" demnach nicht ganz so versiert bin frag ich lieber nochmal :D


    Und zwar hab ich mir die erste Anleitung durchgelesen, ist verständlich usw.
    Nun hat @stylistics etwas verändert/verbessert, allerdings weiß ich nun nicht genau wo ich starten soll :D


    Was genau muss ich nun von stylistics nehmen und was noch vom ersten Code/bzw. Anleitung?


    Im Prinzip gilt die Anleitung von Murmelbahn weiter, nur folgende Abweichungen sind nötig:


    1. den Inhalt von install.bat und update.bat mit den Änderungen von stylistics überschreiben (siehe Post 42)
    2. die zusätzliche Datei call_update.cmd in Verzeichnis C:\SSL erstellen und folgenden Inhalt einfügen:


    Code: call_update.cmd
    @echo off
        cmd.exe < c:\ssl\update.bat
        exit

    Danach sieht die aktualisierte Anleitung so aus:


    Anlegen einer Subdomain beim DNS Provider des Kunden. Beispielsweise mail.domain.tld. Diese muss auf die externe IP des Kunden bzw dessen DynDNS zeigen.
    Kopieren des Skriptes SSL.zip auf Laufwerk C des David Servers des Kunden.
    Entpacken des Skriptes, alle Inhalte müssen unter C:\SSL auf dem David Server des Kunden liegen.
    SSL.zip löschen.
    Sicherstellen das Port 80 in der Firewall auf den David Server geforwarded wird.
    C:\SSL\INSTALL.bat als Administrator ausführen.
    Das Skript fragt nach der Domain unter der die Webbox angesprochen werden soll. Beispielsweise mail.domain.tld.
    Das Skript fragt nach dem Pfad zur David installation. Beispielsweise D:\David, C:\David. Wichtig: Keinen Backslash am Ende des Pfades eintragen.
    Anschließend wird die Webbox beendet.
    Als nächstes fragt das Lets Encrypt Script nach einer Mail Adresse an die Mails geschickten werden sollen wenn das Zertifikat abläuft. Hier am besten [email=info@]info@ [/email]angeben.
    Im Hauptmenü der Anwendung "M: Generate a certificate manually" auswählen.
    Nun den Namen der Subdomain für die das Zertifikat generiert werden soll eingeben: mail.domain.tld.
    Die Abfrage nach dem site path mit Enter bestätigen.
    Die nächste Abfrage mit "N" beantworten.
    Ein letztes mal "Enter" beendet das Script



    Unter C:\SSL\Certs sind alle Files wie Certificate, Key und Request. Hier nichts löschen! Bei beenden des Scripts wurde eine wbcert.pem erstellt und in das Verzeichnis der Webbox kopiert, falls bereits eine
    wbcert.pem vorhanden war wird die in wbcert_old.pem umbennant.



    Im David Administrator -> Webbox -> Konfigurieren -> Domain mail.domain.tld eintragen.
    Webbox neu starten
    Als nächstes unter C:\SSL\UPDATE.bat bearbeiten.
    Unter set domain den Namen der Subdomain eintragen.
    Unter set davidinstall den Pfad zur David Installation ohne Backslash am Ende eintragen.
    Das File speichern.
    In die Aufgabenplanung des Servers gehen.
    Den Task "letsencrypt-win-simple httpsacme-v01.api.letsencrypt.org" bearbeiten.
    Den Radiobutton unter "Allgemein" bei "Unabhängig von der Benutzeranmeldung" setzen.
    Unter "Aktionen" "Programm starten" bearbeiten.
    Programm/Skript= C:\SSL\call_UPDATE.cmd
    Argumente müssen gelöscht werden.
    Mit "Ok" bestätigen.

  • Bei mir kommt es zu einer Fehlermeldung:



    Code
    Submitting answer
    Refreshing authorization
    Authorization Result: invalid
    Authorization Failed invalid
    
    
    ******************************************************************************
    The ACME server was probably unable to reach http://mail.domain.tld

    ich habe meine subdomain mail.domain.tld eingerichtet.
    Ich kann diese im Browser aber nicht öffnen, allerdings funktioniert es wenn ich am smartphone die subdomain als Exchange Server angebe.
    Heißt das ich muss erst in meinem Lancom 1783VAW noch etwas einstellen?
    @stylistics vielleicht hast du einen kurzen Hinweis weil du den ja mal eingerichtet hast :D

  • Port 80 extern auf den david Server Port 80 weiterleiten. Davor prüfen das kein anderer Dienst auf dem Port 80 lauscht. Und prüfen
    das die Windows Firewall den Port nicht blockt.


    Ich finde das über Lets encrypt ja ganz nett,
    in Zeiten wo ich für 27$ ein Zertifikat für drei Jahre bekomme, lohnt sich das fast nicht (als Dienstleister).

    https://ihr-it.support
    Bietet seit zwanzig Jahren Systemhaus Lösungen für kleine bis mittlere Kunden an.
    Auf meiner Homepage finden Sie Infos zu allen Zertifizierungen und Partnerschaften ;)
    Support Hotline: 07345 23 63 80

  • Auch diese Aufgabe finde ich nicht, wurde wahrscheinlich nicht hinzugefügt weil das install.bat nicht korrekt zu Ende gelaufen ist.



    Port 80 extern auf den david Server Port 80 weiterleiten. Davor prüfen das kein anderer Dienst auf dem Port 80 lauscht. Und prüfen
    das die Windows Firewall den Port nicht blockt.

    Muss ich mal schauen, mal lancom Anleitung gucken :D



    Ich finde das über Lets encrypt ja ganz nett,
    in Zeiten wo ich für 27$ ein Zertifikat für drei Jahre bekomme, lohnt sich das fast nicht (als Dienstleister).

    Aso du meinst, der "aufwand" ist nicht gerechtfertig und würdest trotzdem lieber das zertifikat kaufen? Klar sind die Kosten nicht hoch.. Aber wenn es einmal eingestellt ist und funktioniert doch gnaz nett ;)

  • So ;) auch wenn Doppelpost der Ordnung halber :D



    Also es hat geklappt nachdem ich den Port im Lancom freigegeben habe.
    Nun habe ich ein neue SSL Zertifikat und habe ein A- im SSL Test erhalten von


    Das - wegen: The server does not support Forward Secrecy with the reference browsers. Grade reduced to A-.



    Habt ihr das auch?


    So nu fehlt mir nur noch die Aufgabenplanung :D
    und das finde ich leider nicht... Kann mir da jemand helfen und sagen wieso das bei mir nicht angezeigt wird?


    EDIT:


    Beim zweiten mal auf Install.bat hat er mich übrigens nicht mehr nach meiner Email adresse gefragt.
    Ist das dann richtig?! Hatte er die noch irgendwo gespeichert?


    EDIT 2:
    Aufgabe nun gefunden :D

    Einmal editiert, zuletzt von lycra ()

  • Aso du meinst, der "aufwand" ist nicht gerechtfertig und würdest trotzdem lieber das zertifikat kaufen? Klar sind die Kosten nicht hoch.. Aber wenn es einmal eingestellt ist und funktioniert doch gnaz nett

    So lange der "Ist Stand" bei lets encrypt so bleibt ist alles gut, ändert sich was, muss man wieder ran.
    Ein Zertifikat kauf mal einmal für z.B. drei Jahre (27€) und gut ist, und ich kann es ohne großen Aufwand
    für andere Dienste verwenden.


    Aber das ist immer Ansichtssache, und eine frage des Preises.
    Ich finde es super das man sich die Zeit genommen hat dies zu entwickeln, da sollte Tobit.Software ein Beispiel
    nehmen, und es auch umsetzten.


    PS: Tobit Verkauft keine Webserver Zertifikate, sondern eMail (S/MIME) Zertifikate (von D-Trust).

    https://ihr-it.support
    Bietet seit zwanzig Jahren Systemhaus Lösungen für kleine bis mittlere Kunden an.
    Auf meiner Homepage finden Sie Infos zu allen Zertifizierungen und Partnerschaften ;)
    Support Hotline: 07345 23 63 80

  • Ja das ist natürlich eine super Anleitung weiß abe rwas du meinst ;)



    Nun hab ich folgendes Problem.
    Seit dem ich umgestellt habe auf lets encrypt hab ich eben folgende Fehlermeldung erhalten:




    Error Port 443 konnte nicht registriert werden.
    Comment David WebBox ist nicht betriebsbereit.


    Um exakt 9 uhr findet das Update per Lets encrypt statt.


    Sprich es hat damit etwas zu tun.


    Hat jemand anders auch diesen Fehler bzw weiß wie man den beheben kann?

  • Die Meldung bekommst du meist immer dann, wenn die Webbox den Port nicht benutzen konnte
    da dieser von einer anderen Anwendung schon benutzt wird.


    Schon mal geprüft ob eine andere Dienst auf dem Port 443 läuft, oder es zumindest versucht?

    https://ihr-it.support
    Bietet seit zwanzig Jahren Systemhaus Lösungen für kleine bis mittlere Kunden an.
    Auf meiner Homepage finden Sie Infos zu allen Zertifizierungen und Partnerschaften ;)
    Support Hotline: 07345 23 63 80

  • Grade mal geguckt, also im Status Monitor steht folgendes.


    Und im Lancom ist 80, 267 (replizieren), und 443 freigegeben.


    Wie kann ich denn gucken ob 443 schon genutzt wird? hab ich nicht gefunden mhh

  • Du bekommst die Meldung von der Webbox, daher geht es um einen Dienst auf dem Server.


    Wenn du nen IIS drauf hast, dann kannst du das über den IIS Manager prüfen, ob er eine solche Bindung hat.


    Oder du deaktivierst mal die Webbox und startest den Server neu, dann werden die Dienste geladen und du kannst über den Browser prüfen ob und was läuft.

    https://ihr-it.support
    Bietet seit zwanzig Jahren Systemhaus Lösungen für kleine bis mittlere Kunden an.
    Auf meiner Homepage finden Sie Infos zu allen Zertifizierungen und Partnerschaften ;)
    Support Hotline: 07345 23 63 80

  • Diesen Fehler hatte ich heute auch. Das liegt nicht am Port sondern am Zertifikat. Bei der Aktualisierung in der Nacht ist in die wbcert.pem nur der RSA Private Key kopiert worden, der Rest aus der %domain%-chain.pem fehlte komplett. Bei erneuter manueller Ausführung war die wbcert dann wieder vollständig und konnte geladen werden.


    Komische Sache, ich habe dafür noch keinen Grund finden können.

  • Hatte ich auch schon, nach dem ich "timeout /t 5" unter "TASKKILL /IM python.exe /F" siehe Post 42 in die Update.bat eingefügt hatte lief es bis dato.

    https://ihr-it.support
    Bietet seit zwanzig Jahren Systemhaus Lösungen für kleine bis mittlere Kunden an.
    Auf meiner Homepage finden Sie Infos zu allen Zertifizierungen und Partnerschaften ;)
    Support Hotline: 07345 23 63 80

  • Du bekommst die Meldung von der Webbox, daher geht es um einen Dienst auf dem Server.


    Wenn du nen IIS drauf hast, dann kannst du das über den IIS Manager prüfen, ob er eine solche Bindung hat.


    Oder du deaktivierst mal die Webbox und startest den Server neu, dann werden die Dienste geladen und du kannst über den Browser prüfen ob und was läuft.

    Kann den Server nun im laufenen Betrieb nicht einfach neu starten ;) Es wird gearbeitet... Muss ich die Tage dann mal schauen.

    Diesen Fehler hatte ich heute auch. Das liegt nicht am Port sondern am Zertifikat. Bei der Aktualisierung in der Nacht ist in die wbcert.pem nur der RSA Private Key kopiert worden, der Rest aus der %domain%-chain.pem fehlte komplett. Bei erneuter manueller Ausführung war die wbcert dann wieder vollständig und konnte geladen werden.


    Komische Sache, ich habe dafür noch keinen Grund finden können.

    Was hast du manuell ausgeführt? Die Update.bat? oder was genau?

  • Den Update

    Die Aufgabe im Taskplaner. Genau die, die auch automatisch ausgeführt wird. Das macht die Sache ja so mysteriös.

    Hab ich nun auch mal manuell gestartet. Mal abwarten ;)


    EDIT:



    Code
    [2] Processing New SSL Connection: 00000548
    [2] SSL accept Failed: 00000548
    [2] Connection Terminated

    Hab ich nun öfter im Monitor stehen.
    Liegt das daran weil die eigentliche IP noch nicht auf die Sub domain bei einigen meiner Mitarbeiter umgestellt wurde am smartphone/tablet?

    Einmal editiert, zuletzt von lycra ()

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!