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 :
sudo bash install.sh \
--domain coresight.votre-entreprise.com \
--email admin@votre-entreprise.comRenouvellement 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.
# Vérifier le statut du timer de renouvellement
systemctl status coresight-cert-renew.timer
# Forcer un renouvellement manuel
sudo systemctl start coresight-cert-renew.serviceMode 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 :
- Accepter manuellement (clic sur "Continuer quand même")
- 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.pemLinux système
# 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-trustVérifier le certificat actuel
# 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 -enddateRemplacer le certificat manuellement
Par un certificat Let's Encrypt existant
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 coresightPar un certificat d'entreprise (PKI interne)
# 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 coresightChaî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 :
cat votre-cert.pem intermediate.pem root-ca.pem > /opt/coresight/server/certs/cert.pemReverse Proxy (Nginx)
Si vous utilisez Nginx devant CoreSight, voir Configuration Nginx →
Vérification de santé SSL
# 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}