Apache e SSL: configurazione https e creazione certificati

Apache2 Server Ubuntu: crea un CSR e installa il certificato SSL

Crea un CSR e installa il tuo certificato SSL sul tuo server Ubuntu con Apache2 utilizzando OpenSSL

Per usare l´OpenSSL al fine di creare una CSR ed installare poi il certificato SSL sul server Ubuntu con Apache2, utilizzare le istruzioni contenute in questa pagina.

Nota: dopo aver installato il certificato SSL/TLS e configurato il server per utilizzarlo, è necessario riavviare l’istanza di Apache2.

Per le istruzioni di Apache, consultare Apache: Crea CSR e Installa certificato SSL (OpenSSL). Per altre istruzioni sulla piattaforma OS, consultare Creazione di una CSR (Certificate Signing Request).
È possibile utilizzare queste istruzioni per creare CSR OpenSSL ed installare tutti i tipi di certificati SSL DigiCert sul server Ubuntu con Apache2: SSL standard, SSL EV, SSL multi-dominio, SSL multi-dominio EV e SSL Wildcard.

1. Per creare la tua richiesta di firma del certificato (CSR), consulta Ubuntu con Apache2: Creazione della tua CSR con OpenSSL

2. Per installare il certificato SSL, consultare Ubuntu con Apache2: Installazione e configurazione del certificato SSL

I. Ubuntu con Apache2: creazione del tuo CSR con OpenSSL

Utilizzare le istruzioni in questa sezione per creare i comandi shell per generare Ubuntu con CSR Apache2 con OpenSSL.

Come generare una CSR per Ubuntu con Apache 2 usando OpenSSL

Se preferite creare i vostri comandi shell per generare Ubuntu con CSR Apache2, seguite le istruzioni di seguito.

1. Accedi al tuo server tramite il client del terminale (ssh)

2. Esegui comando

Al prompt, digitare il seguente comando:

Nota: assicurati di sostituire il server con il nome del tuo server.

3. Genera file

a. Ora hai avviato il processo per generare i seguenti due file:

  • File Private-Key: utilizzato per generare il CSR e successivamente per proteggere e verificare le connessioni mediante il certificato.
  • File CSR (Certificate Signing Request): utilizzato per ordinare il certificato SSL e successivamente per cifrare i messaggi che si possono decifrare solo con la private-key corrispondente.

b. Quando viene richiesto il nome comune (nome di dominio), digitare il dominio completo (FQDN) per il sito che si intende proteggere.

Nota: se stai generando un CSR Apache per un Wildcard certificate, assicurati che il tuo nome comune inizi con un asterisco (ad es. *. Esempio.com).

c. Quando richiesto, digita le informazioni organizzative, a partire dalle informazioni geografiche.

Nota: potresti aver già impostato le informazioni predefinite.

d. Ora, il tuo file .csr di OpenSSL è stato creato. 

4. Ordina il tuo certificato SSL/TLS

a. Apri il file .csr che hai creato con un editor di testo.

b. Copia il testo, incluso il – INIZIA LA NUOVA RICHIESTA DEL CERTIFICATO (BEGIN NEW CERTIFICATE REQUEST) – e – FINE RICHIESTA DEL NUOVO CERTIFICATO (END NEW CERTIFICATE REQUEST) – etichettalo e incollalo nel modulo d’ordine di DigiCert.

5. Salva la Private-Key

Salva (backup) il file .key generato. Ne avrai bisogno in seguito per installare il tuo certificato SSL.

6. Installa certificato

Dopo aver ricevuto il certificato SSL da DigiCert, puoi installarlo sul tuo server.

II. Ubuntu con Apache2: installazione e configurazione del certificato SSL

Se avete ancora bisogno di creare una richiesta di firma del certificato (CSR) e ordinare il certificato, consultate Ubuntu con Apache2: Come utilizzare OpenSSL per creare la propria CSR.

Dopo aver convalidato e rilasciato il certificato SSL, è possibile installarlo su Ubuntu con il server Apache2 (dove è stato generato il CSR) e configurare il server per utilizzare il certificato.

Come installare e configurare il certificato SSL sul proprio server Ubuntu con Apache2

1. Copia i file del certificato sul tuo server

a. Accedi al tuo account DigiCert e scarica i file intermedi (DigiCertCA.crt) e il tuo certificato primario (your_domain_name.crt).

b. Copia questi file, insieme al file .key generato durante la creazione del CSR, nella directory sul server in cui mantieni il certificato e i file key.

Nota: rendili leggibili solo da root per aumentare la sicurezza.

