uschade
Goto Top

SSL-Zertifikat Hilfe benötigt

Guten Tag zusammen,

ich muss mich diese Tage mit einem für mich völlig neuem Thema befassen: SSL-Zertifikat.

Nachdem ich mich zuvor in grundlegende Geschichten bezüglich Linux Ubuntu Server und Rstudio Server Pro eingelesen habe und erfolgreich einen Server aufgesetzt habe, auf den ich auch von einem fremden Rechner aus zugreifen kann (sowohl über die IP-Adresse, als auch über den Domain-Name), gilt es jetzt eben Rstudio Pro Server mit einem SSL-Zertifikat abzusichern.

Was ich bisher gemacht habe:

- Wie schon beschrieben, den Server aufgesetzt, SSH Zugang eingerichtet (den Standardport dabei geändert), Authentifizierung via Username und PW deaktiviert
- Rstudio Server Pro installiert, den www-port Eintrag in der rserver.config Datei abgeändert
- Eine Subdomain beantragt, diese auch erhalten. Aufruf der Subdomain läuft, wenn im Rstudio Server Pro Config File der www-port auf 80 eingestellt ist. Dann öffnet sich im Browser die Rstudio Anmeldemaske. Der Standardport für Rstudio Server Pro ist in der Firewall geschlossen, weil ja in Zukunft per SSL Zertifizierung zugegriffen werden soll und somit sämtlicher Traffic über Port 443 abgewickelt werden soll.(So zumindest habe ich das verstanden...wenn jemand Erfahrung mit Rstudio Server Pro hat un das besser weiß, nehm ich gerne an, keine Frage)


Wo ich festsitze:

Ich habe auf dem Server certbot installiert. Das wird auf der Let's Encrypt Homepage als bester Weg empfohlen. Das ging so weit auch, also die Installation. Wenn ich jetzt allerdings das Zertifikat anfordere mit dem Befehl sudo certbot certonly --webroot bekomme ich eine Fehlermeldung, die so lautet:

"Challenge failed for domain [mydomain]
http-01 challenge for [mydomain]
Cleaning up challenges
Some challenges have failed.

Important notes:
- The following errors were reported by the server:

Domain: [mydomain]
Type: connection
Detail: Fetching
http://[mydomain]/.well-known/acme-challenge/[Mehrstelliger Buchstaben-Zahlencode]
Connection refused


Zuletzt bekomme ich noch einige Hinweise bezüglich des Fehlers und wie ich diesen beheben könnte, damit kann ich allerdings nicht so wirklich was anfangen:

To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. Additional, please check that your computer has a publicy routable IP address and that no firewalls are preventing the server from communication with the client. If you're using the webroot plugin, you should also verify that you are serving files from the webroot path you provided.

Der fett-gedruckte Teil ist es, der mich zweifeln lässt, da ich den Begriff "webroot path" nicht wirklich verstehe. Die Hinweise davor sind mir klar und das ist so auch alles gegeben, sonst würde ich den Server ja nicht wie oben beschrieben erreichen.

Ok, wenn jemand Ideen dazu hat...bitte gerne.
Danke schon mal allein fürs Lesen.

Grüße
Uwe

Content-Key: 666155

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

Printed on: May 29, 2024 at 05:05 o'clock

Member: varous555
varous555 Apr 27, 2021 at 14:00:54 (UTC)
Goto Top
Hey Uwe

Mit Let's Encrypt hatte ich mal ein Problem, dass die Firewall die Kommunikation mit den Let's Encrypt Servern blockierte. (War glaube ich sogar ATP oder IDP, schon ne Zeit her) Dadurch konnte dann das Zertifikat nicht ausgestellt werden.

Gruss Varous555
Mitglied: 148121
Solution 148121 Apr 27, 2021 updated at 19:59:42 (UTC)
Goto Top
Der fett-gedruckte Teil ist es, der mich zweifeln lässt, da ich den Begriff "webroot path" nicht wirklich verstehe.
Das ist der lokale Pfad aus dem der lokal laufende Webserver seine Dokumente ausliefert.
Aufruf der Subdomain läuft, wenn im Rstudio Server Pro Config File der www-port auf 80 eingestellt ist. Dann öffnet sich im Browser die Rstudio Anmeldemaske. Der Standardport für Rstudio Server Pro ist in der Firewall geschlossen, weil ja in Zukunft per SSL Zertifizierung zugegriffen werden soll und somit sämtlicher Traffic über Port 443 abgewickelt werden soll.
Für eine Validierung der Zertifikate des certbot muss für die Zeit der Erneuerung in der Firewall Port 80 geöffnet werden damit Let's Encrypt die challenge aus dem Webserver-Verzeichnis (.well-known/acme-challenge/[Mehrstelliger Buchstaben-Zahlencode]) abrufen kann. Wenn du also Port 80 dicht gemacht hast kann der Bot die Eigentümerschaft deiner Domain nicht validieren und das Ausstellen des Zertifikats schlägt fehl.
Der Port muss nicht dauerhaft geöffnet sein nur bei jeder Erneuerung muss dieser für die Eigentümer-Validierung der Domain geöffnet werden,

Gruß w
Member: bitnarrator
Solution bitnarrator Apr 27, 2021 at 14:07:12 (UTC)
Goto Top
Hallo,

bei der Webroot-Methode prüft Certbot, ob unter der angegeben URL eine Datei gefunden werden kann, die er voher erstellt hat... (Deswegen Webroot)...

Desweiteren will Certbot HTTP-Abfragen, das heißt über Port 80...

Ich persöhnlich verwende bei Certbot immer "Standalone", wo das Tool einen eigenen Dienst auf Port 80 aufmacht und deinen Server zu verifizieren - natürlich voher den Lokalen Webserver beenden (Da es ansonsten Portkonflikte gibt)

VG

bitnarrator
Member: stefaan
Solution stefaan Apr 27, 2021 at 14:36:02 (UTC)
Goto Top
Servus,

alternativ zur HTTP-Challenge könnte auch die DNS-Challenge hilfreich sein. Dann braucht am Server selbst nichts verändert werden.
Die Zertifikatsdateien musst du halt irgendwie in die Konfiguration des RStudio-Servers eintragen.
Oder du schaltest einen nginx als Proxy davor (das sind ein paar Hinweise, wenn man RStudio Server und letsencrypt sucht).

Grüße, Stefan
Member: SlainteMhath
Solution SlainteMhath Apr 28, 2021 at 06:00:46 (UTC)
Goto Top
Moin,

hast du den auf dem Server einen Webserver laufen? Wenn ja, dann verwende das entsprechende certbot plugin (idR apache oder nginx),. Wenn du keinen Webserver laufen hast, dann verwende die option "--standanalone"

lg,
Slainte
Member: Uschade
Uschade Apr 29, 2021 at 11:17:58 (UTC)
Goto Top
Hallo an alle,

vielen herzlichen Dank für Eure Hilfe. Das waren für mich sehr wertvolle Hinweise und die Einrichtung hat jetzt auch geklappt.
Bin den Weg ohne Proxy über die Option --standalone gegangen, das war sehr einfach.

Vielen Dank nochmal.

Grüße
Uwe