Dateien automatisiert auf Server verteilen, wie an besten/sichersten?

Rosendoktor

Well-Known Member
Hi,

ich hab mehrere Server die verschiedene Dienste (Web, Mail etc...) für mehrere Domains hosten. Jeder der Server holt sich seine Let's Encrypt Zertifikate automatisiert selbst für seine Domains.

Aber für eine Domain laufen auf zwei Servern Dienste. Das heisst, ich muss das Zertifikat und den zugehörigen Key irgendwie sicher, automatisiert und nicht interaktiv von dem Server, auf dem der Certbot das Zertifikat erneuert (Debian 10), auf den anderen (FreeBSD 12.1) bringen und dessen Dienste neu starten. Grundsätzlich kann Certbot das mit Hook Skripten.

Aber wie mache ich das am besten/sichersten in einem Skript? Mir fällt nur so eine Konstruktion aus unpriviligiertem User auf dem Zielserver, scp mit Key und ssh mit "sudo dienstname restart" ein. Scheint mir aber irgendwie suboptimal bzw. unsicher zu sein.

Bessere Ideen?

Grüße,

Robert
 
Warum nicht einen Reverse Proxy vorschalten, der TLS abwickelt?
Geht nur für https, oder nicht? Bei mir geht's primär um Mailserver (smpts, imaps), die sollen getrennt auf beiden Maschinen laufen und nicht auf den Domains für die Webdienste, sondern auf einer eigenen (entsprechend sind natürlich die MX RRs gesetzt für die Domains).

Am saubersten wäre wohl eine eigene Domain für den FreeBSD Mailserver, aber das kostet halt wieder extra insbesondere weil DNSSEC gewünscht ist.
 
Genau dafür sind CSRs da. Der Server generiert seinen Key lokal und lädt einen CSR hoch, den der Certbot-Server zu einem Zertifikat macht und dieses zum Download bereitstellt. So reduziert sich der Schutzbedarf der zu übertragenden Daten auf quasi nichts, da alles öffentlich sein kann.
 
Danke für Eure Antworten, hat ein bisschen gedauert bis ich mich darum kümmern konnte. Letztendlich hole ich für die Mailserver bzw. deren Hostnamen/Subdomains eigene Letsencrypt Zertifikate unabhängig von dem der eigentlichen Domain, und zwar auf dem jeweiligen Host selbst. Ist so am saubersten.

Dennoch, gerade rdist ist auch für andere Anwendungsfälle die ich regelmässig habe interessant, danke!

Grüße,

Robert
 
Nur als Anmerkung, falls jemand mal ein ähnliches Thema hat:

nginx kann sogar generisches TCP, falls es noch weitere Services gibt. In der Doku heißt das meist einfach "stream".

Das Einzige ist da, dass vhost-Themen je nach Protokoll, Implementierung, etc. spannend werden können.

Damit kann man übrigens auch eine HTTPS-Verbindung einfach nur durchreichen, falls die Verschlüsselung irgendwo upstream passiert, sollte man das brauchen.
 
Zurück
Oben