Archivo del foro de PucelaBits del Friday November 17, 2023.

Lets encrypt (duda)

Cramer_0xbit

actualmente fiti y yo yevamos un servidor que contiene varias maquinas virtuales que proporcionan servicios distintos; de los cuales algunos ofrecen una web; el tema es el siguiente
: ¿Donde tendríaos que instalar let’s encrypt para que funcionase? en el hypervisor y un certificado daria servicio a todos? o en cada una de las máquinas tendriamos que instalar lets encrypt con un certificado distinto una a una

diego.fidalgo

Hola Sergio!

Te explico como funciona; es sencillo. Para empezar, los certificados suelen estar formados por un par de ficheros *.pem.

Uno es el certificado en sí, y el otro es la clave privada (SSL hace uso de algoritmos de clave pública-privada para funcionar).

El certificado va asociado al dominio, y dependiendo de cómo sea, podrá servir para diferentes subdominios o no. En el caso de let’s encrypt, nos ha generado uno para el dominio y otro par para los subdominios (es decir, tres.)

Luego, está la otra historia: generar certificados es trivial, es decir, cualquiera puede generarse un certificado. Y cualquiera puede firmarlo. Aquí es donde entra el tema de las CA (autoridades certificadoras). Podríamos considerar que la mayor parte de navegadores se pone de acuerdo y monta una lista de “autoridades certificadoras de confianza”.

Lo que ha sucedido siempre es que los considerados de confianza siempre han sido empresas que han cobrado por el certificado. Y ahora, con Let’s Encrypt, ellos son una autoridad certificadora, te firman tu certificado y es gratis :P.

¿Cómo funciona? Pues es bastante sencillo y está bien explicado en su página.

Y con respecto a las dudas sobre el hypervisor y las máquinas virtuales… Lo que importa es el servicio, es decir, da igual que tengamos varias máquinas y locuras varias. Tenmos una sóla IP pública. El puerto de HTTPS es el 443.

¿Quién escucha ahí? - Nuestro servidor web. Por tanto, el que tiene que ser configurado con el certificado es el servidor web. El servidor web cuenta con varios ficheros de configuración, y éstos tienen cada uno la configuración asociada a un vhost concreto (en el tercer párrafo comentaba que LE monta un certificado por dirección, y tenemos un vhost por dirección - el blog, el foro, etc).

Si montamos en el server otra página web y queremos proteger la privacidad de las personas que vayan acceder a ellas con Let’s Encrypt!, tendremos que volver a ejecutar en ese servidor LE, éste, generará un certificado, lo firmará en nombre de LE, y ya de paso analiza las configuraciones del server web y te lo deja todo listo para trabajar con HTTPS.

Es posible que me equivoque en algo de lo que he dicho. Me encantaría ser corregido si es así.

Un saludo!

nukeador

@Cramer_0xbit ¿te sirvieron las explicaciones? :smiley:

Cramer_0xbit

totalmente!!
aunque me gustaria meterme mas a saco para poder usarlo con una wildcard

nukeador

Como referencia rápida acabo de publicar este artículo:

Cifra todos tus sitios con Let’s Encrypt de forma sencilla, rápida y gratuita

javierprovecho

Y a esto, yo le sumaría HSTS (https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security), la cual es una simple cabecera que fuerza y refuerza que el navegador use HTTPS. Por defecto se suele poner que expire a los 6 meses. Establecer esta cabecera, y perder/no tener un certificado válido hacer que no se pueda acceder al sitio web si ha sido visitado previamente.

nukeador

En este caso ya nunca nos quedaremos sin tener un certificado para nuestra web por lo que no hay problema :slight_smile:

javierprovecho

A veces cuando se configura un servidor web se dejan cabos sueltos, por los que un atacante o visitante puede acceder sin usar HTTPS.

Con la cabecera HSTS, se impide acceder al sitio via HTTP y obliga que el certificado sea válido, es decir, que el visitante no pueda continuar visitando el sitio si el certificado es inseguro.

Por cierto, Let’s Encrypt ha emitido medio millón de certificados! https://letsencrypt.org/stats/?500k

EDIT: os dejo un artículo que habla sobre los cabos sueltos en un servidor, especialmente si se usa en una red Tor, aunque es aplicable a cualquier otro escenario donde queramos reforzar la seguridad. http://www.elladodelmal.com/2016/02/conseguir-la-direccion-ip-de-servidores.html

nukeador

Una actualización, el script para gestionar y renovar los certificados ha cambiado, ahora se llama certbot y está mantenido por la EFF

Hay que actualizar el script viejo por el nuevo :wink: