Apache amb SSL (HTTPS)
Guia per activar HTTPS al servidor Apache.
Contingut
Activem el protocol SSL a Apache
La configuració per defecte ja porta uns certificats autofirmats amb els què el nostre servidor funcionarà, tot i que el navegador avisarà que no és una site de confiança.
Els certificats autofirmats solen estar amb el nom snakeoil. Els pots comprovar a l'arxiu
/etc/apache2/sites-available/default-ssl.conf
Els arxius solen ser (només com a referència):
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Per activar el protocol cal:
- Obrir el port 443 si estem darrera d'un firewall (és el cas del AWS)
- Instal·lar el mòdul SSL
- Activar la site default-ssl
I ja podem anar a mirar el servidor amb:
https://elmeudomini
Crear un certificat vàlid gratuït a StartCom
La companyia StartCom Ltd. ens proporciona certificats gratuïts a l'adreça:
http://startssl.com
OJU: startssl.com no fa certificats per dominis gratuits com .tk. Si voleu fer-ne algun ha de ser en alguna altra companyia certificadora o bé pensar en fer-vos un domini no gratuït (per exemple un .com).
Segueix les següents passes:
- Crea un compte nou a www.startssl.com , millor si ho fas amb la EXPRESS LANE (et guiarà per fer el teu certificat de forma més ràpida)
- Valida el teu compte de email
- En el següent pas es descarregarà al teu browser el certificat d'usuari de StartCom
- Fes una còpia de seguretat del teu certificat d'usuari. Oju, és important, si perds aquesta clau no podràs entrar al teu compte d'usuari de StartCom.
- Ves al Control Panel de la web de StartCom
- Entra el domini que vols certificar
- Selecciona l'adreça de correu a través de la qual vols validar (és l'adreça de correu que indica el teu registre de domini)
- Entra la contrasenya (10 caràcters mínim)
- Ara pots descarregar els certificats per instal·lar-los al teu servidor (Apache)
En el cas que s'hagi penjat la creació del certificat, no respongui el servidor o no hagis seguit la "express lane":
- Ves al control panel
- Assegura't que has validat l'email i el teu domini pel que vols els certificats.
- Vés a Certificates Wizard i selecciona Web Server SSL/TLS Certificate
- Introdueix la contrasenya (oju, 10 caràcters mínim)
- Descarrega la clau privada ssl.key
- Afegeix un subdomini (típicament www)
- Descarrega els certificats per als dominis configurats:
- Certificat del domini: ssl.crt (hauràs de fer copiar i enganxar)
- Certificat intermig: sub.class1.server.ca.pem
- Certificat root: ca.pem
Amb aquests arxius ja pots configurar el teu apache.
Instal·lant els certificats SSL al teu servidor
Per instal·lar correctament els certificats cal modificar adequadament default-ssl.conf :
SSLCertificateFile /...path.to.your.certs.../cacauet/ssl.crt SSLCertificateKeyFile /...path.to.your.certs.../ssl.key SSLCertificateChainFile /...path.to.your.certs.../sub.class1.server.ca.pem
OJU: a partir d'ara cal entrar la contrasenya quan reinciis l'Apache
Claus SSL encriptades
La clau privada de SSL (arxiu ssl.key) sol venir encriptada per més seguretat. Però si la posem tal qual al Apache ens resultarà en que per reiniciar el servei ens demana la contrasenya (passphrase).
Això és incòmode però pitjor encara és si hem reiniciar el servidor i l'Apache no arrenca perquè no estem connectats per introduir-la. Millor, així la desencriptem dins el servidor i ens estalviem problemes (tot i que seria menys segur).
Podem desencriptar la nostra clau amb:
$ openssl rsa -in ssl.key -out ssl.dec.key
I, per suposat, poseu la clau desencriptada al lloc corresponent de la configuració d'Apache.