Sicurezza SSL · 6 min read · Sep 25, 2025
Mettere in Sicurezza la Tua Installazione ISPConfig 3 Con un Certificato SSL Class1 Gratuito da StartSSL
Questo tutorial mostra come puoi utilizzare un certificato SSL Class1 gratuito da StartSSL per mettere in sicurezza la tua installazione ISPConfig 3 e liberarti degli avvisi sui certificati autofirmati. La guida tratta dell’uso del certificato SSL per l’interfaccia web di ISPConfig (sia Apache2 che nginx), Postfix (per connessioni TLS), Courier e Dovecot (per POP3s e IMAPs), e PureFTPd (per connessioni TLS/FTPES). Se hai installato monit e utilizzi HTTPS per la sua interfaccia web, ti mostrerò come utilizzare il certificato StartSSL anche per questo. Questa guida presuppone che tu utilizzi Debian o Ubuntu; il principio è lo stesso per altre distribuzioni supportate da ISPConfig 3, ma i percorsi potrebbero differire.
AGGIORNAMENTO 20/12/2017
La CA di StartSSL non è più fidata dai browser e smetterà di emettere certificati SSL il 1° gennaio 2018. Oggi è disponibile una buona alternativa, utilizza Let’s Encrypt invece di StartSSL per ottenere un certificato SSL gratuito. Qui puoi trovare istruzioni su come utilizzare un certificato SSL Let’s Encrypt per ISPConfig, Postfix, Dovecot, Courier, Monit e PureFTPD:
1 Nota Preliminare
Presumo che tu abbia utilizzato una delle guide di http://www.ispconfig.org/ispconfig-3/documentation/ per configurare il tuo sistema. Come ho già accennato, mi concentrerò su Debian/Ubuntu in questa guida, ma dovrebbe funzionare anche per altre distribuzioni supportate da ISPConfig 3 (potresti dover adattare alcuni percorsi però).
Utilizzerò il nome host server1.example.com qui; StartSSL ti consente di creare il certificato Class1 per il dominio principale e un sottodominio, quindi creerò il certificato per example.com e server1.example.com. Questo significa che devi dire ai tuoi utenti di utilizzare il dominio principale example.com o il sottodominio server1.example.com per tutti i servizi (interfaccia web ISPConfig, Postfix, Courier/Dovecot, PureFTPD, ecc.) perché altrimenti riceveranno avvisi sui certificati.
Se preferisci utilizzare nomi host diversi per i tuoi servizi (ad es. mail.example.com per Postfix, ispconfig.example.com per ISPConfig, ecc.), ti consiglio di ottenere un certificato Class2 da StartSSL. Non è gratuito, ma ti consente di crearlo per più sottodomini (puoi anche usare *.example.com per crearlo per tutti i sottodomini) e anche per più domini. Le istruzioni sono le stesse, tranne per il fatto che quando utilizzo il certificato intermedio sub.class 1.server.ca.pem di StartSSL, devi utilizzare sub.class 2.server.ca.pem invece. Sottolineerò questa differenza nel tutorial.
Sto eseguendo tutti i passaggi in questo tutorial con privilegi di root, quindi assicurati di essere loggato come root. Se utilizzi Ubuntu, esegui…
sudo su… per ottenere privilegi di root.
2 Creazione di una Richiesta di Firma del Certificato (CSR)
Abbiamo bisogno di una Richiesta di Firma del Certificato (CSR) per ottenere un certificato SSL da StartSSL. Poiché l’installer di ISPConfig (per versioni >= 3.0.4) crea comunque questo, utilizzerò questa CSR come base per crittografare tutti i servizi (ISPConfig, Postfix, ecc.).
Dalla versione 3.0.4 di ISPConfig, l’installer di ISPConfig offre l’opzione di utilizzare la crittografia SSL per l’interfaccia web di ISPConfig, crea un certificato autofirmato (4096bit) includendo una CSR se rispondi alla seguente domanda con ENTER o y:
Vuoi una connessione sicura (SSL) all’interfaccia web di ISPConfig (y,n) [y]: <– ENTER
Per far sì che l’installer di ISPConfig crei la CSR con i dati corretti, devi inserire i dettagli corretti quando vedi queste domande:
Generazione della chiave privata RSA, modulo lungo 4096 bit ……………………………………………………++ ……………………………………………………………++ e è 65537 (0x10001) Stai per essere invitato a inserire informazioni che saranno incorporate nella tua richiesta di certificato. Quello che stai per inserire è ciò che viene chiamato un Nome Distinto o DN. Ci sono diversi campi ma puoi lasciare alcuni vuoti. Per alcuni campi ci sarà un valore predefinito, Se inserisci ‘.’, il campo sarà lasciato vuoto.
Nome del Paese (codice di 2 lettere) [AU]: <– DE Nome dello Stato o Provincia (nome completo) [Some-State]: <– Niedersachsen Nome della Località (ad es., città) []: <– Lueneburg Nome dell’Organizzazione (ad es., azienda) [Internet Widgits Pty Ltd]: <– My Company Ltd. Nome dell’Unità Organizzativa (ad es., sezione) []: <– IT Nome Comune (ad es., IL TUO nome) []: <– example.com Indirizzo Email []: <– [email protected]
Si prega di inserire i seguenti attributi ‘extra’ che saranno inviati con la richiesta di certificato Una password di sfida []: <– ENTER Un nome aziendale opzionale []: <– ENTER scrittura della chiave RSA
Se hai inizialmente creato il certificato con i dati sbagliati, puoi aggiornare ISPConfig eseguendo…
ispconfig_update.sh…, oppure, se hai già installato l’ultima versione, esegui i seguenti comandi:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.phpQuesto ti permetterà di creare un nuovo certificato per la tua interfaccia web ISPConfig 3 rispondendo alla seguente domanda con sì:
Crea un nuovo certificato SSL ISPConfig (sì,no) [no]: <– sì
Se utilizzi una versione di ISPConfig precedente alla 3.0.4, dovresti ora aggiornare all’ultima versione stabile eseguendo…
ispconfig_update.shQuesto ti permetterà anche di creare una connessione SSL per la tua interfaccia web ISPConfig 3 rispondendo alla seguente domanda con sì:
Crea un nuovo certificato SSL ISPConfig (sì,no) [no]: <– sì
Come indicato sopra, assicurati di inserire i dettagli corretti.
Successivamente, dovresti avere una chiave SSL, una CSR e un certificato autofirmato nella directory /usr/local/ispconfig/interface/ssl/:
ls -l /usr/local/ispconfig/interface/ssl/root@server1:~# ls -l /usr/local/ispconfig/interface/ssl/
total 16
-rwxr-x--- 1 ispconfig ispconfig 2423 Jan 16 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 Jan 16 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 Jan 16 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 3311 Jan 16 13:28 ispserver.key.secure
root@server1:~#Tutto ciò di cui abbiamo bisogno in questo tutorial è la chiave privata (ispserver.key) e la CSR (ispserver.csr); sostituiremo ispserver.crt con il certificato Class1 di StartSSL. Puoi ignorare ispserver.key.secure.
È anche possibile creare ispserver.key e ispserver.csr dalla riga di comando come segue:
cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr(Questo non ti darà ispserver.crt, il che non importa poiché otterremo il nostro certificato firmato da StartSSL.)
La tua ispserver.csr dovrebbe essere simile a questa (ho oscurato grandi parti di essa perché questa è una CSR reale che utilizzo):
cat /usr/local/ispconfig/interface/ssl/ispserver.csr| -----BEGIN CERTIFICATE REQUEST----- MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWVkZXJzYWNo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz -----END CERTIFICATE REQUEST----- |
3 Ottenere il Tuo Certificato Class1 Gratuito da StartSSL
Ora vai su http://www.startssl.com/ e crea un account. Dopo aver convalidato il tuo dominio (nella scheda Validations Wizard), puoi richiedere il tuo certificato nella scheda Certificates Wizard - seleziona Web Server SSL/TLS Certificate dal menu a discesa Certificate Target:

