En mi post anterior, hablé sobre cómo implementar el certificado SSL en alojamiento compartido, servidor Cloud/VPS, Cloudflare, etc. y algunos de ustedes preguntaron cómo hacerlo en el Balanceador de Carga (LB)
Es una buena idea terminar el handshake SSL en un dispositivo de borde de red por muchas razones
- Es más rápido
- Puede realizar cambios sobre la marcha
- Fácil mantenimiento
- Endurecimiento SSL/TLS gestionado por el LB
Google Cloud Platform (GCP) es fantástica, la utilizo para Geek Flare y me encanta. GCP ofrece muchas soluciones en la nube, incluido el equilibrador de carga
Hay tres tipos de equilibrador de carga disponibles, y si aloja aplicaciones basadas en web, se recomienda el tipo HTTP(S)
Veamos cómo implementar un certificado SSL en el equilibrador de carga HTTP(S) de Google Cloud
Para este ejercicio, utilizaré mi dominio de laboratorio (techpostal.com) para reenviar el tráfico a la VM del motor de computación (Nginx) a través del LB
Asumo que ya tiene listo lo siguiente
- Servidor web en ejecución
- LB HTTP(S) con puerto 80
Implementación del certificado en Google Cloud LB
- Iniciar sesión en Google Cloud >> Servicios de red >> Equilibrio de carga(enlace directo)
- Haga clic en editar para el respectivo LB
- Vaya a la configuración del frontend >> Añadir IP y puerto del frontend
- Seleccione el protocolo como HTTPS
- He dejado la IP como efímera, pero en un sistema de producción se recomienda que sea estática
- Despliegue Certificado y haga clic en "Crear un nuevo certificado"
Aparecerá otra ventana donde podrá introducir la clave privada, la pública y la cadena del certificado
- Vamos a crear el CSR (Certificate Signing Request) utilizando OpenSSL
openssl req -out techpostal.csr -newkey rsa:2048 -nodes -keyout techpostal.key
- Introduzca la información necesaria según se le solicite
- Observará que se ha creado un archivo de clave y CSR
root@web-server:~# ls -ltr
-rw-r-r-
1 root 1704 Sep 2 06:56 techpostal.key
-rw-r-r-
1 root 1017 2 sep 06:56 techpostal.csr root@web-servidor:~#
Ahora necesita enviar esta CSR a una autoridad de certificación para que la firme. Yo estoy usando Encriptemos para firmar mi certificado y he introducido esos datos y pulsado "crear"
Hay más proveedores de certificados SSL GRATUITOS si quiere explorar
- Haga clic en Hecho y luego en Actualizar
Obtengamos los detalles de la IP del frontend expandiendo el LB
Ahora, tiene que actualizar el registro A de su dominio para apuntar la IP del balanceador de carga en el registrador del dominio. Una vez hecho esto, intente acceder a su URL con https, y debería funcionar
Esto concluye que el handshake SSL para techpostal.com se está terminando en el balanceador de carga
Google Cloud se encarga del endurecimiento SSL/TLS necesario para garantizar que no está expuesto a un protocolo conocido, vulnerabilidades de cifrado. Hice una prueba en SSL Labs y obtuve la calificación A
Espero que esta guía rápida le ayude a habilitar SSL en Google LB para su dominio.