¿Qué es Lets Encrypt y cuáles son las ventajas que ofrece a nuestros sitios de OpenCloud?
Actualizado el 12 de diciembre, 2016. Por OpenCloud.
Los clientes de OpenCloud cuentan con la ventaja de utilizar certificados SSL gratuitos en sus sitios web sin necesidad de hacer ninguna gestión adicional. Todos los sitios web alojados bajo nuestras plataformas están provistos con seguridad vía SSL/TLS a través de la Autoridad de Certificación abierta y gratuita Let's Encrypt. En esta guía les ofrecemos información sobre esta herramienta y cuáles son las ventajas que aporta el uso de la misma.
¿Qué es Let's Encrypt y cómo funciona?
Antes de comenzar con este tutorial, recomendamos leer la información dispuesta en nuestra guía de Conceptos básicos de los certificados SSL Let's Encrypt es una Autoridad de Certificación abierta, automatizada y gratuita. OpenCloud provee a los clientes de web hosting con un certificado SSL de Let's Encrypt que permite utilizar el protocolo para conexiones seguras HTTPS.
La automatización de Let's Encrypt en conjunto con el protocolo ACME de Entorno de Gestión Automática de Certificados (Automatic Certificate Management Environment) es posible gracias a un agente de gestión de certificados que se ejecuta en el servidor web. De esta forma, nuestros clientes pueden ocupar esta herramienta de forma automática, sin necesidad de hacer ninguna gestión adicional.
En el siguiente ejemplo, tomado del propio sitio web de Let's Encrypt, se explica el proceso en el cual se asigna el certificado al sitio bajo el nombre de dominio https://ejemplo.com
.
Hay dos pasos para llegar a esto. Primero, el agente le prueba a la Autoridad de Certificación que el servidor web controla un dominio. Luego, el agente puede solicitar, renovar y revocar los certificados correspondientes a ese dominio.
Validación del dominio
Let's Encrypt identifica al administrador del servicio por la clave pública. La primera vez que el software agente interactúa con Let's Encrypt, genera un nuevo par de claves y prueba a la Autoridad de Certificación (CA) Let's Encrypt que dicho servidor controla uno o más dominios. Esto es similar al proceso CA de crear una cuenta y añadir dominios a la misma.
Para iniciar el proceso, el agente le pide al CA Let's Encrypt lo que necesita hacer para probar que este controla a ejemplo.com
. El CA Let’s Encrypt mirará el nombre de dominio que se está solicitando y emitirá uno o más conjuntos de desafíos. Entre las pruebas que se realizan para probar el control del dominio podemos encontrar:
- Suministrar un registro DNS bajo
ejemplo.com
; - Suministrar un recurso HTTP bajo un URI reconocido en
https://ejemplo.com/
Además de los desafíos, el CA Let’s Encrypt provee un nonce (un número arbitrario que puede usarse una sola vez) que el agente debe firmar con su par de claves privadas para probar que este controla el par de claves.
El software agente completa alguno de los conjuntos de desafíos provistos. Digamos que puede cumplir con la segunda tarea mencionada arriba: crearía entonces un archivo en una ruta específica del sitio https://example.com
. El agente también firma el nonce provisto con su clave privada. Una vez que el agente completa los pasos, notifica al CA que está listo para completar la validación.
Luego, es trabajo del CA comprobar que los desafíos han sido satisfechos. El CA comprueba la firma en el nonce e intenta descargar el archivo del servidor web para asegurarse de que tenga el contenido esperado.
Si la firma sobre el nonce es válida y los desafíos son completados, entonces el agente identificado por la clave pública es autorizado a realizar la gestión del certificado para el sitio ejemplo.com
. El par de claves que usó el agente es denominado el "Par de claves autorizadas" para ejemplo.com
.
Emisión y revocación del certificado
Una vez que el agente tiene un par de claves autorizadas, el proceso de solicitar, renovar y revocar los certificados consta simplemente del envío de mensajes de gestión del certificado y la firma con una par de claves autorizadas.
Para obtener un certificado para el dominio, el agente construye una Solicitud de Firma de Certificado PKCS#10 que le pide al CA Let's Encrypt que emita un certificado para ejemplo.com
con la clave pública especificada. Como es usual, el CSR incluye una firma para la clave privada correspondiente a la clave pública en el CSR. El agente también firma todo el CSR con la clave autorizada para ejemplo.com
de modo que el CA Let’s Encrypt sepa que está autorizado.
Cuando la Autoridad de Certificación Let’s Encrypt recibe la solicitud, verifica ambas firmas. Si todo luce bien, entonces emite el certificado para ejemplo.com
con la clave pública del CSR y la retorna al agente.
La revocación funciona de forma similar. El agente firma una solicitud de revocación cuando el par de claves autorizadas para ejemplo.com
y el CA Let's Encrypt verifica que la solicitud sea autorizada. Si es así, publica información de revocación en los canales normales para este fin (por ejemplo: CRLs, OCSP) de modo que las partes relacionadas —como los navegadores— puedan saber que no deberían aceptar el certificado revocado.
Importancia del uso de certificados SSL
El uso de la tecnología SSL es la base de las conexiones seguras en Internet y es fundamental para proteger la información cuando se realizan comunicaciones entre las partes involucradas. Como cliente OpenCloud obtendrá beneficios automáticos del uso de certificados SSL. Algunas de las razones para usar SSL se enumeran a continuación.
Provee cifrado (encriptación) de información
Por definición, SSL y TLS son protocolos criptográficos que proporcionan el cifrado de la información transmitida en la red. Si no utilizáramos certificados SSL, la información entre los equipos de red involucrados y los usuarios finales se transmitiría en texto plano y sería muy fácil de interceptar. La información sensible como números de tarjetas de crédito, nombres de usuario y contraseñas debe estar cifrada para evitar problemas de fraude, robo y suplantación de identidad.
Digamos que la información se envía a través de Internet de la siguiente forma:
http://www.susitio.com/acceso/usuario=ejemplo+contraseña=987654
No hace falta decir más, con este simple ejemplo se puede comprender la importancia del cifrado de información web.
Protege contra el Phishing
Los correos electrónicos de phishing generalmente contienen enlaces que conducen a algunos clientes a una réplica muy convincente de su sitio. La intención general de estos correos es obtener información personal como números tarjetas de créditos para cometer delitos cibernéticos. Es realmente complicado que una réplica pueda obtener un certificado SSL válido, por lo tanto, cuando los clientes vean la advertencia del navegador indicando que el sitio no tiene un certificado firmado son más propensos a dejar el sitio y no ingresar su información personal.
Proporciona autenticación
Además del cifrado, un certificado SSL también nos proporciona autenticación al asegurarse de que la información sea enviada al servidor correcto y no a un impostor que intenta robar información. Esto es posible gracias al uso de una Infraestructura de Clave Pública o PKI y la posesión de un certificado SSL de un proveedor confiable.
Es necesario para aceptar pagos en línea
Para que su sitio web pueda aceptar información bancaria de sus clientes, usted debe aprobar auditorías que demuestren que usted cumple con los estándares dictados por la PCI (Industria de Tarjetas de Pago o Payment Card Industry). Uno de los requisitos es el uso apropiado de su certificado SSL.
Ayuda a desarrollar confianza
La confluencia de las características mencionadas ayuda a crear confianza entre los clientes y la empresa. Servir una aplicación web con características robustas de seguridad les da a los clientes razones para confiar en el mismo y ayuda a desarrollar una reputación positiva para su sitio.
Además mejora la experiencia de usuario, facilitando los pagos, evitando advertencias de sitio web no firmado y contribuyendo al comercio electrónico. Es por esto que la seguridad con SSL es una buena práctica que se recomienda independientemente del nicho que ocupe su sitio web.
Recursos adicionales
Puede consultar los siguientes recursos en busca de información adicional con respecto a este tema. Aunque este material es provisto esperando que sea útil, tenga en cuenta que no podemos certificar la actualidad o precisión de los contenidos externos.
- Para más información sobre Let's Encrypt puede visitar su sitio oficial de documentación.
- Para información más detallada visite la hoja de especificaciones del protocolo TLS RFC 5246.
Autor: Johel Burgos