User Tools

Site Tools


serveurs:serveurs_start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
serveurs:serveurs_start [2023/09/19 16:19] julienserveurs:serveurs_start [2025/11/10 19:53] (current) julien
Line 46: Line 46:
 En attendant, la solution de passer par une instance extérieur est notre choix pour notre DNS principal, on utilise Gandi pour nos DNS et donc pour notre cerfication SSL. En attendant, la solution de passer par une instance extérieur est notre choix pour notre DNS principal, on utilise Gandi pour nos DNS et donc pour notre cerfication SSL.
 Pour comprendre les différences entres les différents certificats : https://wiki.koozali.org/Certificates_Concepts Pour comprendre les différences entres les différents certificats : https://wiki.koozali.org/Certificates_Concepts
 +
 +Pour la solution dite "commercial" via Gandi il y a quand même du boulot :
 +
 +Il faut tout d'abord générer le certificat de votre serveur :
 +
 +**Générer une clefs RSA et un code CSR**
 +<code>
 +openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr -utf8
 +</code>
 +
 +
 +Pour ces commandes vous allez avoir plusieurs questions sur votre organisation, adresse, ville...etc (pensez-y)
 +
 +Ensuite nous allons installer l'outil de configuration du certificat SSL dans server-manager
 +<code>
 +yum install smeserver-certificate --enablerepo=smecontribs
 +</code>
 +
 +Dans le server-manager vous aurez accès à une interface particuliére avec 3 tableaux différents pour inscrire vos codes et certificats
 +
 +Avant d'inscrire vos certificats dans ces cases, il vous faudra créer votre reconnaissance de certificat chez votre DNS provider, dans notre cas Gandi.
 +Il faut aller sur l'interface de gestion de vos DNS et acheter un Certificat SSL / TLS (soit pour 1 adresse pour de multiple) nous avons fait le choix d'une seule pour le moment (notre DNS principal) pour pouvoir ensuite expérimenter d'autres type de confirguration que celle du commercial.
 +
 +Une fois que vous avez pris une option SSL pour votre DNS, il vous sera demander de fournir la clef RSA et le code CSR que vous avez généré sur votre serveur, il faudra les copier dans les bonnes cases de votre fournisseur de DNS.
 +
 +Une fois que vous aurez validé l'ensemble de ces étapes et acheter votre certification extérieur (valable seulement pendant 1 an) tous les ans il faudra de nouveau renouveler votre certificats SSL
 +
 +Vous allez maintenant pouvoir : 
 +
 +1-télécharger votre serveur.crt et le mettre dans la 1ere case de l'interface de server-manager (SSL)
 +
 +2-copier votre clef RSA dans la 2eme case, celle là vous l'avez généré vous-même
 +
 +3-télécharger le certificat intermediaire  CA officiel dont vous collerez le code dans la 3ème case
 +
 +Il faut sauver tout ça et tester que vous n'avez plus besoin de valider un certificat pour votre site/nom de domaine
 +Les erreurs que nous avons rencontré ont essentiellement consisté à coller les cerficats au mauvais endroit.... en général il n'y a plus d'accès au site... faîtes donc attention mais tout est reversible avec la commande :
 +<code>
 +signal-event certificate-revert
 +</code>
 +
 +enfin pour tester que votre SLL est en place : https://www.ssllabs.com/ssltest
 +
 +
 +Si vous êtes perdu, pour ce perdre encore plus, il y a plein de docs par ici : https://docs.gandi.net/en/ssl/index.html
 +
 +
 +
 +===== Certificat SSL multi-domaine (multisite) avec validation DNS =====
 +
 +Quand on héberge plusieurs sites sur le même serveur (multisite), un certificat "mono-domaine" ne suffit plus.
 +On peut alors utiliser un certificat multi-domaine (SAN / Subject Alternative Names) qui couvre plusieurs noms de domaine en une seule fois.
 +
 +**Exemples :**
 +
 +  * example.org — site principal
 +  * noiselab.org — autre projet
 +  * festival.net — événement
 +  * artist-name.art — site perso
 +
 +L'idée : un seul certificat installé sur SME, mais qui liste tous ces domaines dans les SAN.
 +
 +==== 1. Pré-requis ====
 +
 +  * SME Server 10 avec le panneau **SSL certificates management** (voir le tuto mono-site ci-dessus)
 +  * Accès aux **zones DNS** de tous les domaines (chez Gandi ou autres registrars)
 +  * Un fournisseur de certificats supportant les SAN (par ex. Gandi *Standard Multi-domaines*)
 +
 +
 +==== 2. Générer une clé et un CSR multi-domaine (SAN) ====
 +
 +Sur SME, on va générer :
 +  * une **clé privée** (server.key)
 +  * un **CSR** (Certificate Signing Request) contenant plusieurs noms de domaine (SAN)
 +
 +OpenSSL sur SME (version 1.0.x) ne gère pas les SAN directement.  
 +On crée donc un petit fichier de configuration.
 +
 +Créer le fichier `/root/openssl-san.conf` :
 +
 +<code ini>
 +[ req ]
 +default_bits       = 2048
 +prompt             = no
 +default_md         = sha256
 +req_extensions     = req_ext
 +distinguished_name = dn
 +
 +[ dn ]
 +C  = FR
 +ST = Votre-Region
 +L  = Votre-Ville
 +O  = Votre-Organisation
 +CN = example.org
 +
 +[ req_ext ]
 +subjectAltName = @alt_names
 +
 +[ alt_names ]
 +DNS.1 = example.org
 +DNS.2 = noiselab.org
 +DNS.3 = festival.net
 +DNS.4 = artist-name.art
 +DNS.5 = autre-domaine.tld
 +</code>
 +
 +Puis générer la clé et le CSR :
 +
 +<code bash>
 +openssl req -new -nodes -newkey rsa:2048 \
 +  -keyout /root/server.key \
 +  -out /root/server.csr \
 +  -config /root/openssl-san.conf
 +</code>
 +
 +Vérifiez que les SAN sont bien inclus :
 +
 +<code bash>
 +openssl req -noout -text -in /root/server.csr | grep -A1 "Subject Alternative Name"
 +</code>
 +
 +
 +==== 3. Commander le certificat multi-domaine chez le fournisseur ====
 +
 +Sur votre interface (ex : Gandi) :
 +
 +  - Créez un **certificat SSL Standard / multi-domaine**
 +  - Indiquez comme **Nom Commun (CN)** le domaine principal (ex : `example.org`)
 +  - Ajoutez les autres domaines dans la liste SAN (`noiselab.org`, `festival.net`, etc.)
 +  - Collez le contenu complet du fichier `/root/server.csr` (du `-----BEGIN CERTIFICATE REQUEST-----` au `-----END CERTIFICATE REQUEST-----`)
 +  - Choisissez la méthode de validation **par enregistrement DNS**
 +
 +
 +==== 4. Validation DNS (DCV) ====
 +
 +Le fournisseur demande d’ajouter des enregistrements CNAME spécifiques dans vos DNS.  
 +Exemple d’instructions :
 +
 +<code>
 +Please add record "_dnsauth.example.org. IN CNAME _xxx.dcv.your-ca.com."
 +Please add record "_dnsauth.noiselab.org. IN CNAME _xxx.dcv.your-ca.com."
 +Please add record "_dnsauth.festival.net.  IN CNAME _xxx.dcv.your-ca.com."
 +</code>
 +
 +Dans la zone DNS de chaque domaine, ajoutez :
 +
 +  * **Nom / Host :** `_dnsauth`  
 +  * **Type :** CNAME  
 +  * **Cible :** `_xxx.dcv.your-ca.com.`  
 +
 +**Exemple (Gandi – vue avancée) :**
 +<code>
 +_dnsauth   CNAME   10800   _xxx.dcv.your-ca.com.
 +</code>
 +
 +**Attention :**
 +  * Ne touchez pas aux enregistrements A/MX existants.
 +  * Supprimez les anciens CNAME DCV s’ils existent pour le même nom.
 +  * Vérifiez vos enregistrements CAA si vous en utilisez.
 +
 +Après ajout de tous les CNAME :
 +  * Attendez 15 à 30 minutes (propagation DNS)
 +  * Relancez la vérification dans l’interface du fournisseur
 +
 +Une fois validé, téléchargez :
 +  * le **certificat serveur (.crt / .pem)**
 +  * la **chaîne intermédiaire** (CA / bundle)
 +
 +
 +==== 5. Installer le certificat multi-domaine dans SME Server 10 ====
 +
 +Dans **server-manager → SSL certificates management** :
 +
 +  1. **SSL certificate (server.crt)**  
 +     → collez le contenu complet du certificat multi-domaine téléchargé
 +
 +  2. **SSL private key (server.key)**  
 +     → collez le contenu de la clé privée générée au début (`/root/server.key`)
 +
 +  3. **SSL intermediate chain certificate**  
 +     → collez la chaîne intermédiaire fournie (souvent un fichier `GandiCert.pem`)
 +
 +Cliquez sur **Save**.
 +
 +En cas d’erreur (plus d’accès web) :
 +
 +<code bash>
 +signal-event certificate-revert
 +</code>
 +
 +
 +==== 6. Vérifier le certificat multi-domaine ====
 +
 +Ouvrez dans un navigateur :
 +  * https://example.org  
 +  * https://noiselab.org  
 +  * https://festival.net  
 +
 +Dans les infos du certificat :
 +  * la date de validité doit être correcte
 +  * tous les domaines doivent apparaître dans **Subject Alternative Names (SAN)**
 +
 +Pour tester en ligne :  
 +→ https://www.ssllabs.com/ssltest
 +
 +
 +**Références utiles :**
 +  * https://wiki.koozali.org/Certificates_Concepts  
 +  * https://docs.gandi.net/en/ssl/  
 +  * https://en.wikipedia.org/wiki/Certificate_authority
 +
 +
 +
 +
  
  
serveurs/serveurs_start.1695133167.txt.gz · Last modified: 2023/09/19 16:19 by julien