Diferència entre revisions de la pàgina «HTTPS amb Let's Encrypt»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
 
(Hi ha 7 revisions intermèdies del mateix usuari que no es mostren)
Línia 8: Línia 8:
 
<br>
 
<br>
  
== Sistema manual ==
+
== Requeriments ==
El sistema manual és el més aplicable a qualsevol situació en què hagueu de configurar el vostre Apache amb certificats obtinguts per alguna companyia certificadora com Verisign o Comodo.
+
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 [http://www.freenom.com www.freenom.com] i com a servidors [[AWS: Amazon Web Services]]
  
Bàsicament el que farem és:
+
A més, cal assegurar-se que tens ben configurats els registres DNS:
# Assegurar-te que tens ben configurats el "naked domain" (elmeudomini.com) i el subdomini web (www.elmeudomini.com) apuntant al teu servidor AWS
+
* ''naked domain'' (per exemple: enric.tk)
# Obtenir els certificats de Let's Encrypt
+
* el del World Wide Web (per exemple: www.enric.tk)
# Obrir el port 443 del firewall del servidor AWS
 
# Instal·lar-los al nostre Apache.
 
  
=== Obtenció de certificats ===
+
<br>
Feu-ho aquí:
 
https://gethttpsforfree.com/
 
  
Pistes:
+
== Activem el protocol SSL a Apache ==
* En el punt 4 en què cal posar en marxa un servidor
+
Per activar el protocol HTTPS cal:
 +
# Assegurar-te que tens ben configurats el "naked domain" (elmeudomini.com) i el subdomini web (www.elmeudomini.com) apuntant el teu servidor AWS
 +
# Obrir el port 443 si estem darrera d'un firewall (és el cas del AWS)
 +
# Instal·lar el mòdul SSL<pre>sudo a2enmod ssl</pre>
 +
# Activar la site ''default-ssl'':<pre>sudo a2ensite default-ssl.conf</pre>
  
 +
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.
  
=== Instal·lar a Apache ===
+
Els certificats autofirmats solen estar amb el nom ''snakeoil''. Els pots comprovar a l'arxiu <code>/etc/apache2/sites-available/default-ssl.conf</code>:
Assegura't de tenir el HTTPS en marxa, encara que sigui sense els certificats definitius:
+
  SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
  $ sudo a2enmod ssl
+
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
  $ sudo a2ensite default-ssl.conf
 
  
Segueix els passos d'instal·lació que indica la pàgina de https://gethttpsforfree.com
+
I ja podem anar a mirar el servidor amb:
 +
https://elmeudomini
  
 +
<br>
  
 +
== Sistema manual ==
 +
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:
 +
*# Crear un parell de claus publica/privada
 +
*# Generar una petició de certificat (CSR)
 +
*# 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
  
 
<br>
 
<br>

Revisió de 18:05, 22 gen 2020

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/