Re: [Exim-users-de] Lösung: exim.crt und key

Top Page
Delete this message
Reply to this message
Author: Martin Reising
Date:  
To: exim-users-de
Subject: Re: [Exim-users-de] Lösung: exim.crt und key
On Sun, Feb 16, 2020 at 03:32:52PM +0100, Jutta Wrage via Exim-users-de wrote:
> Hallo!
>
> Ich denke, es ist sinnvoll, zu schreiben, wie ich das Problem mit dem SSL-Key gelöst habe:
>
> Ein script in /usr/local/bin erstellt, daß im Letsencrypt-Verzeichnis auf einen neuen Key prüft und diesen bei Bedarf mit preserver-timestamps kopiert.
>
> Das ganze dann in cron.daily aufgerufen.
>
> Den Key ansehen kann man im Übrigen z. B. mit
>
> openssl x509 -text -noout -in /etc/exim4/exim.crt
>
> Da stehen dann unter anderem die Validity (von/bis) drin, der Herausgeber und die Namen der hosts, für die er gilt.


In meinem /usr/local/sbin/dehydrated-renew benutze ich nur -enddate

# get cert enddate Not After
endzert=$(openssl x509 -enddate -noout -in ${zert}/cert.pem | cut -d"=" -f2)
# convert to epoch -15 days
renew=$(date -d "${endzert} -15 days" "+%s")

Ansonsten überprüfe ich einfach stumpf alle letscrypt Zertifikate:

MYDH_BASE="/var/lib/dehydrated/certs"
for zert in ${MYDH_BASE}/*
do
...
done

> Auf die Idee mit dem Script und dem Cronjob hat mich das Debian-Buch von Heike Jurzik gebracht.
>
> Wichtig: Der Eigentümer muß bei Debian Debian-exim sein. Und der private Key natürlich nicht weltweit lesbar.
>
> Etwas besseres ist mir ohne Veränderung der Rechte im Verzeichnisbaum von letscrypt nicht eingefallen.


Das und einiges mehr lasse ich dehydrated in der Shellfunction
deploy_cert() in /etc/dehydrated/hook.sh erledigen. Ich habe mich
dafür entschieden die Berechtigung von /etc/ssl/private/ zu ändern und
das Zertifikat dort für die Gruppe Debian-exim lesbar zu machen:

        drwx--xr-x 2 root ssl-cert    4096 Feb  4 21:20 /etc/ssl/private/
        -rw-r----- 1 root Debian-exim 7314 Feb  4 21:20 /etc/ssl/private/union-letsencrypt.pem


In deploy_cert() sieht das dann so aus:

        # create new pem
    cat "${KEYFILE}" "${FULLCHAINFILE}" > "${my_target_pem}"
    # set owner & permissions
    chown root:Debian-exim "${my_target_pem}" && chmod 640 "${my_target_pem}"