Saltar al contenido principal

Pasos a seguir

Los siguientes pasos pueden usarse para habilitar SSL en un único servidor de ClickHouse mediante Let’s Encrypt, una autoridad de certificación (CA) gratuita, automatizada y abierta, diseñada para facilitar que cualquier persona proteja sus sitios web con HTTPS. Al automatizar el proceso de emisión y renovación de certificados, Let’s Encrypt garantiza que los sitios web sigan siendo seguros sin necesidad de intervención manual.
En esta guía, asumimos que ClickHouse se ha instalado en las ubicaciones de paquetes estándar. Usamos el dominio product-test-server.clickhouse-dev.com en todos los ejemplos. Sustituya ese dominio por el suyo según corresponda.
  1. Verifique que tenga un registro DNS A o AAAA que apunte a su servidor. Esto puede hacerse con la herramienta de Linux dig. Por ejemplo, la respuesta para product-test-server.clickhouse-dev.com al usar el servidor DNS de Cloudflare 1.1.1.1:

Observa la sección siguiente, que confirma la presencia de un registro A.
  1. Abre el puerto 80 en tu servidor. Este puerto se utilizará para la renovación automática de certificados mediante el protocolo ACME con certbot. En AWS, esto se puede lograr modificando el grupo de seguridad asociado a la instancia.

  1. Instala certbot, por ejemplo, con apt

  1. Obtenga un certificado SSL

No tenemos un servidor web en ejecución en nuestro servidor, así que usa la opción (1), que permite a Certbot usar un servidor web temporal independiente.
Introduce el nombre de dominio completo de tu servidor, por ejemplo product-test-server.clickhouse-dev.com, cuando se te solicite.
Let’s Encrypt tiene la política de no emitir certificados para ciertos tipos de dominios, como los dominios generados por proveedores de nube pública (por ejemplo, los dominios de AWS *.compute.amazonaws.com). Estos dominios se consideran infraestructura compartida y se bloquean por motivos de seguridad y prevención de abusos.
  1. Copia los certificados al directorio de ClickHouse.

Este comando configura una tarea cron para automatizar la gestión de los certificados SSL de Let’s Encrypt para un servidor ClickHouse. Se ejecuta cada minuto como usuario root y copia los archivos .pem del directorio de Let’s Encrypt al directorio de configuración del servidor ClickHouse, pero solo si se han actualizado. Después de copiarlos, el script cambia la propiedad de los archivos al usuario y grupo clickhouse, lo que garantiza que el servidor tenga el acceso necesario. También establece permisos seguros de solo lectura (chmod 400) en los archivos copiados para mantener una seguridad estricta de los archivos. Esto garantiza que el servidor ClickHouse siempre tenga acceso a los certificados SSL más recientes sin necesidad de intervención manual, manteniendo la seguridad y minimizando la sobrecarga operativa.
  1. Configure el uso de estos certificados en clickhouse-server.

  1. Reinicie el servidor de ClickHouse

  1. Valide que ClickHouse pueda comunicarse por SSL

Para que este último paso funcione, es posible que tengas que asegurarte de que el puerto 8443 sea accesible; por ejemplo, incluyéndolo en tu grupo de seguridad de AWS. Como alternativa, si solo quieres acceder a ClickHouse desde el servidor, modifica tu archivo hosts; es decir:
Si abre conexiones desde direcciones comodín, asegúrese de que se aplique al menos una de las siguientes medidas:
  • el servidor está protegido por un firewall y no es accesible desde redes no confiables;
  • todos los usuarios están restringidos a un subconjunto de direcciones de red (consulte users.xml);
  • todos los usuarios tienen contraseñas seguras, solo son accesibles las interfaces seguras (TLS), o las conexiones se realizan únicamente a través de interfaces TLS.
  • los usuarios sin contraseña tienen acceso de solo lectura.
Consulte también: https://www.shodan.io/search?query=clickhouseEl blog Building single page applications with ClickHouse puede utilizarse como guía para proteger instancias públicas.
Lo siguiente también debería funcionar si se conecta desde la máquina local en la que se está ejecutando ClickHouse. Para conectarse a través de product-test-server.clickhouse-dev.com, abra el puerto 9440 en su:
Última modificación el 1 de julio de 2026