Sicurezza SSL · 6 min read · Sep 24, 2025
Mettere in Sicurezza ISPConfig 3.1 Con un Certificato SSL Gratuito di Let's Encrypt
IMPORTANTE: Questa guida non è compatibile con ISPConfig 3.2 e versioni successive poiché ISPConfig 3.2 e versioni più recenti hanno Let’s Encrypt integrato per tutti i servizi. Il certificato SSL di Let’s Encrypt viene configurato automaticamente durante l’installazione, quindi non è più necessario configurare Let’s Encrypt manualmente per alcun servizio.
Autore: ahrasis
Questo tutorial mostra come creare e configurare un certificato SSL gratuito di Let’s Encrypt per l’interfaccia ISPConfig (porta 8080), il sistema email (Postfix e Dovecot/Courier), il server FTP (pure-ftpd) e Monit. I comandi in questo tutorial sono stati testati su Ubuntu 16.04, dovrebbero funzionare anche su Debian. Potrebbero essere necessarie alcune modifiche per farlo funzionare su CentOS.
Aiuto su questa guida è disponibile in questo thread del forum.
Creare un Sito Utilizzando il Nome Host FQDN del Server ISPConfig
Crea un sito per il tuo server nel pannello ISPConfig tramite Siti > Sito Web > Aggiungi nuovo sito web. Ricorda! Questo è il sito web del tuo server e come tale deve contenere il nome di dominio completamente qualificato (FQDN) del tuo server. Lo chiamerò hostname -f in questa guida.
hostname -fSperiamo che funzioni senza alcuna modifica al tuo server.
Accedere al Sito Web ISPConfig Online
Controlla se il sito del tuo server è pronto e accessibile online poiché Let’s Encrypt deve verificare che il tuo sito web sia accessibile prima di emettere la chiave SSL, il certificato e il file della catena per il tuo sito del server. Devi anche creare la sua zona DNS e consentire che si propaghi correttamente poiché Let’s Encrypt deve verificarlo anche.
Abilitare SSL per il Pannello di Controllo ISPConfig 3 (Porta 8080)
Se non hai abilitato SSL durante la configurazione di ISPConfig, cioè per il suo pannello di controllo sulla porta 8080, abilitalo digitando ispconfig_update.sh nel terminale e seleziona sì per SSL. Non abbiamo bisogno che questo sia una chiave corretta né vogliamo mantenerla, ma vogliamo lavorare più velocemente, quindi possiamo semplicemente premere invio per tutti i suoi campi. Quando hai finito, l’SSL auto-firmato dovrebbe già essere abilitato per il tuo ISPConfig.
Controllare SSL per il Pannello di Controllo ISPConfig 3 (Porta 8080)
Controlla il tuo browser per confermare aprendo il pannello di controllo ISPConfig sulla porta 8080. Nota che potresti ricevere un avviso in questa fase poiché i file SSL creati sono auto-firmati, ma il browser confermerà che il tuo ISPConfig ha SSL abilitato o meno.
Mettere in Sicurezza il Sito Web ISPConfig Con SSL di Let’s Encrypt
Se quanto sopra è stato fatto, torna a Pannello ISPConfig > Siti > Sito Web > Nome Sito Web, quindi fai clic sui pulsanti di controllo SSL e Let’s Encrypt e salva - per creare i file SSL di Let’s Encrypt e abilitarli per il tuo sito del server. Se ha successo, il tuo sito del server utilizzerà ora questi file SSL di Let’s Encrypt ma non la tua pagina ISPConfig 8080. Se non ha successo, non sarai in grado di procedere ulteriormente, quindi controlla il suo file di log per un indizio.
Cambiare il Pannello di Controllo ISPConfig 3 (Porta 8080)
Se SSL LE è già funzionante, vai al terminale del tuo server, diventa root tramite sudo su e usa il seguente comando per eseguire il backup e sostituire i file SSL auto-firmati creati con i file SSL di Let’s Encrypt.
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.crt ispserver.crt-$(date +"%y%m%d%H%M%S").bak
mv ispserver.key ispserver.key-$(date +"%y%m%d%H%M%S").bak
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /etc/letsencrypt/live/$(hostname -f)/fullchain.pem ispserver.crt
ln -s /etc/letsencrypt/live/$(hostname -f)/privkey.pem ispserver.key
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem- Se non hai creato ispserver.pem prima, puoi ignorare la terza riga che è mirata a rinominare quella esistente, se presente, come backup.
- Nota che stiamo usando la cartella live di Let’s Encrypt invece della cartella di archivio.
- Nota anche l’ultima riga dove ispserver.pem viene creato combinando i file, quindi non verrà rinnovato automaticamente da Let’s Encrypt a differenza degli altri file che abbiamo semplicemente collegato, quindi ci occuperemo di questo nell’ultima parte di questa guida.
- Nota anche che puoi digitare
hostname -fo server1.example.com poiché il risultato è lo stesso perchéhostname -fè server1.example.com.
Utilizzare Gli Stessi Certificati SSL di Let’s Encrypt per Altri Servizi Principali
Come suggerimenti aggiuntivi, basati su Mettere in Sicurezza la Tua Installazione ISPConfig 3, potresti voler utilizzare un symlink a ispserver.key o .crt o .pem invece di puntare direttamente il tuo postfix, dovecot, courier, pure-FTPd e monit ai file SSL di Let’s Encrypt. Per dovecot, se sta già utilizzando i file SSL di postfix, è sicuro per te ignorarlo. In dettaglio, devi solo fare quanto segue:
a. Per Postfix
cd /etc/postfix/
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert
ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key
service postfix restart
service dovecot restartb. Per dovecot: (* Nota che questo non dovrebbe esistere insieme a courier)
Controlla se questo codice esiste utilizzando nano /etc/dovecot/dovecot.conf
[...]
ssl_cert = Lasciali come sono se esistono. Altrimenti, sistemali. In ogni caso, eseguire service dovecot restart è già coperto sopra.
c. Per courier: (* Nota che questo non dovrebbe esistere insieme a dovecot)
cd /etc/courier/
mv imapd.pem imapd.pem-$(date +"%y%m%d%H%M%S").bak
mv pop3d.pem pop3d.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem imapd.pem
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pop3d.pem
service courier-imap-ssl stop
service courier-imap-ssl start
service courier-pop-ssl stop
service courier-pop-ssl startd. Per pure-FTPd:
cd /etc/ssl/private/
mv pure-ftpd.pem pure-ftpd.pem-$(date +”%y%m%d%H%M%S”).bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem
chmod 600 pure-ftpd.pem
service pure-ftpd-mysql restart
e. Per monit: (Se lo hai installato nel tuo server)
nano /etc/monit/monitrcAggiungi il symlink sopra a ispserver.pem che abbiamo creato per pure-ftpd anche qui:
[...]
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/private/pure-ftpd.pem
allow admin:'secretpassword'
[...]E riavvia monit:
service monit restartCreare uno Script di Rinnovo Automatico per il Tuo File Pem ISPConfig (ispserver.pem)
In quest’ultimo passaggio, che non ho trovato in nessuna guida finora, c’è l’aggiornamento automatico di ispserver.pem come accennato in precedenza. Attualmente, deve essere cambiato manualmente subito dopo che Let’s Encrypt ha rinnovato automaticamente i file SSL del tuo server. Per evitare di trascurarlo, potresti voler installare incron come suggerito nel rispettivo tutorial incron e creare uno script per aggiornare automaticamente il tuo file ispserver.pem, come segue:
Via comando terminale, installa incron, quindi crea il file di script ed editalo utilizzando nano:
apt install -y incron
nano /etc/init.d/le_ispc_pem.shAggiungi questo in le_ispc_pem.sh:
#!/bin/sh
### BEGIN INIT INFO
# Provides: LE ISPSERVER.PEM AUTO UPDATER
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: LE ISPSERVER.PEM AUTO UPDATER
# Description: Aggiorna ispserver.pem automaticamente dopo che i certificati ISPC LE SSL sono stati rinnovati.
### END INIT INFO
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem
chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart
service monit restart
service postfix restart
service dovecot restart
service nginx restart- Nota che alcune persone non installano monit, quindi possono rimuoverlo in sicurezza. Regola lo script sopra di conseguenza.
- Per una configurazione multi-server, fai riferimento al post #203 e aggiungi il codice scp fornito qui per automatizzare l’aggiornamento futuro.
Poi lo rendiamo eseguibile, aggiungiamo root come utente autorizzato per incrontab e poi modifichiamo il file incrontab:
chmod +x /etc/init.d/le_ispc_pem.sh
echo "root" >> /etc/incron.allow
incrontab -eAggiungi questa riga in incrontab:
/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.shRiavviare i Tuoi Servizi
Penso che sia tutto per Mettere in Sicurezza il Tuo Server Con Let’s Encrypt. Potresti voler riavviare il tuo server web dopo.
service nginx restartRicorda: se stai usando apache, cambia nginx in apache2 di conseguenza.
LE4ISPC
Come alternativa, potresti voler utilizzare lo script LE4ISPC creato per questo scopo che supporta sia nginx che apache2 da ISPConfig fino a pure-ftpd sopra, tranne per monit. Prima di usarlo, dovresti già aver completato i passaggi sopra (1-5) e avere:
- Creato il sito web per il tuo server tramite ISPConfig;
- Il sito web accessibile online;
- SSL ISPConfig abilitato (tramite installazione o aggiornamento);
- LE SSL abilitato con successo per il sito web.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.