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

corretta gerarchia titoli
Nessun oggetto della modifica
(corretta gerarchia titoli)
Riga 1: Riga 1:
{{Versioni compatibili|Debian Sarge 3.1<br/>Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
{{Versioni compatibili|Debian Sarge 3.1<br/>Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
=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].


=Generazione del certificato=
== Generazione del certificato ==
La generazione di un certificato è un po' macchinosa, ma tutto questo è a favore della sicurezza della procedura.
La generazione di un certificato è un po' macchinosa, ma tutto questo è a favore della sicurezza della procedura.


Per prima cosa è necessario [https://www.cacert.org/index.php?id=1&lang=it_IT registrarsi] su [http://www.cacert.org/index.php?id=0&lang=it_IT Cacert.Org]. Terminata la registrazione (confermando via email la validità del proprio indirizzo email) siamo pronti per iniziare.
Per prima cosa è necessario [https://www.cacert.org/index.php?id=1&lang=it_IT registrarsi] su [http://www.cacert.org/index.php?id=0&lang=it_IT Cacert.Org]. Terminata la registrazione (confermando via email la validità del proprio indirizzo email) siamo pronti per iniziare.


==Registrazione di un Dominio==
=== Registrazione di un Dominio ===
Per poter generare un certificato è necessario disporre di un dominio.  
Per poter generare un certificato è necessario disporre di un dominio.  
* Dopo essersi ''loggati'' nel portale si verrà indirizzati nella propria pagina;
* Dopo essersi ''loggati'' nel portale si verrà indirizzati nella propria pagina;
Riga 18: Riga 18:
* All'arrivo dell'email, confermiamo l'aggiunta del dominio.
* All'arrivo dell'email, confermiamo l'aggiunta del dominio.


==Generazione csr==
=== Generazione csr ===
Per poter ottenere un certificato è necessario avere una Richiesta di Sottoscrizione del Certificato (Certificate Signing Request, CSR). Per crearla usiamo il seguente comando:
Per poter ottenere un certificato è necessario avere una Richiesta di Sottoscrizione del Certificato (Certificate Signing Request, CSR). Per crearla usiamo il seguente comando:
<pre>
<pre>
Riga 64: Riga 64:
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.
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 <code>dominio.it.csr</code> 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 <code>dominio.it.crt</code>.
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 <code>/etc/apache/ssl/</code> nel caso di Apache, <code>/etc/apache2/ssl</code> 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'' da[http://www.cacert.org/certs/root.crt questo] indirizzo
* Scaricare il ''root certificate'' da[http://www.cacert.org/certs/root.crt questo] indirizzo
Riga 80: Riga 80:
Se tutto è stato eseguito correttamente, il controllo avrà esito positivo.
Se tutto è stato eseguito correttamente, il controllo avrà esito positivo.


==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.


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


=Apache=
== Apache ==
==Installazione==
=== Installazione ===
''Apache-ssl'' rappresenta il [[demone]] Apache con il supporto per SSL abilitato. L'installazione è semplice, rappresentando un pacchetto ''separato'' da apache ''normale'':
''Apache-ssl'' rappresenta il [[demone]] Apache con il supporto per SSL abilitato. L'installazione è semplice, rappresentando un pacchetto ''separato'' da apache ''normale'':
<pre>
<pre>
Riga 106: Riga 106:
</pre>
</pre>


==Configurazione==
=== Configurazione ===
Prima di installare i certificati è consigliabile mettere mano alla configurazione generica del server, in modo da sistemare quei parametri relativi al dominio, all'amministratore e alla directory radice utilizzata da apache.
Prima di installare i certificati è consigliabile mettere mano alla configurazione generica del server, in modo da sistemare quei parametri relativi al dominio, all'amministratore e alla directory radice utilizzata da apache.


===Modifica impostazioni base===
==== Modifica impostazioni base ====
Il file in questione è <code>/etc/apache-ssl/httpd.conf</code>. 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''.
Riga 115: Riga 115:
; DocumentRoot : indica la directory radice in cui si trovano le pagine che verranno mostrate da apache. Nel nostro esempio verrà mantenuto il valore di default.
; DocumentRoot : indica la directory radice in cui si trovano le pagine che verranno mostrate da apache. Nel nostro esempio verrà mantenuto il valore di default.


===Aggiunta del Certificato===
==== Aggiunta del Certificato ====
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:
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>
Riga 133: Riga 133:
</pre>
</pre>


=Apache2=
== Apache2 ==
==Installazione==
=== Installazione ===
L'installazione di Apache2 è semplicissima:
L'installazione di Apache2 è semplicissima:
<pre>
<pre>
Riga 140: Riga 140:
</pre>
</pre>


==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>
Riga 147: Riga 147:
provvede ad attivare il supporto per SSL.
provvede ad attivare il supporto per SSL.


==Creazione VirtualHost==
=== Creazione VirtualHost ===
Dobbiamo, ora, creare un VirtualHost che sia in ascolto sulla porta 443.
Dobbiamo, ora, creare un VirtualHost che sia in ascolto sulla porta 443.


Riga 185: Riga 185:
</pre>
</pre>


==Aggiunta Certificati==
=== Aggiunta Certificati ===
I certificati, in questo caso, verranno aggiunti in un file a parte: <code>/etc/apache2/conf.d/ssl.conf</code> 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>
Riga 198: Riga 198:
</pre>
</pre>


=Test di funzionamento=
== Test di funzionamento ==
Il miglior test è forse il più semplice: aprire un browser e collegarsi all'indirizzo https://esempio.it ;-)
Il miglior test è forse il più semplice: aprire un browser e collegarsi all'indirizzo https://esempio.it ;-)


=Considerazioni=
== Considerazioni ==
==Limitazioni nell'utilizzo di VirtualHost==
=== Limitazioni nell'utilizzo di VirtualHost ===
La limitazione più ''pesante'' che si può notare è l'impossibilità di utilizzare più di un certificato per la stessa accoppiata ''ip:porta''. Il motivo è semplice: i dati inviati sono cifrati, quindi è impossibile, per Apache, riuscire ad estrapolare il ''ServerName''... Quindi viene usata l'accoppiata ''ip:porta'' per definirlo.
La limitazione più ''pesante'' che si può notare è l'impossibilità di utilizzare più di un certificato per la stessa accoppiata ''ip:porta''. Il motivo è semplice: i dati inviati sono cifrati, quindi è impossibile, per Apache, riuscire ad estrapolare il ''ServerName''... Quindi viene usata l'accoppiata ''ip:porta'' per definirlo.


==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.


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


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

contributi