• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

acme.sh - Prinzipfragen

peterle

Forenkasper
Themenstarter #1
Ich habe bis dato nur letsencrypt genutzt und nun mal acme.sh installiert.

Der holt auch brav seine Sachen über webserver ab und speichert alles in /var/db/acme/.acme ab. Besitzer ist acme:acme ...

So weit so einfach.
Nun gibt es darin ein Verzeichnis "deploy", welches nur wenig fertige Skripte bietet, die dann die Zertifikate an alle möglichen und unmöglichen Stellen kopieren. Für apache und OpenSSH z.B., die aber beide noch nicht fertig sind.

acme.sh kann als cron eingebunden werden und kann dann, einen Befehl ausführen, wenn - und nur wenn - es ein neues Zertifikat runterzieht.
Nun wäre meine Idee dazu, ein einfaches sh-Skript zu schreiben, das mir die Zertifikate an alle Stellen packt, wo ich welche brauche und diese auch direkt den korrekten Nutzern zuordnet, also z.B. www für den apache und root für den ssl.

Macht das schon einer oder gibt es "einfachere" Lösungen?
 

KobRheTilla

used register
#2
und diese auch direkt den korrekten Nutzern zuordnet, also z.B. www für den apache und root für den ssl.
Private Schlüssel sollten in der Regel root gehören und nur von diesem lesbar sein. Beim Apache zum Beispiel ist das kein Problem. Niemals aber sollte ein Zertifikat/Schlüssel einem Nutzer (ungleich root) gehören und Schreibrechte für diesen User erhalten.
Desweiteren ist es unnötig, die Dateien zu kopieren - ich würde mit Symlinks arbeiten.

Rob
 

peterle

Forenkasper
Themenstarter #3
Private Schlüssel sollten in der Regel root gehören und nur von diesem lesbar sein. Beim Apache zum Beispiel ist das kein Problem. Niemals aber sollte ein Zertifikat/Schlüssel einem Nutzer (ungleich root) gehören und Schreibrechte für diesen User erhalten.
Desweiteren ist es unnötig, die Dateien zu kopieren - ich würde mit Symlinks arbeiten.
Irgendeinen Tod muß man Sterben. Bei ejabberd war ja genau das Problem, daß ejabberd Zertifikate, die root gehören nicht lesen wollte. Erst das Zertifikat einer eigenen user Gruppe zuordnen und ejabberd auch dort reinwerfen, brachte dann die Lösung.

Du hast aber durchaus recht, ich wehre mich innerlich gegen diese ganze Verschieberitis.
 

mapet

Active OpenBSD User
#4
Ich nehm arme-client aus dem openbsd base system dazu. Drumrum ein Skript, was je nach Return Code Dienste neu startet (Webserver, postifx und dovecot). Die Zertifikate und keys liegen unterhalb von /etc/ssl/acme.
 

Athaba

Libellenliebhaber
Mitarbeiter
#5
Wg. Shellskript schreiben. Kennst du dehydrated? Das ist ebenfalls ein Shell-Ding (bash oder zsh in den Ports). Was daran nett ist, ist dass es ziemlich nettes System für "Hooks" hat: https://github.com/lukas2511/dehydrated/blob/master/docs/examples/hook.sh

Das hat mir mal bei einem relativ komplexen Setup für ein größeres System ein wenig Arbeit erspart. Nur, solltest du dir das ansehen: Die periodic-Option für das Skript entspricht nicht dem Hook File. Kann eventuell ein wenig verwirrend sein.

Das könnte mitunter das Selbe wie acme.sh bringen nur einfacher von der Verwendung sein, weil da schon ein bisschen was vordefiniert ist.