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

De Cacauet Wiki
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb « == Intro == 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í:...».)
 
 
(Hi ha 9 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]]
 +
 
 +
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>
 +
 
 +
== Activem el protocol SSL a Apache ==
 +
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.
 +
 
 +
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
 +
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
 +
 
 +
I ja podem anar a mirar el servidor amb:
 +
https://elmeudomini
  
Bàsicament el que farem és:
+
<br>
# Obtenir els certificats de Let's Encrypt
 
# Instal·lar-los al nostre Apache.
 
  
=== Obtenció de certificats ===
+
== Sistema manual ==
 
Feu-ho aquí:
 
Feu-ho aquí:
 
  https://gethttpsforfree.com/
 
  https://gethttpsforfree.com/
  
=== Instal·lar a Apache ===
+
Pistes:
Coming soon...
+
* 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/