GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Proteggi ISPConfig 3 e servizi con il certificato firmato GoDaddy su CentOS

Sicurezza ISPConfig 3 e servizi con il certificato firmato GoDaddy su CentOS

Impostiamo un certificato firmato da GoDaddy per il pannello di controllo ISPConfig, Pure-FTPD, Postfix, Dovecot, phpMyAdmin e Squirrelmail. Non dimenticare di sostituire pluto.example.com con il tuo FQDN in tutta questa sezione!ISPConfig creato automaticamente una chiave SSL, CSR e un certificato autofirmato nella directory /usr/local/ispconfig/interface/ssl/ quando abbiamo risposto y a Vuoi una connessione sicura (SSL) all'interfaccia web ISPConfig (y,n) [y]:.Se abbiamo risposto no a questa domanda, potremmo comunque crearli eseguendo i seguenti passaggi:

  1. Cambia la directory in /usr/local/ispconfig/interface/ssl/
  2. Crea una chiave e una richiesta di firma del certificato
  3. Crea un certificato autofirmato
  4. Modifica le autorizzazioni di lettura/scrittura/esecuzione sui file del certificato
  5. Cambia la proprietà sui file del certificato

Digita le seguenti righe nella finestra del tuo terminale SSH:

cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 3650 -nodes -keyout ispserver.key -out ispserver.csr
openssl x509 -req -days 3650 -in ispserver.csr -signkey ispserver.key -out ispserver.crt
chmod 750 ispserver.*
chown ispconfig:ispconfig ispserver.*

Innanzitutto, dobbiamo accedere al nostro account GoDaddy e acquistare un certificato SSL. Ho acquistato il certificato SSL standard a dominio singolo per due anni. Questo certificato copre pluto.example.com e www.pluto.example.com.Se non lo hai un account GoDaddy, creane uno e quindi acquista un nuovo certificato SSL standard a dominio singolo come mostrato di seguito:

Il tuo credito per il tuo nuovo certificato SSL di solito non viene visualizzato immediatamente nel tuo account GoDaddy. Dopo aver atteso circa 5 minuti, il credito del certificato SSL è apparso nel mio account con un altro certificato SSL che ho precedentemente acquistato e configurato. Dice Standard (Turbo) SSL (2 anni) (annuale) e ha il seguente aspetto:

GoDaddy ti fa attivare il credito per il nuovo certificato prima di poter iniziare a configurarlo. Per attivare il certificato, fai clic sul pulsante Imposta accanto al credito SSL come mostrato di seguito:

Quindi ti verrà chiesto di selezionare quale credito SSL stai attivando. Sarà simile al seguente:

Ci sono numerosi bug nel software GoDaddy in questa pagina. Non allarmarti però. Tutto funzionerà! Dirà "Configurazione gratuita del prodotto" e "Tipo di account:gratuito con Turbo SSL". Potrebbe sembrare molto strano per te, dal momento che abbiamo appena pagato per il certificato SSL. Ti chiederà anche "Quale dominio vuoi associarti a questo account Certificati SSL?"Tuttavia, non ci sono domini elencati nella casella di selezione.I crediti SSL non attivati ​​sono elencati nella casella entro la data in cui scadono.Se si dispone di numerosi certificati SSL non attivati, effettuare assicurati di selezionare quello corretto.La data indicata sul mio credito non attivato non è corretta!Una volta selezionato il credito corretto, fai clic sul pulsante Imposta.Dovresti visualizzare un messaggio che ti informa che l'attivazione è andata a buon fine come il seguente:

Il tuo credito SSL è ora attivato e pronto per iniziare a essere configurato. Sarà elencato nel tuo account GoDaddy come "NUOVO CERTIFICATO", come il seguente:

Nota che la data di scadenza sul certificato è cambiata, ma è ancora errata. Non preoccuparti. Verrà corretto alla fine. Fai clic sul pulsante Avvia accanto al certificato SSL nel tuo account GoDaddy, come mostrato di seguito:

