Apache, SSL e CaCert.Org: differenze tra le versioni

nessun oggetto della modifica
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
=Introduzione=
=Introduzione=
Chi avrà provato ad installare apache (o apache2) con supporto ssl si sarà trovato davanti al problema del certificato: come generarlo? che valore ha? dove posso ottenere un certificato valido? esistono soluzioni gratuite?
Chi avrà provato ad installare Apache (o Apache2) con supporto ssl si sarà trovato davanti al problema del certificato: come generarlo? che valore ha? dove posso ottenere un certificato valido? esistono soluzioni gratuite?


Queste sono le domande normali che si pone un utente, soprattutto guardando i prezzi esorbitanti proposti per l'acquisto di certificati [http://it.wikipedia.org/wiki/SSL SSL].
Queste sono le domande normali che si pone un utente, soprattutto guardando i prezzi esorbitanti proposti per l'acquisto di certificati [http://it.wikipedia.org/wiki/SSL SSL].
Riga 54: Riga 54:
{{Box|Nota:|i dati inseriti sono fittizi, è d'obbligo sostituirli con quelli reali}}
{{Box|Nota:|i dati inseriti sono fittizi, è d'obbligo sostituirli con quelli reali}}


Per dare una durata di tempo al certificato aggiungere al comando openssl , -days xxx
Per dare una durata di tempo al certificato aggiungere al comando openssl, <code> -days xxx </code>
dove xxx sono il numero di giorni di validità dello stesso.
dove xxx è il numero di giorni di validità dello stesso.


Ricordate però che il certificato durerà solo 6 mesi , qualsiasi numero venga immesso nel campo ''-days xxx'' , al termine della scadenza occorrerà rinnovare il certificato che sarà nuovamente valido per altri 6 mesi.
Ricordate però che il certificato durerà solo 6 mesi, qualsiasi numero venga immesso nel campo <code>-days xxx</code>, al termine della scadenza occorrerà rinnovare il certificato che sarà nuovamente valido per altri 6 mesi.


Se questa procedura non vi piace , potete farvi certificare da un Accertatore ( trovate la lista nel sito cacert dopo esservi loggati ) questo modo vi permetterà di vedere riconosciuta la tua identità e ottenere ulteriori benefici, compresa una maggiore durata dei certificati e la possibilità di inserire il vostro nome nei certificati per la posta elettronica.  
Se questa procedura non vi piace, potete farvi certificare da un Accertatore (trovate la lista nel sito cacert dopo esservi loggati): ciò vi permetterà di vedere riconosciuta la vostra identità e ottenere ulteriori benefici, compresa una maggiore durata dei certificati e la possibilità di inserire il vostro nome nei certificati per la posta elettronica.  


Verranno generati due file: ''dominio.it.key'', che rappresenta la chiave privata; ''dominio.it.csr'' che rappresenta la Richiesta di Sottoscrizione del Certificato.
Verranno generati due file: <code>dominio.it.key</code>, che rappresenta la chiave privata; <code>dominio.it.csr</code> che rappresenta la Richiesta di Sottoscrizione del Certificato.


==Richiesta del Certificato==
==Richiesta del Certificato==
Visualizziamo il contenuto del file '''dominio.it.csr''' e copiamolo nel form contenuto in ''Certificati per i Server (Server Certificates)'', ''Nuovo''.
Visualizziamo il contenuto del file <code>dominio.it.csr</code> e copiamolo nel form contenuto in ''Certificati per i Server (Server Certificates)'', ''Nuovo''.


Inviamo il contenuto del form e confermiamo. Al termine dell'elaborazione verrà mostrato il codice del certificato (una copia ci verrà inviata anche via email), salviamolo nel file '''dominio.it.crt'''.
Inviamo il contenuto del form e confermiamo. Al termine dell'elaborazione verrà mostrato il codice del certificato (una copia ci verrà inviata anche via email), salviamolo nel file <code>dominio.it.crt</code>.


==Spostiamo i file sul server==
==Spostiamo i file sul server==
Spostiamo i tre file sul server, nella directory '''/etc/apache/ssl/''' nel caso di apache, '''/etc/apache2/ssl''' nel caso di apache2.
Spostiamo i tre file sul server, nella directory <code>/etc/apache/ssl/</code> nel caso di Apache, <code>/etc/apache2/ssl</code> nel caso di Apache2.


==Verifica del Certificato==
==Verifica del Certificato==
Prima di configurare il server è d'obbligo un controllo sulla correttezza del certificato. Per fare questo dobbiamo:
Prima di configurare il server è d'obbligo un controllo sulla correttezza del certificato. Per fare questo dobbiamo:
* Scaricare il ''root certificate'' dall'indirizzo http://www.cacert.org/certs/root.crt
* Scaricare il ''root certificate'' da[http://www.cacert.org/certs/root.crt questo] indirizzo
* Copiarlo nella directory '''/etc/apache/ssl/''' (o '''/etc/apache2/ssl''' nel caso di apache2)
* Copiarlo nella directory <code>/etc/apache/ssl/</code> (o <code>/etc/apache2/ssl</code> nel caso di Apache2)
* Eseguire il comando: <pre>openssl verify -CAfile root.crt -purpose sslserver dominio.it.crt</pre>
* Eseguire il comando: <pre>openssl verify -CAfile root.crt -purpose sslserver dominio.it.crt</pre>


Riga 80: Riga 80:


==Rinnovo del certificato==
==Rinnovo del certificato==
Poco prima della scadenza del certificato (di solito 14 giorni ), riceverete una mail che vi comunicherà il termine del certificato , successivamente se non rinnovate il certificato , riceverete un'altra mail alcuni giorni prima della scadenza.
Poco prima della scadenza del certificato (di solito 14 giorni ), riceverete una mail che vi comunicherà il termine del certificato, successivamente se non rinnovate il certificato, riceverete un'altra mail alcuni giorni prima della scadenza.


Nella mail potete trovare il link a cacert , accedete al sito e loggatevi con le vostre credenziali.
Nella mail potete trovare il link a cacert: accedete al sito e loggatevi con le vostre credenziali.


Nella finestra ''Certificati server/visualizza'' potete vedere i certificati da voi creati , ( qui potete anche eliminare vari certificati creati per errore ) , individuate il certificato da aggiornare , come aiuto se ne avete più di uno potete controllare con la data di scadenza che compare a destra.
Nella finestra ''Certificati server/visualizza'' potete vedere i certificati da voi creati, (qui potete anche eliminare vari certificati creati per errore), individuate il certificato da aggiornare, come aiuto se ne avete più di uno potete controllare con la data di scadenza che compare a destra.


Spuntate il certificato da rinnovare e clickate il pulsante ''Rinnova''
Spuntate il certificato da rinnovare e fate click sul pulsante ''Rinnova''.


In pochi secondi il certificato verrà rinnovato e vi comparirà una nuova pagina contenente il nuovo certificato .
In pochi secondi il certificato verrà rinnovato e vi comparirà una nuova pagina contenente il nuovo certificato.


Copiate il testo da BEGIN CERTIFICATE a END CERTIFICATE  e andate a sostituirlo nel file apache2/ssl/vostro-certificato.crt e riavviate apache2
Copiate il testo da BEGIN CERTIFICATE a END CERTIFICATE  e andate a sostituirlo nel file <code>apache2/ssl/vostro-certificato.crt</code> e riavviate Apache2
 
<pre>
  # /etc/init.d/apache2 restart
  # /etc/init.d/apache2 restart </pre>


Ora tornate alla finestra ''certificati server /visualizza'' , e verificate che la data del certificato da voi rinnovato sia cambiata .
Ora tornate alla finestra ''certificati server/visualizza'', e verificate che la data del certificato da voi rinnovato sia cambiata.


Se tutto è andato bene avrete altri 6 mesi dalla data di rinnovo.
Se tutto è andato bene avrete altri 6 mesi dalla data di rinnovo.
Riga 109: Riga 109:


===Modifica impostazioni base===
===Modifica impostazioni base===
Il file in questione è '''/etc/apache-ssl/httpd.conf'''. Le voci da adattare alla propria configurazione sono le seguenti:
Il file in questione è <code>/etc/apache-ssl/httpd.conf</code>. Le voci da adattare alla propria configurazione sono le seguenti:
; ServerName : indica il dominio al quale dovrà rispondere il server. Nel nostro caso sarà ''esempio.it''.
; ServerName : indica il dominio al quale dovrà rispondere il server. Nel nostro caso sarà ''esempio.it''.
; ServerAdmin : l'email dell'amministratore del server. Nel nostro caso ''sysadmin@esempio.it''.
; ServerAdmin : l'email dell'amministratore del server. Nel nostro caso ''sysadmin@esempio.it''.
Riga 115: Riga 115:


===Aggiunta del Certificato===
===Aggiunta del Certificato===
Il file da modificare è, anche in questo caso, quello principale: '''/etc/apache-ssl/httpd.conf'''. All'interno di questo è presente una sottosezione, preceduta dalla riga
Il file da modificare è, anche in questo caso, quello principale: <code>/etc/apache-ssl/httpd.conf</code>. All'interno di questo è presente una sottosezione, preceduta dalla riga
<pre>
<pre>
# ----------------------------SSL----------------------------------
# ----------------------------SSL----------------------------------
Riga 134: Riga 134:
=Apache2=
=Apache2=
==Installazione==
==Installazione==
L'installazione di apache2 è semplicissima:
L'installazione di Apache2 è semplicissima:
<pre>
<pre>
# apt-get install apache2
# apt-get install apache2
Riga 140: Riga 140:


==Attivazione del supporto SSL==
==Attivazione del supporto SSL==
Per poter usare SSL in apache2 è necessario attivarlo (visto che non è presente un pacchetto apposito come ''apache-ssl''):
Per poter usare SSL in Apache2 è necessario attivarlo (visto che non è presente un pacchetto apposito come ''apache-ssl''):
<pre>
<pre>
# a2enmod ssl
# a2enmod ssl
Riga 151: Riga 151:
Prima di procedere, però, dobbiamo modificare il comportamento di Apache relativamente ai ''NameVirtualHost''.  
Prima di procedere, però, dobbiamo modificare il comportamento di Apache relativamente ai ''NameVirtualHost''.  


Modifichiamo il file '''/etc/apache2/apache.conf''' e aggiungiamo, prima di  
Modifichiamo il file <code>/etc/apache2/apache.conf</code> e aggiungiamo, prima di  
<pre>
<pre>
Include /etc/apache2/sites-enabled/[^.#]*
Include /etc/apache2/sites-enabled/[^.#]*
Riga 160: Riga 160:
NameVirtualHost *:443
NameVirtualHost *:443
</pre>
</pre>
e assicuriamoci che l'opzione ''NameVirtualHost *'' sia commentata o rimossa dal file '''/etc/apache2/sites-available/default'''.
e assicuriamoci che l'opzione ''NameVirtualHost *'' sia commentata o rimossa dal file <code>/etc/apache2/sites-available/default</code>.


Modifichiamo tutti i VirtualHost aggiungendo l'indicazione delle porte (ad esempio: ''<VirtualHost *>'' diventa ''<VirtualHost *:80>'').
Modifichiamo tutti i VirtualHost aggiungendo l'indicazione delle porte (ad esempio: ''<VirtualHost *>'' diventa ''<VirtualHost *:80>'').


Ora creiamo un nuovo file, in ''/etc/apache2/sites-available''' che chiameremo '''dominio.it-ssl''', ed utilizziamo il seguente schema:
Ora creiamo un nuovo file, in <code>/etc/apache2/sites-available</code> che chiameremo '''dominio.it-ssl''', ed utilizziamo il seguente schema:
<pre>
<pre>
<VirtualHost *:443>
<VirtualHost *:443>
Riga 177: Riga 177:
</pre>
</pre>


ovviamente adattando le varie opzioni alla situazione reale...
ovviamente adattando le varie opzioni alla situazione reale.


Ora provvediamo ad attivarlo:
Ora provvediamo ad attivarlo:
Riga 185: Riga 185:


==Aggiunta Certificati==
==Aggiunta Certificati==
I certificati, in questo caso, verranno aggiunti in un file a parte: '''/etc/apache2/conf.d/ssl.conf''' con il seguente contenuto:
I certificati, in questo caso, verranno aggiunti in un file a parte: <code>/etc/apache2/conf.d/ssl.conf</code> con il seguente contenuto:
<pre>
<pre>
SSLCertificateFile ssl/dominio.it.crt
SSLCertificateFile ssl/dominio.it.crt
Riga 192: Riga 192:
</pre>
</pre>


Per applicare le modifiche è sufficiente riavviare apache:
Per applicare le modifiche è sufficiente riavviare Apache:
<pre>
<pre>
# /etc/init.d/apache2 restart
# /etc/init.d/apache2 restart
Riga 205: Riga 205:


==Diffusione di CaCert==
==Diffusione di CaCert==
CaCert inizia ad essere inserito, come certificato root, anche nei vari browser, evidenziando che l'attenzione verso questo progetto sta salendo... Non resta che adottarlo ed, eventualmente, fare richiesta agli sviluppatori del nostro browser preferito affinche CaCert venga inclusa.
CaCert inizia ad essere inserito, come certificato root, anche nei vari browser, evidenziando che l'attenzione verso questo progetto sta salendo. Non resta che adottarlo ed, eventualmente, fare richiesta agli sviluppatori del nostro browser preferito affinche CaCert venga inclusa.


=Bookmark=
= Link =
[http://www.cacert.org '''CaCert.Org''']
[http://www.cacert.org '''CaCert.Org''']


[[Categoria:Server]]
[[Categoria:Server]]
1 508

contributi