Skip to content

SSL & Certificats TLS

Deux modes de certificat

Mode 1 — Let's Encrypt (recommandé pour les domaines publics)

Let's Encrypt fournit des certificats reconnus par tous les navigateurs, sans avertissement de sécurité.

Conditions :

  • Avoir un nom de domaine public (ex: coresight.votre-entreprise.com)
  • Ce domaine doit pointer vers l'IP publique du serveur
  • Le port 80 doit être accessible depuis internet lors de l'installation

Installation :

bash
sudo bash install.sh \
  --domain coresight.votre-entreprise.com \
  --email admin@votre-entreprise.com

Renouvellement automatique : CoreSight installe un timer systemd qui renouvelle le certificat automatiquement 2 fois par jour (le renouvellement effectif n'a lieu que 30 jours avant expiration). Le service est redémarré après chaque renouvellement.

bash
# Vérifier le statut du timer de renouvellement
systemctl status coresight-cert-renew.timer

# Forcer un renouvellement manuel
sudo systemctl start coresight-cert-renew.service

Mode 2 — Certificat auto-signé (réseau interne)

Pour les déploiements en réseau local sans domaine public.

Caractéristiques :

  • Généré lors de l'installation avec openssl
  • Algorithme : RSA-4096
  • Durée : 10 ans
  • SAN : DNS du serveur + IP locale + localhost + 127.0.0.1

Les navigateurs afficheront un avertissement que vous pouvez :

  1. Accepter manuellement (clic sur "Continuer quand même")
  2. Supprimer en important le certificat dans le magasin de confiance

Importer le certificat auto-signé dans les navigateurs

Firefox

1. Menu → Paramètres → Vie privée et sécurité
2. Certificats → Afficher les certificats
3. Autorités → Importer → Sélectionner cert.pem
4. Cocher "Faire confiance pour identifier les sites web"

Chrome / Edge

1. Paramètres → Confidentialité et sécurité → Sécurité
2. Gérer les certificats → Autorités de certification racines de confiance
3. Importer → Sélectionner cert.pem

Linux système

bash
# Debian/Ubuntu
sudo cp /opt/coresight/server/certs/cert.pem /usr/local/share/ca-certificates/coresight.crt
sudo update-ca-certificates

# RHEL/Rocky/CentOS
sudo cp /opt/coresight/server/certs/cert.pem /etc/pki/ca-trust/source/anchors/coresight.pem
sudo update-ca-trust

Vérifier le certificat actuel

bash
# Voir le type de certificat
cat /opt/coresight/server/certs/.cert_type

# Informations sur le certificat
openssl x509 -in /opt/coresight/server/certs/cert.pem -noout -text | grep -E "Subject:|Not After|DNS:"

# Date d'expiration
openssl x509 -in /opt/coresight/server/certs/cert.pem -noout -enddate

Remplacer le certificat manuellement

Par un certificat Let's Encrypt existant

bash
LE_DOMAIN="votre-domaine.com"
sudo certbot certonly --standalone --domain ${LE_DOMAIN} --email admin@votre-domaine.com

sudo cp /etc/letsencrypt/live/${LE_DOMAIN}/privkey.pem /opt/coresight/server/certs/key.pem
sudo cp /etc/letsencrypt/live/${LE_DOMAIN}/fullchain.pem /opt/coresight/server/certs/cert.pem
sudo chown coresight:coresight /opt/coresight/server/certs/*.pem
sudo chmod 640 /opt/coresight/server/certs/*.pem

sudo systemctl restart coresight

Par un certificat d'entreprise (PKI interne)

bash
# Copier vos fichiers de certificat
sudo cp votre-cert.pem /opt/coresight/server/certs/cert.pem
sudo cp votre-cle-privee.pem /opt/coresight/server/certs/key.pem
sudo chown coresight:coresight /opt/coresight/server/certs/*.pem
sudo chmod 640 /opt/coresight/server/certs/*.pem

sudo systemctl restart coresight

Chaîne de certification

Si votre certificat nécessite des certificats intermédiaires, créez un fichier fullchain.pem contenant votre certificat suivi des intermédiaires :

bash
cat votre-cert.pem intermediate.pem root-ca.pem > /opt/coresight/server/certs/cert.pem

Reverse Proxy (Nginx)

Si vous utilisez Nginx devant CoreSight, voir Configuration Nginx →

Vérification de santé SSL

bash
# Test depuis l'extérieur
curl -I https://votre-domaine.com/api/health

# Test avec certificat auto-signé (ignorer la validation)
curl -k https://votre-ip/api/health
# → {"status":"ok","version":"1.1.0","uptime":3600}

CoreSight Documentation