Come attivare SSL su Apache

July 25

Come attivare SSL su Apache


Transport Layer Security (TLS) e il suo predecessore, Secure Sockets Layers (SSL), sono protocolli che forniscono una comunicazione sicura su una rete. Quando il server Web Apache è configurato per utilizzare SSL / TLS, le comunicazioni tra il server Web e browser web di un visitatore del sito sono crittografate. Questa crittografia protegge la comunicazione di dati personali, quali password e numeri di carte di credito. Senza questa sicurezza, sistemi malintenzionato potrebbe intercettare e accedere ai dati privati, o manomettere le comunicazioni in modo tale da ingannare il browser in scambio di dati con il sistema dannoso. Attivare SSL / TLS su Apache richiede l'ottenimento di un certificato SSL. SSL / TLS ospite di Apache sarà in ascolto su una porta diversa (in genere 443) rispetto allo standard, ospite non garantito (in genere la porta 80). I visitatori accedono alla SSL host / TLS con "https" invece "http" per il protocollo indirizzo (ad esempio, https://yoursite.com).

istruzione

1 Aprire una finestra di terminale collegato al vostro web server.

2 Impostare la directory di lavoro corrente alla directory di configurazione di Apache. Per esempio:

cd / etc / apache2 /

3 Creare ssl.key e ssl.crt directory, se necessario. Per esempio:

mkdir ssl.key
mkdir ssl.crt

4 Generare un certificato auto-firmato, che fornisce la posizione e il nome dell'azienda richiesto quando richiesto, con il seguente comando:

req -new OpenSSL -x509 -nodes -keyout ssl.key / server.key -out ssl.crt / server.crt

Il file server.key è la chiave privata del server. Non condividere questo file. Il server.crt è il file del certificato.

5 Modificare la configurazione di Apache (ad esempio, /etc/apache2/httpd.conf), e aggiungere le seguenti righe (aggiungere alla sezione tipi MIME se ce n'è uno):

AddType application / x-x509-ca-cert .crt
AddType application / x-pkcs7-CRL .crl

6 Aggiungere o rimuovere il commento la direttiva LoadModule SSL per puntare alla libreria mod_ssl.so sul sistema. Per esempio:

LoadModule ssl_module /usr/lib/apache2/mod_ssl.so

7 Aggiungere la seguente configurazione, sostituendo il ServerName con l'indirizzo del tuo sito web, la DocumentRoot di directory contenuti del tuo sito, e la SSLCertificateFile e SSLCertificateKeyFile con il percorso corretto per la chiave del certificato e privata creato in precedenza:

ascoltare 443

<Default VirtualHost: 443>
ServerName www.example.com:443
DocumentRoot "/ srv / www / htdocs"
SSLEngine su
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
</ VirtualHost>

8 Avviare o ricaricare web server Apache come si farebbe normalmente.

9 Testare la configurazione collegandosi al tuo sito con un browser Web utilizzando i https per il protocollo - per esempio, https://www.example.com.

Consigli e avvertenze

  • Se si configura e compilare Apache te stesso invece di utilizzare i binari pre-costruiti, configurare la compilazione con --enable-ssl e --enable-SetEnvIf oltre ad altre opzioni.
  • I certificati autofirmati sono sufficienti per il test e Intranet. Se si gestisce un sito pubblico, sostituire il certificato auto-firmato con un certificato autentico rilasciato da un'autorità di certificazione attendibile, ad esempio Verisign, CACert o GeoTrust. Vedere la sezione Risorse per informazioni sulle autorità di certificazione.
  • Familiarizzare con la configurazione di Apache prima di modificarlo. Su alcuni sistemi, la configurazione può essere suddiviso in più file, e la configurazione SSL può essere in un file separato, come ssl.conf, invece di httpd.conf.