Poiché abbiamo già una chiave privata e una CSR, possiamo saltare il passaggio successivo - clicca su Salta >>:

Nella pagina successiva, inserisci la tua CSR, cioè il contenuto del file /usr/local/ispconfig/interface/ssl/ispserver.csr (che inizia con —–BEGIN CERTIFICATE REQUEST—– e termina con —–END CERTIFICATE REQUEST—–):

Poi segui il resto della procedura guidata - ti chiederà un dominio e un sottodominio per i quali verrà creato il certificato. Se utilizzi server1.example.com per tutti i tuoi servizi, inserisci example.com come dominio e server1 come sottodominio.
Dopo pochi minuti, riceverai un’email che il tuo nuovo certificato è pronto. Vai su Toolbox > Recupera Certificato e seleziona il tuo certificato:

Copia il certificato dall’interfaccia web di StartSSL…

… e fai un backup del tuo file ispserver.crt originale e incolla il certificato Class1 di StartSSL nel file ispserver.crt (vuoto):
mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt| -----BEGIN CERTIFICATE----- MIIHMTCCBhmgAwIBAgIDxxxxxx0GCSqGSIb3DQEBBQUAMIGCMQswCQYDVQQGEwJJ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c2x1wonVRVmKovt2OuM1ZqZw0Ynk -----END CERTIFICATE----- |
Successivamente scarica il Root CA di StartSSL e il Class1 Intermediate Server CA:
cd /usr/local/ispconfig/interface/ssl
wget https://www.startssl.com/certs/ca.pem
wget https://www.startssl.com/certs/sub.class1.server.ca.pem(Se utilizzi un certificato Class2, scarica sub.class2.server.ca.pem invece di sub.class1.server.ca.pem).
Rinomina entrambi i file:
mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt(Adatta il secondo comando se utilizzi un certificato Class2.)
Alcuni servizi richiedono un file .pem che creiamo come segue (ancora una volta, assicurati di adattare i comandi se utilizzi un certificato Class2):
cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt
cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem
chmod 600 ispserver.pemRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.