Pure-ftpd certificato scaduto

ISPconfig non aggiorna il file dei certificati che utilizza per se e per pure-ftpd.
Il file è:  /usr/local/ispconfig/interface/ssl/ispserver.pem

Verificare se ispserver.pem è aggionato
#openssl x509 -in /usr/local/ispconfig/interface/ssl/ispserver.pem -noout -enddate

Se la data è passata, significa che il certificato è effettivamente scaduto.

#diff /usr/local/ispconfig/interface/ssl/ispserver.pem /etc/letsencrypt/live/mio.server.com/fullchain.pem

Se i file sono diversi, significa che ispserver.pem è obsoleto e deve essere aggiornato.

Forse ci sono altre soluzioni, come l'aggiornamento forzato di ispconfig, ma io sono un po' apprensivo, specialmente quando parte uno script complesso con molti comandi, ho quindi fatto cosi.

Possiamo aggiornarlo manualmente sostituendolo con il certificato Let’s Encrypt attuale.

Prima, facciamo un backup:
#cp /usr/local/ispconfig/interface/ssl/ispserver.pem /usr/local/ispconfig/interface/ssl/ispserver.pem.bak

Uniamo i due certificati nell'ordine indicato in ispserver.pem

#cat /etc/letsencrypt/live/mio.server.com/privkey.pem /etc/letsencrypt/live/mio.server.com/fullchain.pem > /usr/local/ispconfig/interface/ssl/ispserver.pem

sistemiamo eventualmente i permessi
#chmod 600 /usr/local/ispconfig/interface/ssl/ispserver.pem
#chown root:root /usr/local/ispconfig/interface/ssl/ispserver.pem

Possiamo riavviare solo il servere FTP
#systemctl restart pure-ftpd-mysql

ma per completezza (facoltativo) possiamo riavviare anche
#systemctl restart apache2
#systemctl restart postfix dovecot

#openssl s_client -connect mio.server.com:21 -starttls ftp

Se la data è corretta, allora Pure-FTPd sta finalmente usando il certificato giusto.

Ispconfig con il comando:

#ispconfig_update.sh --force

dovrebbe rigenerare anche ispserver.pem.

Ma in caso di problemi o se si vuole essere sicuri venga aggiornato, si potrebbe mettere il comando usato prima in crontab in modo che alle 03 di notte aggiorni i file e riavvi il servizio.

#echo "0 3 * * * root cat /etc/letsencrypt/live/mio.server.com/privkey.pem /etc/letsencrypt/live/mio.server.com/fullchain.pem > /usr/local/ispconfig/interface/ssl/ispserver.pem && systemctl restart pure-ftpd-mysql" >> /etc/crontab

MenuOver