This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| serveurs:serveurs_start [2025/11/10 19:35] – julien | serveurs:serveurs_start [2025/11/10 19:53] (current) – julien | ||
|---|---|---|---|
| Line 94: | Line 94: | ||
| - | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | + | ===== Certificat SSL multi-domaine (multisite) avec validation DNS ===== |
| - | Certificat SSL multi-domaine (multisite) avec validation DNS | + | |
| - | Quand on commence à héberger | + | Quand on héberge |
| + | On peut alors utiliser un certificat multi-domaine (SAN / Subject Alternative Names) qui couvre plusieurs noms de domaine en une seule fois. | ||
| - | Exemples | + | **Exemples :** |
| - | example.org | + | * example.org |
| + | * noiselab.org — autre projet | ||
| + | * festival.net — événement | ||
| + | * artist-name.art — site perso | ||
| - | noiselab.org (autre projet) | + | L' |
| - | festival.net (événement) | + | ==== 1. Pré-requis ==== |
| - | artist-name.art | + | * SME Server 10 avec le panneau **SSL certificates management** |
| + | * 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*) | ||
| - | L’idée : un seul certificat installé sur SME, mais qui liste tous ces domaines dans les SAN. | ||
| - | 1. Pré-requis | + | ==== 2. Générer une clé et un CSR multi-domaine (SAN) ==== |
| - | + | ||
| - | SME Server 10 avec le panneau “SSL certificates management” déjà installé (voir section mono-site ci-dessus). | + | |
| - | + | ||
| - | Accès aux zones DNS de tous les domaines (chez Gandi ou d’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 : | Sur SME, on va générer : | ||
| + | * une **clé privée** (server.key) | ||
| + | * un **CSR** (Certificate Signing Request) contenant plusieurs noms de domaine (SAN) | ||
| - | une clé privée (server.key), | + | OpenSSL |
| - | + | On crée donc un petit fichier de configuration. | |
| - | un CSR qui contient plusieurs noms de domaine (SAN). | + | |
| - | + | ||
| - | OpenSSL | + | |
| - | + | ||
| - | Créer un fichier de config, par exemple : | + | |
| - | + | ||
| - | nano / | + | |
| - | Avec un contenu du genre (adapter les infos à votre cas) : | + | Créer le fichier `/ |
| + | <code ini> | ||
| [ req ] | [ req ] | ||
| default_bits | default_bits | ||
| Line 148: | Line 139: | ||
| L = Votre-Ville | L = Votre-Ville | ||
| O = Votre-Organisation | O = Votre-Organisation | ||
| - | CN = example.org | + | CN = example.org |
| [ req_ext ] | [ req_ext ] | ||
| Line 159: | Line 150: | ||
| DNS.4 = artist-name.art | DNS.4 = artist-name.art | ||
| DNS.5 = autre-domaine.tld | DNS.5 = autre-domaine.tld | ||
| + | </ | ||
| + | Puis générer la clé et le CSR : | ||
| - | Puis générer clé + CSR : | + | <code bash> |
| openssl req -new -nodes -newkey rsa:2048 \ | openssl req -new -nodes -newkey rsa:2048 \ | ||
| -keyout / | -keyout / | ||
| -out / | -out / | ||
| -config / | -config / | ||
| + | </ | ||
| + | Vérifiez que les SAN sont bien inclus : | ||
| - | On peut vérifier que les SAN sont bien présents : | + | <code bash> |
| openssl req -noout -text -in / | openssl req -noout -text -in / | ||
| + | </ | ||
| - | On doit voir une ligne du type : | + | ==== 3. Commander le certificat multi-domaine chez le fournisseur ==== |
| - | DNS:example.org, | + | 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`, | ||
| + | - Collez le contenu complet du fichier `/ | ||
| + | - Choisissez la méthode de validation **par enregistrement DNS** | ||
| - | Important : c’est ce CSR multi-domaine qu’il faudra coller chez le fournisseur (Gandi, etc.). La clé / | ||
| - | 3. Commander le certificat multi-domaine chez le fournisseur | + | ==== 4. Validation DNS (DCV) ==== |
| - | Sur l’interface de votre fournisseur : | + | Le fournisseur |
| + | Exemple d’instructions | ||
| - | Créer un nouveau certificat SSL Standard / multi-domaine. | + | < |
| + | Please add record " | ||
| + | Please add record " | ||
| + | Please add record " | ||
| + | </ | ||
| - | Choisir comme Nom Commun (CN) le domaine | + | Dans la zone DNS de chaque |
| - | Ajouter les autres domaines dans la liste SAN (ex. noiselab.org, | + | |
| - | + | * **Type :** CNAME | |
| - | Quand il demande le CSR, copier/ | + | * **Cible :** `_xxx.dcv.your-ca.com.` |
| - | + | ||
| - | Pour la méthode de validation, choisir par enregistrement DNS. | + | |
| - | + | ||
| - | 4. Validation DNS (DCV) avec des enregistrements CNAME | + | |
| - | + | ||
| - | Pour prouver que vous contrôlez les domaines, le fournisseur va demander d’ajouter des enregistrements CNAME spécifiques dans les DNS. | + | |
| - | Sur la page de suivi du certificat, on verra quelque chose comme : | + | |
| - | + | ||
| - | Please add record " | + | |
| - | Please add record " | + | |
| - | Please add record " | + | |
| - | ... | + | |
| - | + | ||
| - | + | ||
| - | Pour chaque domaine, dans sa zone DNS : | + | |
| - | + | ||
| - | Nom / Host : _dnsauth | + | |
| - | + | ||
| - | Type : CNAME | + | |
| - | + | ||
| - | Cible : _xxx.dcv.your-ca.com. | + | |
| - | + | ||
| - | Exemples : | + | |
| - | + | ||
| - | Chez Gandi (vue avancée) : | + | |
| + | **Exemple (Gandi – vue avancée) :** | ||
| + | < | ||
| _dnsauth | _dnsauth | ||
| + | </ | ||
| + | **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. | ||
| - | Chez un autre registrar | + | Après ajout de tous les CNAME : |
| + | * Attendez 15 à 30 minutes | ||
| + | * Relancez la vérification dans l’interface | ||
| - | Attention | + | Une fois validé, téléchargez |
| - | – Ne modifiez pas vos enregistrements A/MX existants. | + | |
| - | – Évitez d’avoir de vieux CNAME DCV qui traînent pour le même nom (par ex. un ancien _dnsauth). | + | * la **chaîne intermédiaire** |
| - | – Si des enregistrements CAA existent, ils doivent autoriser l’AC choisie | + | |
| - | Après avoir ajouté les CNAME pour tous les domaines : | ||
| - | attendre 15–30 min (propagation DNS), | + | ==== 5. Installer le certificat multi-domaine dans SME Server 10 ==== |
| - | relancer la vérification dans l’interface du fournisseur, | + | Dans **server-manager → SSL certificates management** : |
| - | Une fois validé, | + | 1. **SSL certificate (server.crt)** |
| + | → collez | ||
| - | le certificat serveur | + | 2. **SSL private key (server.key)** |
| + | → collez le contenu de la clé privée générée au début (`/root/server.key`) | ||
| - | la chaîne intermédiaire (CA / bundle du fournisseur). | + | 3. **SSL intermediate chain certificate** |
| + | → collez | ||
| - | 5. Installer le certificat multi-domaine dans SME Server 10 | + | Cliquez sur **Save**. |
| - | Dans server-manager → SSL certificates management, on retrouve les 3 champs : | + | En cas d’erreur (plus d’accès web) : |
| - | + | ||
| - | SSL certificate (server.crt) | + | |
| - | Coller ici le nouveau certificat serveur téléchargé (le bloc -----BEGIN CERTIFICATE----- ... du cert multi-domaine). | + | |
| - | + | ||
| - | SSL private key (server.key) | + | |
| - | Coller ici le contenu de la clé privée générée au début (/ | + | |
| - | + | ||
| - | cat / | + | |
| - | + | ||
| - | + | ||
| - | Copier/ | + | |
| - | + | ||
| - | SSL intermediate chain certificate | + | |
| - | Coller ici la chaîne intermédiaire fournie par le fournisseur (souvent un fichier type GandiCert.pem, | + | |
| - | + | ||
| - | Puis cliquer sur Save / Enregistrer. | + | |
| - | + | ||
| - | En cas d’erreur (Apache qui ne redémarre pas, plus d’accès web), on peut revenir au certificat par défaut SME avec : | + | |
| + | <code bash> | ||
| signal-event certificate-revert | signal-event certificate-revert | ||
| + | </ | ||
| - | 6. Vérifier le certificat multi-domaine | ||
| - | |||
| - | Pour tester que tout est en place : | ||
| - | |||
| - | ouvrir dans un navigateur : | ||
| - | |||
| - | https:// | ||
| - | |||
| - | https:// | ||
| - | |||
| - | https:// | ||
| - | |||
| - | etc. | ||
| - | |||
| - | Dans les informations du certificat, on doit voir : | ||
| - | |||
| - | une date de validité cohérente, | ||
| - | |||
| - | tous les domaines dans “Subject Alternative Names (SAN)”. | ||
| - | |||
| - | On peut aussi utiliser : | ||
| - | https://www.ssllabs.com/ | + | ==== 6. Vérifier le certificat multi-domaine ==== |
| - | pour analyser la configuration TLS et vérifier que la chaîne intermédiaire est correcte. | + | Ouvrez dans un navigateur : |
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | 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:// | ||
| + | **Références utiles :** | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||