Passer au contenu principal

Étapes à suivre

Les étapes suivantes permettent d’activer SSL pour un seul serveur ClickHouse à l’aide de Let’s Encrypt, une autorité de certification (CA) gratuite, automatisée et ouverte, conçue pour permettre à chacun de sécuriser facilement ses sites web avec HTTPS. En automatisant le processus de délivrance et de renouvellement des certificats, Let’s Encrypt garantit que les sites web restent sécurisés sans nécessiter d’intervention manuelle.
Nous supposons que ClickHouse a été installé dans les emplacements standard des paquets dans le guide suivant. Nous utilisons le domaine product-test-server.clickhouse-dev.com dans tous les exemples. Remplacez-le par votre propre domaine.
  1. Vérifiez que vous disposez d’un enregistrement DNS A ou AAAA pointant vers votre serveur. Vous pouvez le vérifier à l’aide de l’outil Linux dig. Par exemple, voici la réponse pour product-test-server.clickhouse-dev.com lors de l’utilisation du serveur DNS Cloudflare 1.1.1.1 :

Notez la section ci-dessous, qui confirme la présence d’un enregistrement A.
  1. Ouvrez le port 80 sur votre serveur. Ce port sera utilisé pour le renouvellement automatique du certificat via le protocole ACME avec certbot. Sur AWS, cela peut se faire en modifiant le Security Group associé à l’instance.

  1. Installez certbot, par exemple avec apt

  1. Obtenez un certificat SSL

Aucun serveur web n’est en cours d’exécution sur ce serveur. Utilisez donc l’option (1), qui permet à Certbot d’utiliser temporairement son propre serveur web.
Saisissez le nom de domaine complet de votre serveur, par ex. product-test-server.clickhouse-dev.com, lorsqu’il vous sera demandé.
Let’s Encrypt a pour politique de ne pas délivrer de certificats pour certains types de domaines, notamment les domaines générés par des fournisseurs de Cloud public (par ex. les domaines AWS *.compute.amazonaws.com). Ces domaines sont considérés comme une infrastructure partagée et sont bloqués pour des raisons de sécurité et de prévention des abus.
  1. Copiez les certificats dans le répertoire ClickHouse.

Cette commande configure une tâche cron pour automatiser la gestion des certificats SSL Let’s Encrypt d’un serveur ClickHouse. Elle s’exécute chaque minute en tant qu’utilisateur root et copie les fichiers .pem du répertoire Let’s Encrypt vers le répertoire de configuration du serveur ClickHouse, mais uniquement si ces fichiers ont été mis à jour. Après la copie, le script attribue les fichiers à l’utilisateur et au groupe clickhouse, afin de garantir au serveur les droits d’accès nécessaires. Il applique également des permissions sécurisées en lecture seule (chmod 400) aux fichiers copiés afin de renforcer la sécurité des fichiers. Cela garantit que le serveur ClickHouse a toujours accès aux certificats SSL les plus récents, sans intervention manuelle, tout en maintenant un bon niveau de sécurité et en réduisant au minimum la surcharge opérationnelle.
  1. Configurez l’utilisation de ces certificats dans clickhouse-server.

  1. Redémarrez le serveur ClickHouse

  1. Vérifiez que ClickHouse peut communiquer en SSL

Pour que cette dernière étape fonctionne, vous devrez peut-être vous assurer que le port 8443 est accessible, par exemple en l’autorisant dans votre Security Group AWS. Sinon, si vous souhaitez uniquement accéder à ClickHouse depuis le serveur, modifiez votre fichier hosts, c.-à-d.
Si vous ouvrez des connexions depuis des adresses génériques, assurez-vous qu’au moins une des mesures suivantes est en place :
  • le serveur est protégé par un pare-feu et n’est pas accessible depuis des réseaux non fiables ;
  • tous les utilisateurs sont limités à un sous-ensemble d’adresses réseau (voir users.xml) ;
  • tous les utilisateurs disposent de mots de passe robustes, seules des interfaces sécurisées (TLS) sont accessibles, ou les connexions s’effectuent uniquement via des interfaces TLS.
  • les utilisateurs sans mot de passe disposent d’un accès en lecture seule.
Voir aussi : https://www.shodan.io/search?query=clickhouseLe blog Building single page applications with ClickHouse peut servir de référence pour sécuriser les instances publiques.
Ce qui suit devrait également fonctionner si vous vous connectez depuis la machine locale sur laquelle ClickHouse s’exécute. Pour vous connecter via product-test-server.clickhouse-dev.com, ouvrez le port 9440 dans votre :
Dernière modification le 29 juin 2026