di: Ermanno Ancona 20 Novembre 2007
Nel precedente articolo avevamo visto come fosse possibile creare un certificato digitale per il nostro server ricorrendo al toolkit OpenSSL. Al termine della procedura eravamo in possesso dei seguenti file:
my-CA.key: chiave privata della CAmy-CA.crt: certificato della CAmy-server.key: chiave privata del servermy-server.csr: richiesta di certificato del servermy-server.crt: certificato del serverIn queste pagine vedremo come ottenere una connessione cifrata SSL utilizzando alcuni dei file elencati e configurando opportunamente Apache. Ricordo i presupposti di partenza: l'ambiente di riferimento è una linux box con Fedora Core 6 a bordo, un web server Apache 2.x dotato del modulo mod_ssl. Se la distribuzione che utilizzate è diversa non preoccupatevi: probabilmente il modulo è già installato, si tratterà eventualmente di abilitarlo.
Immaginiamo di disporre di un unico IP pubblico 11.22.33.44 e quindi di adottare una configurazione "name-based" per i virtual host, ovvero più host mappati sul medesimo indirizzo IP. Supponiamo ancora di aver già configurato un host virtuale www.miosito.it, cui aggiungeremo un secondo host virtuale secure.miosito.it, con il quale scambiare dati cifrati.
Quanto illustrato avrà carattere puramente esemplificativo senza pretese di completezza. L'uso di connessioni SSL in ambiente di produzione va accuratamente studiato e valutato in base alle necessità, alla sensibilità ed al valore delle informazioni scambiate. È necessario comprendere adeguatamente il significato di ciascuna direttiva adattandola alle esigenze del proprio ambiente di lavoro. In altre parole il puro e semplice copia ed incolla è a vostro rischio e pericolo. Fatte le doverose precisazioni possiamo partire con la configurazione.
Assunti i privilegi di root creiamo in /etc/httpd una directory atta a contenere chiavi e certificati che chiameremo, con uno sforzo di fantasia, ssl. Copiamo ora i file necessari:
[root]# cp my-server.crt /etc/httpd/ssl [root]# cp my-server.key /etc/httpd/ssl [root]# cp my-CA.crt /etc/httpd/ssl
Rammento che nel precedente articolo avevamo provveduto a proteggere tali file con permessi restrittivi in modo che fossero leggibili solo da root.
A questo punto, se la DocumentRoot per il virtual host già configurato è /var/www/html, creiamo una seconda DocumentRoot per secure.miosito.it ed una directory per i file di log:
[root]# mkdir /var/www/secure [root]# mkdir /var/www/ssl_log
Creiamo un semplice file index.html contenente la frase "ssl funziona!" ed inseriamolo all'interno della directory /var/www/secure: ci sarà utile quando vorremo testarne il funzionamento.
In una installazione standard da pacchetti Rpm in ambiente Fedora, il file di configurazione principale /etc/httpd/httpd.conf riporta la direttiva di inclusione:
Include conf.d/*.conf
Con essa vengono inclusi, in ordine alfabetico, tutti i file con estensione .conf presenti in /etc/httpd/conf.d/. Ovviamente non tutti i moduli hanno necessità di un file di configurazione, potremo trovare ad esempio perl.conf o php.conf. Tra questi individuiamo il nostro obbiettivo: ssl.conf.
Guida risparmio energetico per serverDalla determinazione dei consumi al risparmio, dalla... |
Guida SubversionSVN è uno dei sistemi per il versioning più utilizzati al mondo.... |
Guida Application serverCosa sono, quali sono e come possono essere utilizzati nella... |
Ogni settimana, in due distinte newsletter: notizie a approfondimenti su Apache e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |