GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Protezione di ISPConfig 3.1 con un certificato SSL gratuito Lets Encrypt

IMPORTANTE :Questa guida non è compatibile con ISPConfig 3.2 e versioni successive poiché ISPConfig 3.2 e versioni successive hanno Let's encrypt per tutti i servizi integrati. Il certificato SSL Let's encrypt viene configurato automaticamente durante l'installazione, quindi non è più necessario configurare Let's encrypt per nessun servizio manualmente.

Autore: ahrasis

Questo tutorial mostra come creare e configurare un certificato SSL Let's encrypt gratuito per l'interfaccia ISPconfig (porta 8080), il sistema di posta elettronica (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 per Debian. Potrebbero essere necessarie alcune modifiche per farlo funzionare su CentOS.

L'aiuto su questa guida è disponibile in questo thread del forum.

Creazione di un sito Web utilizzando l'FQDN del nome host del server ISPConfig

Crea un sito per il tuo server nel pannello ISPConfig tramite Siti> Sito web> Aggiungi nuovo sito web . Ricordare! Questo è il sito Web del tuo server e come tale deve contenere il nome di dominio completo (FQDN) del tuo server. In questa guida lo chiamerò `hostname -f`.

hostname -f

Si spera che funzioni anche senza alcuna modifica al tuo server.

Accesso al sito Web ISPConfig online

Verifica se il tuo sito server è pronto e accessibile online poiché Let's Encrypt deve verificare che il tuo sito Web sia accessibile prima di emettere chiave SSL, certificato e file di catena per il tuo sito server. Devi anche creare la sua zona DNS e consentirgli di propagarsi correttamente poiché anche Let's Encrypt deve verificarlo.

Abilitazione di SSL per il pannello di controllo ISPConfig 3 (porta 8080)

Se non hai abilitato SSL durante la configurazione di ISPConfig, ad esempio per il suo pannello di controllo alla porta 8080, abilitalo digitando ispconfig_update.sh nel terminale e seleziona yes per SSL. Non abbiamo bisogno che questa sia una chiave adeguata né vogliamo conservarla, ma vogliamo lavorare più velocemente, quindi possiamo semplicemente entrare per tutti i suoi campi. Al termine, l'SSL autofirmato dovrebbe essere già abilitato per ISPConfig.

Controllo SSL per il pannello di controllo ISPConfig 3 (porta 8080)

Controlla il tuo browser per confermare aprendo il pannello di controllo di ISPConfig alla porta 8080. Nota che potresti ricevere un avviso in questa fase poiché i file SSL creati sono autofirmati ma il browser confermerà che il tuo ISPConfig ha SSL abilitato o meno.

Sicurezza del sito Web ISPConfig con Let's Encrypt SSL

Se è stato fatto quanto sopra, torna al pannello ISPConfig> Siti> Sito web> Nome sito web , quindi fai clic su SSL e Crittografiamo controlla i pulsanti e salva - per creare file Let's Encrypt SSL e abilitarli per il tuo sito server. In caso di successo, il tuo sito server ora utilizzerà questo file Let's Encrypt SSL ma non la tua pagina ISPConfig 8080. In caso contrario, non sarai in grado di procedere oltre, quindi controlla il suo file di registro per un indizio.

Modifica del pannello di controllo di ISPConfig 3 (porta 8080)

Se LE SSL sta già funzionando, vai al terminale del tuo server, esegui il root tramite sudo su e usa il seguente comando per eseguire il backup e sostituire i file SSL autofirmati creati con i file Let's Encrypt SSL.

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 mai creato ispserver.pem prima, puoi ignorare la terza riga che mira a rinominare quella esistente, se presente, come backup.
  • nota che stiamo usando la cartella live Let's Encrypt invece della cartella di archivio.
  • Nota anche l'ultima riga in cui ispserver.pem viene creato combinando i file, quindi non verrà automaticamente rinnovato da Let's Encrypt a differenza di altri file a cui li abbiamo semplicemente collegati in modo simbolico, quindi ci occuperemo di questo nell'ultima parte di questa guida.
  • Nota anche che puoi digitare `hostname -f` o server1.example.com poiché il risultato è lo stesso perché `hostname -f`è server1.example.com.

Utilizzo dei certificati SSL Let's Encrypt per altri servizi principali

Come suggerimenti aggiuntivi, in base alla protezione dell'installazione di ISPConfig 3, potresti voler utilizzare il collegamento simbolico a ispserver.key o .crt o .pem invece di puntare direttamente il tuo postfix, dovecot, corriere, pure-FTPd e monit ai file Let's Encrypt SSL. Per dovecot, se sta già utilizzando file SSL postfissi, è sicuro ignorarlo. Nel 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 restart


b. Per dovecot:(* Nota che non dovrebbe esistere insieme al corriere)

Verifica se questo codice esiste utilizzando nano /etc/dovecot/dovecot.conf

[...]
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
[...]

Lasciali come sono se esistono. Altrimenti, aggiustali. In ogni caso, l'esecuzione del servizio dovecot restart è già trattato sopra.

c. Per il corriere:(* Nota che 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 start

d. Per FTPd puro:

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
servizio pure-ftpd-mysql restart

e. Per monit:(se lo hai installato sul tuo server)

nano /etc/monit/monitrc

Aggiungi anche il collegamento simbolico sopra a ispserver.pem che abbiamo creato per pure-ftpd qui:

[...]
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/private/pure-ftpd.pem
allow admin:'secretpassword'
[...]

E riavvia monit:

service monit restart


Crea script di rinnovo automatico per il tuo file Pem ISPConfig (ispserver.pem)

In quest'ultimo passaggio, che finora non ho trovato in nessuna guida, c'è l'aggiornamento automatico di ispserver.pem come accennato in precedenza. Attualmente, deve essere modificato manualmente subito dopo che Let's Encrypt ha rinnovato automaticamente i file SSL del tuo server. Per evitare di ignorarlo, potresti voler installare incron come suggerito nel rispettivo tutorial su incron e creare uno script per aggiornare automaticamente il tuo file ispserver.pem, come segue:

Tramite il comando del terminale, installa incron, quindi crea il file di script e modificalo utilizzando nano:

apt install -y incron
nano /etc/init.d/le_ispc_pem.sh

Aggiungi 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: Update ispserver.pem automatically after ISPC LE SSL certs are renewed.
### 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. Modifica lo script sopra di conseguenza.
  • Per la configurazione multi-server, fai riferimento al post n. 203 e aggiungi qui il codice scp fornito per automatizzare gli aggiornamenti futuri.

Quindi lo rendiamo eseguibile, aggiungiamo root come utente consentito per incrontab e quindi modifichiamo il file incrontab:

chmod +x /etc/init.d/le_ispc_pem.sh
echo "root" >> /etc/incron.allow
incrontab -e


Aggiungi questa riga in esso incrontab:

/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.sh

Riavvio dei servizi

Penso che sia tutto per proteggere il tuo server con Let's Encrypt. Potresti voler riavviare il tuo server web in seguito.

service nginx restart

Ricorda:se stai usando apache, cambia nginx in apache2 di conseguenza.

LE4ISPC

In alternativa, potresti utilizzare lo script LE4ISPC creato per questo scopo che supporta sia nginx che apache2 da ISPConfig fino a pure-ftpd sopra, ad eccezione di monit. Prima di utilizzarlo, dovresti aver già completato i passaggi precedenti (1-5) e disporre di:

1. Crea il sito web per il tuo server tramite ISPConfig;
2. Il sito web accessibile online;
3. ISPConfig SSL abilitato (tramite installazione o aggiornamento);
4. LE SSL abilitato con successo per il sito web.


Ubuntu
  1. SSL gratuito per Nginx su Centos di Let's encrypt

  2. Come proteggere un account abilitato per cPanel con un certificato SSL Lets Encrypt

  3. Come gestire i certificati Lets Encrypt SSL/TLS con certbot

  4. Iniziare con acme.sh Lets Encrypt SSL client

  5. I 7 migliori servizi di certificati SSL gratuiti

Come installare SuiteCRM con Apache e Lets Encrypt SSL gratuito su Debian 11

Come installare InvoicePlane con Apache e Free Lets Encrypt SSL Certificate su Debian 11

Protezione del server di posta gestito da ISPConfig 3 con un certificato SSL Lets Encrypt valido

Protezione dell'installazione di ISPConfig 3 con un certificato SSL Class1 gratuito di StartSSL

Come installare Gitea con Nginx e Lets Encrypt SSL gratuito su Ubuntu 20.04

Installa e configura Webmin con il certificato SSL Let's Encrypt gratuito su Debian 10