Ti verranno richieste alcune informazioni per impostare le opzioni di hosting del tuo certificato SSL. Assicurati che l'opzione "Di terze parti, o Server dedicato o Server dedicato virtuale, senza Pannello di controllo semplice" sia selezionata. Quindi, copia e incolla la tua CSR nella finestra , comprese le righe -----BEGIN CERTIFICATE REQUEST----- e -----END CERTIFICATE REQUEST-----. Per copiare la tua CSR, digita la seguente riga nella finestra del tuo terminale SSH:

cat /usr/local/ispconfig/interface/ssl/ispserver.csr

Assicurati di incollare l'intero contenuto della CSR nella casella CSR di GoDaddy. Ho sostituito il mio testo CSR effettivo con x nello screenshot. Dovrebbe essere simile al seguente:

Fai clic sul pulsante Avanti. Vedrai un messaggio che dice "Il tuo dominio è stato convalidato. Continua con il passaggio di conferma". Sarà simile al seguente:

Proteggi ISPConfig 3 e servizi con il certificato firmato GoDaddy su CentOS - Pagina 2

Fai clic sul pulsante Avanti. Ora vedrai la schermata di conferma come la seguente:

Fai clic sul pulsante Avanti. Ora vedrai il What Now? schermata come la seguente:

Fai clic sul pulsante Fine. Ora sei nel pannello di controllo SSL di GoDaddy. Il tuo certificato potrebbe essere visualizzato subito o meno. Attendi un paio di minuti, quindi fai clic sul collegamento Certificati nella barra di navigazione a sinistra. Quando il tuo certificato viene visualizzato nell'elenco, il ora viene mostrata la data corretta per il tuo certificato. Ora, seleziona il certificato e fai clic sul pulsante Download nella parte superiore dell'elenco come mostrato di seguito:

Ora, seleziona Apache dal menu e fai clic sul pulsante Download come mostrato di seguito:

Salva l'archivio zippato sul tuo computer. Ora estrai l'archivio zippato sul tuo computer. I 2 file estratti dall'archivio zip possono essere visualizzati e copiati utilizzando un editor di testo come Blocco note su Windows.

Se hai acquistato un tipo di certificato diverso dal certificato SSL standard a dominio singolo, potresti dover scegliere un file chain diverso dal file gd_bundle.crt utilizzato in questo capitolo. Il repository dei certificati di GoDaddy si trova all'indirizzo https://certs.godaddy.com /anonimo/repository.pki.

Ora creiamo i file per i nostri nuovi certificati eseguendo i seguenti passaggi:

  1. Cambia la directory in /usr/local/ispconfig/interface/ssl/
  2. Copia la richiesta di firma del certificato
  3. Copia la chiave
  4. Copia il certificato
  5. Copia il certificato
  6. Cancella il contenuto del certificato
  7. Cambia i permessi di lettura/scrittura/esecuzione sui file del certificato
  8. Cambia la proprietà sui file del certificato
  9. Scarica il certificato GoDaddy
  10. Modifica le autorizzazioni di lettura/scrittura/esecuzione sul certificato GoDaddy
  11. Cambia la proprietà sul certificato GoDaddy

Non dimenticare di sostituire il tuo nome host nei seguenti esempi. Digita le seguenti righe nella finestra del tuo terminale SSH:

cd /usr/local/ispconfig/interface/ssl/
cp ispserver.csr pluto.example.com.csr
cp ispserver.key pluto.example.com.key
cp ispserver.crt openssl.pluto.example.com.crt
cp ispserver.crt pluto.example.com.crt
cat /dev/null> pluto.example.com.crt
chmod 750 *example. com*
chown ispconfig:ispconfig *example.com*
wget -O gd_bundle.crt "https://certs.godaddy.com/anonymous/repository.pki?streamfilename=gd_bundle.crt&actionMethod=anonymous% 2Frepository.xhtml%3Arepository.streamFile%28%27%27%29"
chmod 750 gd_bundle.crt
chown ispconfig:ispconfig gd_bundle.crt

Ora, inseriamo il certificato firmato GoDaddy sul server modificando il file pluto.example.com.crt. Digita la seguente riga nella finestra del tuo terminale SSH:

vi pluto.example.com.crt

Usando un editor di testo, copia l'intero contenuto del tuo nuovo certificato GoDaddy firmato che hai appena scaricato da GoDaddy ed estratto dall'archivio zip.Incolla il contenuto nel file pluto.example.com.crt nella finestra del tuo terminale SSH.

Ora creiamo il file pem chain utilizzato da alcuni servizi eseguendo i seguenti passaggi:

  1. Copia il contenuto della chiave, del certificato e dei file GoDaddy nel file pem
  2. Cambia i permessi di lettura/scrittura/esecuzione sul file pem

Digita le seguenti righe nella finestra del tuo terminale SSH:

cat pluto.example.com.{key,crt} gd_bundle.crt> pluto.example.com.pem
chmod 600 pluto.example.com.pem

Ora dovresti avere un set completo di certificati da usare. Diamo un'occhiata e assicurati che i certificati siano tutti in ordine. Digita la seguente riga nella finestra del tuo terminale SSH:

ls -la

L'output dovrebbe essere simile al seguente:

[[email protected] ssl]# ls -la
totale 48
drwxr-x--- 2 ispconfig ispconfig 4096 22 maggio 22:50 .
drwxr-x--- 7 ispconfig ispconfig 4096 12 maggio 21:20 ..
-rwxr-x--- 1 ispconfig ispconfig 3197 22 maggio 22:47 gd_bundle.crt
-rwxr-x--- 1 ispconfig ispconfig 2061 12 maggio 21 :20 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1720 12 maggio 21:20 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 12 maggio 21:20 ispserver. key
-rwxr-x--- 1 ispconfig ispconfig 3311 12 maggio 21:19 ispserver.key.secure
-rwxr-x--- 1 ispconfig ispconfig    0 22 maggio 22:47 pluto.example. com.crt
-rwxr-x--- 1 ispconfig ispconfig 1720 22 maggio 22:47 pluto.example.com.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 22 maggio 22:47 pluto.example.com.key
-rw------- 1 root      root      6440 22 maggio 22:50 pluto.example.com.pem
-rwxr-x--- 1 ispconfig ispconfig 22 maggio 2061 22:47 openssl.pluto.example.com.crt

Ora, configuriamo il pannello di controllo di ISPConfig per utilizzare il certificato firmato. Tieni presente che devi riconfigurare queste righe ogni volta che aggiorni o installi ISPConfig! Digita la seguente riga nella finestra del tuo terminale SSH:

vim /etc/httpd/conf/sites-available/ispconfig.vhost

Modifica le 2 righe con i percorsi della chiave e dei file del certificato firmato. Ora aggiungi la riga SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/gd_bundle.crt alla sezione Configurazione SSL. Dovrebbe apparire come segue:

  # SSL Configuration
  SSLEngine On
  SSLCertificateFile /usr/local/ispconfig/interface/ssl/pluto.example.com.crt
  SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/pluto.example.com.key
  SSLCACertificateFile /usr/local/ispconfig/interface/ssl/gd_bundle.crt
		

Ora riavviamo Apache. Digita la seguente riga nella finestra del tuo terminale SSH:

/etc/init.d/httpd riavvia

Ora, configuriamo Postfix per utilizzare il certificato firmato eseguendo i seguenti passaggi:

  1. Imposta il percorso del file del certificato firmato in postfix usando il comando postconf
  2. Imposta il percorso del file chiave in postfix usando il comando postconf
  3. Imposta il percorso del file gd_bundle in postfix usando il comando postconf
  4. Riavvia Postfix

Tieni presente che devi riconfigurare queste righe ogni volta che aggiorni o installi ISPConfig! Digita le seguenti righe nella finestra del tuo terminale SSH:

