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 6 revisions intermèdies del mateix usuari que no es mostren)
Línia 5: Línia 5:
 
Pots començar a llegir sobre Let's Encrypt aquí:
 
Pots començar a llegir sobre Let's Encrypt aquí:
 
  https://letsencrypt.org/getting-started/
 
  https://letsencrypt.org/getting-started/
 +
 +
<br>
 +
 +
== Requeriments ==
 +
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]]
 +
 +
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)
  
 
<br>
 
<br>
  
 
== Activem el protocol SSL a Apache ==
 
== 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.
+
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>
  
Els certificats autofirmats solen estar amb el nom ''snakeoil''. Els pots comprovar a l'arxiu
+
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.
/etc/apache2/sites-available/default-ssl.conf
 
  
Els arxius solen ser (només com a referència):
+
Els certificats autofirmats solen estar amb el nom ''snakeoil''. Els pots comprovar a l'arxiu <code>/etc/apache2/sites-available/default-ssl.conf</code>:
 
  SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
 
  SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
 
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
 
  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:
 
I ja podem anar a mirar el servidor amb:
Línia 29: Línia 36:
  
 
== Sistema manual ==
 
== Sistema manual ==
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.
 
 
Bàsicament el que farem és:
 
# Assegurar-te que tens ben configurats el "naked domain" (elmeudomini.com) i el subdomini web (www.elmeudomini.com) apuntant al teu servidor AWS
 
# Obtenir els certificats de Let's Encrypt
 
# Obrir el port 443 del firewall del servidor AWS
 
# Instal·lar-los al nostre Apache.
 
 
=== Obtenció de certificats ===
 
 
Feu-ho aquí:
 
Feu-ho aquí:
 
  https://gethttpsforfree.com/
 
  https://gethttpsforfree.com/
  
 
Pistes:
 
Pistes:
* En el punt 4 en què cal posar en marxa un servidor
+
* 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
=== Instal·lar a Apache ===
+
*# Generar una petició de certificat (CSR)
Assegura't de tenir el HTTPS en marxa, encara que sigui sense els certificats definitius:
+
*# 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):
$ sudo a2enmod ssl
+
*#* Publicant un arxiu en una URL concreta que et diu a la web.
$ sudo a2ensite default-ssl.conf
+
*#* 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.
Segueix els passos d'instal·lació que indica la pàgina de https://gethttpsforfree.com
+
* 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/