HTTPS amb Let's Encrypt

De Cacauet Wiki
La revisió el 18:05, 22 gen 2020 per Enric (discussió | contribucions) (→‎Activem el protocol SSL a Apache)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

Intro[modifica]

Let's Encrypt és un proveïdor de seguretat web entre d'altres, que ens permet certificats gratuïts.

Pots començar a llegir sobre Let's Encrypt aquí:

https://letsencrypt.org/getting-started/


Requeriments[modifica]

Per a fer aquesta pràctica has de tenir un domini en un servidor públic. Es recomana utilitzar els registrador de dominis gratuïts www.freenom.com i com a servidors AWS: Amazon Web Services

A més, cal assegurar-se que tens ben configurats els registres DNS:

  • naked domain (per exemple: enric.tk)
  • el del World Wide Web (per exemple: www.enric.tk)


Activem el protocol SSL a Apache[modifica]

Per activar el protocol HTTPS cal:

  1. Assegurar-te que tens ben configurats el "naked domain" (elmeudomini.com) i el subdomini web (www.elmeudomini.com) apuntant el teu servidor AWS
  2. Obrir el port 443 si estem darrera d'un firewall (és el cas del AWS)
  3. Instal·lar el mòdul SSL
    sudo a2enmod ssl
  4. Activar la site default-ssl:
    sudo a2ensite default-ssl.conf

Amb 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:

SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

I ja podem anar a mirar el servidor amb:

https://elmeudomini


Sistema manual[modifica]

Feu-ho aquí:

https://gethttpsforfree.com/

Pistes:

  • Cal fer-ho tot seguit perquè si no surt bé has de començar de nou des del punt 3.
  • El procés per obtenir el certificat segueix:
    1. Crear un parell de claus publica/privada
    2. Generar una petició de certificat (CSR)
    3. El Big Brother (Let's Encrypt) ens proposa un repte (challenge) per demostrar que nosaltres som els autèntics propietaris del domini en qüestió. Pots fer-ho de 2 maneres (tria una i prou):
      • Publicant un arxiu en una URL concreta que et diu a la web.
      • Posant en marxa un servidor web molt lleuger amb una comanda amb Python que et dona la web.
  • Un cop hagis superat el repte i el Big Brother et reconegui com a propietari, obtindràs els certificats.
  • Descarrega i instal·la els certificats tal i com t'indica la pròpia pàgina de https://gethttpsforfree.com


Sistema automàtic[modifica]

El sistema automàtic utilitza CERTBOT

https://certbot.eff.org/