postconf -e 'smtpd_tls_cert_file =/usr/local/ispconfig/interface/ssl/pluto.example.com.crt'
postconf -e 'smtpd_tls_key_file =/usr/local/ispconfig/interface/ssl/pluto.example. com.key'
postconf -e 'smtpd_tls_CAfile =/usr/local/ispconfig/interface/ssl/gd_bundle.crt'
/etc/init.d/postfix restart

Ora configuriamo Dovecot per utilizzare il certificato firmato. Tieni presente che devi riconfigurare queste righe ogni volta che aggiorni o installi ISPConfig! Digita la seguente riga nella finestra del tuo terminale SSH:

vim /etc/dovecot/dovecot.conf

Rendi la sezione SSL simile alla seguente:

ssl_cert = </usr/local/ispconfig/interface/ssl/pluto.example.com.crt
ssl_key = </usr/local/ispconfig/interface/ssl/pluto.example.com.key
ssl_ca = </usr/local/ispconfig/interface/ssl/gd_bundle.crt
		

Quindi, riavvia Dovecot. Digita la seguente riga nella finestra del tuo terminale SSH:

/etc/init.d/dovecot riavvia

Ora, configuriamo phpMyAdmin e Squirrelmail per utilizzare il certificato firmato. È importante sapere che quando un client ha il proprio certificato SSL installato tramite ISPConfig, il suo stesso certificato verrà utilizzato quando accede a phpMyAdmin e Squirrelmail tramite il proprio dominio. Se un client non ha un certificato in atto, verrà utilizzato il certificato che stiamo per configurare. Digita la seguente riga nella finestra del tuo terminale SSH:

vim /etc/httpd/conf.d/ssl.conf

Le seguenti 3 righe devono essere modificate per avere l'aspetto seguente:

SSLCertificateFile /usr/local/ispconfig/interface/ssl/pluto.example.com.crt

SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/pluto.example.com.key

SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/gd_bundle.crt
		

Ora riavviamo Apache. Digita la seguente riga nella finestra del tuo terminale SSH:

/etc/init.d/httpd riavvia

Ora, configuriamo Pure-FTPD per utilizzare il certificato firmato eseguendo i seguenti passaggi:

  1. Cambia la directory in /etc/pki/pure-ftpd
  2. Rinomina il file pem
  3. Crea un collegamento simbolico al file pem firmato
  4. Riavvia pure-ftpd

Digita le seguenti righe nella finestra del tuo terminale SSH:

cd /etc/pki/pure-ftpd
mv pure-ftpd.pem openssl.pure-ftpd.pem
ln -s /usr/local/ispconfig/interface/ssl/pluto.example.com. pem pure-ftpd.pem
/etc/init.d/pure-ftpd restart

Ora stiamo utilizzando il certificato firmato GoDaddy per ISPConfig e i nostri servizi. Poiché abbiamo due set di certificati, possiamo passare facilmente avanti e indietro dall'uso del certificato autofirmato al certificato firmato GoDaddy. Possiamo anche creare un set nuovo di zecca di file per il nostro certificato autofirmato senza influire sui file del certificato firmato GoDaddy.


Panels
  1. Come proteggere i tuoi servizi di posta elettronica Linux con SSL/TLS

  2. Domande frequenti sui certificati SSL (Secure Service Layer)

  3. Protezione di ISPConfig 3.1 con un certificato SSL gratuito Lets Encrypt

  4. Proteggi Apache con Let's Encrypt su CentOS 7 - Processo passo dopo passo?

  5. Come proteggere il nome host di Plesk sulla porta 8443 con il certificato SSL

Come installare LetsEncrypt SSL con Nginx su CentOS 6

Come proteggere Apache con Let's Encrypt SSL Certificate su CentOS 8

Come installare il certificato SSL sui servizi WHM/cPanel?

Come configurare Mailman con Debian e ISPConfig

Proteggi Nginx con Let's Encrypt SSL Certificate su Ubuntu 18.04

Come proteggere Nginx con Let's Encrypt certificato SSL