Wie macht Ihr das bzgl. Zertifikat für die TLS-Verbindung?
Ich würde gern ein Let's Encrypt Zertifikat integrieren. Gibt es da schon Erfahrungswerte und ggf. ein How-To?
Machbar ist das doch sicherlich ...
Freue mich über den Austausch dazu.
VG
Jan
Wie macht Ihr das bzgl. Zertifikat für die TLS-Verbindung?
Ich würde gern ein Let's Encrypt Zertifikat integrieren. Gibt es da schon Erfahrungswerte und ggf. ein How-To?
Machbar ist das doch sicherlich ...
Freue mich über den Austausch dazu.
VG
Jan
annkatrin.goepfert : Gibt es da keine Info dazu? Nutzt das niemand? Ich denke, in einer Zeit, bei der Security immer wichtiger ist und weiter wird, sollte das Wegklicken von Zertifikatswarnmeldungen kein Standard mehr sein.
Wie löst Ihr das sonst so?
#ChatGPT meint dazu:
ZitatUm agorumcore mit einem SSL-Zertifikat von Let's Encrypt zu versehen, müssen Sie zunächst ein Zertifikat von Let's Encrypt für Ihre Domain erstellen. Hier ist eine Schritt-für-Schritt-Anleitung:
- Installieren Sie Certbot auf Ihrem Server. Certbot ist ein Werkzeug, das von Let's Encrypt bereitgestellt wird, um SSL-Zertifikate zu generieren und zu verwalten.
- Führen Sie Certbot aus und wählen Sie Ihre Webserver-Software aus. Folgen Sie den Anweisungen auf dem Bildschirm, um das Zertifikat zu generieren. Certbot sollte in der Lage sein, die erforderlichen Änderungen an Ihrer Webserver-Konfiguration vorzunehmen, um das Zertifikat zu aktivieren.
- Überprüfen Sie Ihre agorumcore-Konfigurationsdatei. Stellen Sie sicher, dass Ihre Konfigurationsdatei das neue SSL-Zertifikat verwendet. Öffnen Sie dazu die Datei /etc/agorumcore/server.conf und suchen Sie nach den folgenden Zeilen:
ssl_enable = true ssl_certfile = /path/to/your/certfile.crt ssl_keyfile = /path/to/your/keyfile.key
- Passen Sie diese Zeilen an, um das neue SSL-Zertifikat zu verwenden. Ersetzen Sie den Pfad zu Ihrem Zertifikat und Schlüsseldatei durch den Pfad zu den entsprechenden Dateien, die von Certbot generiert wurden. Wenn Sie die Standardpfade für Certbot verwenden, sollten die Zeilen folgendermaßen aussehen:
ssl_enable = true ssl_certfile = /etc/letsencrypt/live/yourdomain.com/fullchain.pem ssl_keyfile = /etc/letsencrypt/live/yourdomain.com/privkey.pem
- Starten Sie Ihren agorumcore-Server neu, damit die Änderungen wirksam werden.
Nachdem Sie diese Schritte ausgeführt haben, sollte Ihr agorumcore-Server mit einem SSL-Zertifikat von Let's Encrypt versehen sein. Sie können die Gültigkeit des Zertifikats mit einem SSL-Checker wie SSL Labs überprüfen, um sicherzustellen, dass alles ordnungsgemäß funktioniert.
Aber vielleicht gibt es ja was offizielles von Euch, bevor man sich damit die agorumcore-Installation zerschießt. Es geht ja auch darum, wie sich das Zertifikat autom. verlängern lässt. Ich möchte agorumcore ungern mit TCP80 und TCP443 ins Internet stellen, nur wegen des Zertifikates, wenn es doch sonst nur intern genutzt wird.
Hallo JanR ,
als frischgebackener agorumianer hab ich mich Deiner Frage einmal angenommen und dabei folgendes rausgefunden:
Tatsächlich sollte es kein Problem sein, für Deinen agorum core open Webserver ein SSL-Zertifikat über letsencrypt zu bekommen. Dafür kannst Du certbot mit letsencrypt verwenden (https://certbot.eff.org/), allerdings funktioniert das nur über Umwege, wenn Du versuchst eine lokale Domain bzw. einen lokalen Server zu sichern, denn die CA lehnt eine Zertifizierung für diese Adressen grundsätzlich ab.
Letsencrypt selbst spielt die Problematik diesem Link folgend (https://letsencrypt.org/de/docs/certificates-for-localhost/) selbst durch und kommt zu dem Ergebnis, dass hier nur selbst erstellte (und selbst gezeichnete) Zertifikate Abhilfe schaffen können, die allerdings entsprechend wenig vertrauenswürdig sind und nur in Entwicklungsumgebungen verwendet werden sollten.
Ich habe mir für morgen nochmal ein Zeitfenster reserviert und prüfe, ob man das Problem evtl. über einen lokalen DNS-Server in Verbindung mit einem NGINX- reverse Proxy umgehen kann. Ich komme dann nochmal auf Dich zu 😉
Bei Fragen oder Anregungen freue ich mich auf Deine Antwort hier im Forum!
Hi Oliver Kaufmann ,
wenn ich aber eine öffentliche Sub-Domain dafür einsetze, sollte es funktionieren, oder?
Vorgehen also:
Wäre das ein Ansatz? Dann würde ich es mal testen.
Korrekt, so sollte das problemlos funktionieren. Ich würde mich über eine Rückmeldung freuen, was Deine Tests ergeben haben.
Oliver Kaufmann , bisher leider nur mäßig erfolgreich.
Es findet aber weiterhin das Original-Zertifikat Verwendung:
Wo kann ich dem Webserver nur mitteilen, dass er dieses neue Zertifikat nutzen soll?
(Herausforderung wird dann noch, wie man per cron das ganze automatisiert. Denn niemand möchte alle 90 Tage per SSH den renew anstoßen. So etwas, bis auf das Thema DNS, wäre sicher sinnvoll im Admin-Tool von agorumcore.)
VG
Jan
Soweit ich weiss, muss das neue Zertifikat das alias "tomcat" haben.
Dazu musst du natürlich zuerst das alte zertifikat mit alias "tomcat" entfernen um dann das neue entsprechend hinzufügen zu können, da der alias unique sein muss.
Gut möglich, dass du dein *.pem-Zertifikat vorher in *.pfx konvertieren musst:
.\keytool -keypasswd -alias tomcat -keystore c:\Windows\System32\config\systemprofile\.keystore
Hallo Jan,
das ist in der Tat merkwürdig. Hattest Du den agorumcore.service während des Prozesses deaktiviert und anschließend den Webserver neu gestartet? Prüfe doch bitte auch einmal die Zuordnung des Zertifikats. Die müsstest Du (unter Debian) in der Konsole mit folgendem Befehl anzeigen lassen können:
Oliver Kaufmann , "sudo" ist über das terminal im Webfrontend nicht bekannt.
Ohne sudo sieht es so aus:
PS: Die vielen GIF in Deinem Beitrag sind alle schwarze Flächen ... 🤷♂️
Der Service war nicht deaktiviert (Steht das irgendwo? In der Doku habe ich das dann übersehen?).
Neustart agorumcore mittels stop/start aus /opt/agorum/agorumcore/scripts ist erfolgt.
volker.trotte hat oben noch etwas ausgeführt. Wie sieht es damit aus? Kommt ja zu 90% aus der offiziellen Doku. Soll ich das so umsetzen, Oliver Kaufmann ?
Ich möchte nur unnötiges Basteln vermeiden.
Danke und Grüße,
Jan
JanR danke für den Hinweis! Das mit den GIFs habe ich beim Posten gesehen, allerdings hab ich keine Ahnung, wo die herkommen, da muss ich später mal die Kollegin zu interviewen...mein Clipboard war eigentlich leer 🤨 zu Deiner Frage, Du kannst den sudo-Befehlssatz auch über die Konsole mit
nachträglich installieren. Die Anweisung, dass agorum während des Zertifizierungsprozesses nicht auf Port 80 laufen darf oder deaktiviert werden sollte, ist noch Teil einer internen Doku zu den letsencrypt-Zertifikaten, die aber aus offensichtlichen Gründen noch nicht veröffentlicht wurde.
Ich muss gestehen, dass ich noch nicht so tief in die administrative Doku von agorum vorgedrungen bin, aber es klingt für mich nachvollziehbar, dass wenn der Server für das Zertifikat einen bestimmten Alias erwartet, das ursprüngliche Zertifikat mit dem korrekten alias solange aktiv bleibt, bis es ersetzt wurde. Dementsprechend vielen lieben Dank für volker.trotte Input und ja, es wär es super, wenn Du das Testest und uns teilhaben lässt, ob das für Dich zur Lösung führt.
@Jan: Du bist nutzt doch schon den root-user, oder?. dann brauchst du auch kein sudo. sudo ist für "normale" user vorgesehen um erhöhte rechte zu bekommen. Aber root ist schon der Superuser innerhalb des systems - so wie es der roi-user innerhalb von agorum ist.
volker.trotte , ja, danke. Das wollte ich mit meiner Info auch transportieren, dass sudo in dem Kontext unnötig ist.
Ich versuche jetzt mal mein Glück mit Deiner Anleitung ...
volker.trotte Hier scheint die Doku nicht zu stimmen (auch wichtig für Euch, Oliver Kaufmann , denke ich):
Ist ja kein Windows, sondern ein 🐧.
Habt Ihr für mich hier den richtigen Befehl griffbereit?
Edit: Der dürfte es sein ".\keytool -keypasswd -alias tomcat -keystore /root/.keystore" (Aber die Doku passt dann trotzdem nicht!)
volker.trotte Hier scheint die Doku nicht zu stimmen (auch wichtig für Euch, Oliver Kaufmann , denke ich):
Ist ja kein Windows, sondern ein 🐧.
Habt Ihr für mich hier den richtigen Befehl griffbereit?
Edit: Der dürfte es sein ".\keytool -keypasswd -alias tomcat -keystore /root/.keystore" (Aber die Doku passt dann trotzdem nicht!)
Der Befehl ist schon der richtige, nur der Pfad ist in der falschen form angegen. müsste wohl
lauten
Edit: ahh erst jetzt gesehen, dass es dir schon aufgefallen ist
So long ... 🚀.
Großer Dank an volker.trotte !
Und wie bekommen wir das jetzt automatisiert?
⏰ cron für den CertBot alle 85-Tage ist ja augenscheinlich kein Thema mittels "renew".
Aber der Transfer in den agorumcore-Webserver ist ja offensichtlich aktuell nur manuell möglich.
PS Wie ist das denn, meinetwegen auch in der Bezahlversion, gelöst? Oder klicken ALLE agorumcore-Kunden die Sicherheitswarnungen weg bzw. installieren sich das enthaltene Zertifikat als vertrauenswürdige Stammzertifizierungsstelle. Wäre ja beides nicht so unbedingt optimal.
@Jan.
ZitatPS Wie ist das denn, meinetwegen auch in der Bezahlversion, gelöst? Oder klicken ALLE agorumcore-Kunden die Sicherheitswarnungen weg bzw. installieren sich das enthaltene Zertifikat als vertrauenswürdige Stammzertifizierungsstelle. Wäre ja beides nicht so unbedingt optimal.
Die meisten größeren Kunden (bei uns) haben über ihr Active Directory einfach eine eigene Stammzertifizierungsstelle aufgebaut (geht relativ einfach) und haben das Zertifikat dann via AD auf alle clients verteilt. und einmalig im agorum eingespielt.
ZitatAber der Transfer in den agorumcore-Webserver ist ja offensichtlich aktuell nur manuell möglich.
Alle Schritte die du grad gemacht hast, dürften auch automatisierbar sein. Das ist ja das schöne bei Linux.
einfach ein entsprechendes shell-script bauen und und per crontab o.ä. einbinden.
Ich danke Euch vielmals für Euren Beitrag! Die Doku wird gleich aktualisiert!
volker.trotte , ich versuche mich gerade an dem Skript.
Wie kann ich denn bei diesen Befehlen non-interactive arbeiten und die Kennwörter übergeben?
./keytool -importkeystore -srckeystore fullchain.pfx -srcstoretype pkcs12 -destkeystore /root/.keystore
(Hier brauche ich ja das Zielkeystore-Kennwort und das zuvor bei der Konvertierung definierte Quell-Keystore-Kennwort)
(Auch muss ich hier den Alias-Name/Nummer ermitteln und in einer Variable speichern)
./keytool -delete -alias tomcat -keystore /root/.keystore
(Hier brauche ich ja das Zielkeystore-Kennwort)
./keytool -changealias -alias 1 -destalias tomcat -keystore /root/.keystore
(Hier brauche ich wieder das Zielkeystore-Kennwort und das zuvor definierte Kennwort)
(Und ich brauche hier jetzt den in einer Variable gespeicherte Alias-Name/Nummer)
.\keytool -keypasswd -alias tomcat -keystore /root/.keystore
(Und hier brauch ich dann den Keystore-Wert, den Schlüsselwert und muss den neuen Schlüsselwert übergeben)
Da bin ich gerade "etwas" überfordert.
Kannst Du oder jemand vom agorumcore-Team ( Oliver Kaufmann ) hier helfen?
Noch kein Benutzerkonto? Registriere dich kostenlos und werde Teil von agorum Community!