X

¿Que es Let’s Encrypt y como configurarlo?

Let’s Encrypt se trata de una autoridad de certificación, conocidas con las siglas CA, libre y gratuita impulsada por la Fundación Linux, que permite generar certificados SSL gratuitos y automáticos para nuestros sitios web. El objetivo de la comunidad que está detrás es el de promover que el tráfico de Internet sea seguro.

Detrás de este proyecto se encuentra el apoyo de empresas como Mozilla, Akamai, Google o Facebook. Let’s Encrypt emitió más de 24 millones certificados en su primer año, y la cifra aumenta a diario.

Ellos definen el proyecto de la siguiente manera:

We give people the digital certificates they need in order to enable HTTPS (SSL/TLS) for websites, for free, in the most user-friendly way we can. We do this because we want to create a more secure and privacy-respecting Web.

  ¿Como funciona?

Let’s Encrypt utiliza el protocolo ACME (Automatic Certificate Management Environment) , el cual se basa en un proceso en dos pasos, por un lado la validación del dominio y la solicitud del certificado. te recomiendo que leas la documentación oficial donde muestra un ejemplo bastante bueno especificando todo el proceso.

Si deseas mas información o formarte acerca de certificados ssl aquí te dejo unos libros interesantes:

Características de Let’s Encrypt

  • Los certificados son totalmente gratuitos (Siempre puedes hacer una donación al proyecto). 100% libre, cualquier dueño de su propio dominio puede obtener un certificado confiable.
  • La instalación en tu servidor es muy sencilla, más adelante mostraré un ejemplo.
  • No requiere de ningún e-mail de confirmación
  • Los principales navegadores reconocen estos certificados a la perfección
  • Los certificados se renuevan automáticamente. Estos certificados tienen una duración por defecto de 3 meses, pero son renovables.
  • Transparente: Todos los certificados emitidos o revocados serán registrados públicamente y estarán disponibles para que cualquier persona pueda inspeccionarlos.
  • Open Source:  El protocolo de emisión y renovación automática se publicará como un estándar abierto que otros pueden adoptar.

Ejemplo de Instalación con Certbot

Cerbot es una herramienta que permite activar automáticamente el certificado ssl a través de tus certificados Let’s encrypt. Para instalar certbot entra en https://certbot.eff.org/ y selecciona tu sistema operativo y tu servidor web.

En mi caso estoy usando Ubuntu 14.04 y sirviendo la web con Apache. A continuación os detallo la traza de instalación. Lo primero es lanzar cerbot indicando tu servidor web:

certbot --apache 

A continuación, te indicará donde dejará el log de debug de la instalación y te preguntará acerca del dominio sobre el que quieres generar los certificados y el email para las renovaciones y avisos de seguridad.

Saving debug log to /var/log/letsencrypt/letsencrypt.log                                                     
No names were found in your configuration files. Please enter in your domain                                 
name(s) (comma and/or space separated)  (Enter 'c' to cancel):adrianalonso.es                                
Enter email address (used for urgent renewal and security notices) (Enter 'c' to                             
cancel): xxxxxx@gmail.com                                                                                  
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

Te solicitará que aceptes los términos de uso

-------------------------------------------------------------------------------                              
Please read the Terms of Service at                                                                          
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree                             
in order to register with the ACME server at                                                                 
https://acme-v01.api.letsencrypt.org/directory                                                               
-------------------------------------------------------------------------------                              
(A)gree/(C)ancel: A

A continuación empezará a ejecutar la acción para obtener el certificado, activar el modulo ssl en el apache y generar tu virtualhost con los certificados descargados:

                                            
Starting new HTTPS connection (1): supporters.eff.org                                                        
Obtaining a new certificate                                                                                  
Performing the following challenges:                                                                         
tls-sni-01 challenge for adrianalonso.es                                                                     
Enabled Apache socache_shmcb module                                                                          
Enabled Apache ssl module                                                                                    
Waiting for verification...                                                                                  
Cleaning up challenges                                                                                       
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem                                       
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem                                                      
Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf                                 
Enabled Apache socache_shmcb module                                                                          
Enabled Apache ssl module                                                                                    
Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf                    
Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf                                                                                                                 

A continuación te pregunta si quieres mantener las dos opciones u obligar a que toda petición http se redigira a https

Please choose whether HTTPS access is required or optional.                                                  
-------------------------------------------------------------------------------                              
1: Easy - Allow both HTTP and HTTPS access to these sites                                                    
2: Secure - Make all requests redirect to secure HTTPS access                                                
-------------------------------------------------------------------------------                              
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1                                    
                                                                                                             
-------------------------------------------------------------------------------                              
Congratulations! You have successfully enabled https://adrianalonso.es

Yo elegí que mantuviera las dos, pero posteriormente configuré en mi htaccess esta redirecicón 301

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
</IfModule>

Finalmente te dará una url donde puedes verificar la validez de este certificado y toda su información publica. Espero que entre todos securizemos Internet gracias a estas grandes iniciativas.

 

Categorías: Seguridad Web
Tags: certificadoshttphttpsletsyencryptssl
alonsus91 :Joven ingeniero en Informática especializado en Ingeniería Web apasionado por las nuevas tecnologías y las últimas novedades en informática e Internet con ansias de conocer a fondo el mercado laboral y aportarle todos mis conocimientos.
Disqus Comments Loading...

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestro sitio web. Si continúa utilizando este sitio asumiremos que está de acuerdo.