2. Trova il file di configurazione di Apache che devi modificare

La posizione e il nome del file di configurazione possono variare da server a server, specialmente se si utilizza un’interfaccia speciale per gestire la configurazione del server.

  • Il server Ubuntu con il file di configurazione principale di Apache2 per il tuo sito SSL/TLS si trova in genere in /etc/apache2/sites-enabled/your_site_name.
  • Se non è stato trovato nella directory “sites-enabled”, eseguire il seguente comando.

sudo a2ensite your_site_name

  • Apri il file con un editor di testo e trova i blocchi <VirtualHost> che contengono le impostazioni di Apache.

3. Identifica il blocco SSL che devi configurare

Se il tuo sito deve essere accessibile attraverso connessioni sicure (https) e non protette (http), hai bisogno di due file separati in /etc/apache2/sites-enabled/. Un file è per la porta 80 e l’altro file è per la porta 443. Configurare entrambi i file per SSL come descritto nel passaggio 4.

Se si desidera accedere in sicurezza al proprio sito, configurare l’host virtuale esistente per SSL come descritto nel passaggio 4.

4. Configura il blocco per il sito abilitato SSL

a. Di seguito è riportato un esempio molto semplice di un host virtuale configurato per SSL. Le parti in blu sono quelle che devi aggiungere per configurare la configurazione SSL; possono essere presenti in tutto il file.

 b. Assicurati di sistemare i nomi dei file in modo che corrispondano ai tuoi file certificati.

SSLCertificateFile è il file del certificato DigiCert (ad esempio, your_domain_name.crt).

SSLCertificateKeyFile è il file .key generato quando hai creato il CSR (ad esempio, your_private.key).

SSLCertificateChainFile è il file di certificato intermedio DigiCert (ad es., DigiCertCA.crt)

Nota: se la direttiva SSLCertificateChainFile non funziona, provare ad utilizzare invece la direttiva SSLCACertificateFile.

5. Testare il file di configurazione di Apache2 prima di riavviare

Da buona pratica, controlla il tuo file di configurazione di Apache2 per eventuali errori prima di riavviare Apache.

Attenzione: Apache2 non si riavvierà se i file di configurazione presentano errori di sintassi.

Eseguire il seguente comando per testare il file di configurazione (su alcuni sistemi, è apache2ctl):

apachectl configtest

6. Riavvia Apache2

È possibile utilizzare i comandi apachectl per arrestare e avviare Apache2 con il supporto SSL.

apachectl stop

apachect1 start

Riavvia note:

Se Apache2 non si riavvia con il supporto SSL, prova ad usare apachectl startssl invece di apachectl start. Se il supporto SSL viene eseguito solo con apachectl startssl, ti consigliamo di regolare la configurazione di avvio di apache per includere il supporto SSL nel normale comando apachectl start. In caso contrario, il server potrebbe richiedere il riavvio manuale di Apache2 utilizzando apachectl startssl in caso di riavvio del server. Questo di solito comporta la rimozione dei tag e che racchiudono la configurazione SSL.

7. Complimenti! Hai installato correttamente il tuo certificato SSL

Test dell’installazione del certificato SSL/TLS

1. Test del browser

a. Per ottenere i migliori risultati, assicurati di chiudere prima il tuo browser e poi rilancialo.

b. Visita il tuo sito con l’URL https sicuro (ad esempio, vai a https://www.example.com non http://www.example.com).

c. Assicurati di testare il tuo sito con altri browser che non siano solo Internet Explorer. Scarica i certificati intermedi mancanti.

2. Strumento di diagnostica per l’installazione di DigiCert® SSL

Se il tuo sito è pubblicamente accessibile, utilizza il nostro Server Certificate Tester per testare l’installazione del certificato SSL/TLS; esso rileva i problemi di installazione comuni.

Configurazione e comandi utili

Installa Apache2

Necessario per utilizzare i certificati SSL/TLS:

sudo apt-get install apache2

Abilita modulo SSL

1. Sostituisci “default-ssl” con il nome del sito reale che hai impostato in /etc/apache2/sites-available/

sudo a2enmod ssl

2. Una volta abilitato il sito elencato nel comando precedente, il sito appare in /etc/apache2/sites-enabled

Applicare il modulo SSL al sito

sudo a2ensite default-ssl

sudo /etc/init.d/apache2 restart

Cipher Suite

  • Una volta eseguito il comando sudo a2enmod ssl, modifica il file ssl.conf in/etc/apache2/mods-enabled
  • Se non hai ancora eseguito il comando a2enmod, preconfigura il file ssl.conf in/etc/apache2/mods-available