Shellnode
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-26%
Le deal à ne pas rater :
Bosch BBS8214 Aspirateur Balai Multifonction sans fil Unlimited ...
249.99 € 339.99 €
Voir le deal

Créer un certificat SSL multi-domaines

Aller en bas

Créer un certificat SSL multi-domaines Empty Créer un certificat SSL multi-domaines

Message  Romeo Lun 25 Aoû - 19:59

Si vous administrez un serveur web avec de multiple domaines virtuels, vous avez sans doute été confronté à la problématique de la création de certificat SSL valide pour plusieurs domaines. Ce guide n'a pas pour but de vous expliquer la théorie des certificats SSL, mais de vous aider à créer des certificats valides pour plusieurs domaines. Il a été écrit pour fonctionner sur Debian 4.0 Etch.
Présentation de la technologie SSL
Le certificat SSL

Un certificat SSL est composé de deux éléments:

* Une "clef" privée que seule la personne ayant créé le certificat possède. Cette clef doit être protégée du vol ! Si quelqu'un en fait une copie, il peut dupliquer votre site, et duper les internautes.
* Une "clef" publique que tout le monde peut télécharger.

La méthode de fonctionnement du cryptage SSL est simple:

* Lorsque le contenu est crypté à l'aide de la clef privé, seule la clef publique peut le décoder: Certitude que le contenu a été créé par le propriétaire du certificat.
* Lorsque le contenu est crypté à l'aide de la clef publique, seule la clef privé peut le décoder: Certitude que le contenu ne peut être lu que par le propriétaire du certificat.

Les autorités de certification

Il existe un type particulier de certificat SSL que l'on appelle autorité de certification.

Les autorités de certification vérifie que la personne ayant créé un certificat SSL pour un domaine est bien le propriétaire du domaine. Une fois l'identité du créateur vérifiée, l'autorité de certification signe le certificat serveur à l'aide de sa clef privé.

Les systèmes d'exploitations et navigateurs Web disposent des clefs publiques des authorités de certification. Il leur est ainsi possible de contrôler les certificats SSL des sites Web et autres serveurs.
Quelle autorité de certification pour quel besoin

* Vous disposez d'un serveur Internet d'entreprise: vous devez utiliser une autorité de certification payante, par exemple: Verisign.
* Vous disposez d'un serveur Internet personnel: vous pouvez utiliser l'autorité de certification gratuite CACert.
* Vous disposez d'un serveur Intranet: vous devez créer votre propre autorité de certification (voir plus bas dans cette page).

Mise en place de l'environnement

En premier lieu, nous installons les outils de création des certificats SSL :

/usr/bin/apt-get install openssl

Une fois ceci fait, nous créons un dossier destinés à contenir les certificats nouvellement créé:

/bin/mkdir /etc/openssl

Et nous téléchargeons le script qui nous aidera à créer les certificats et son fichier de configuration:

/usr/bin/wget http://howto.landure.fr/gnu-linux/debian-4-0-etch/creer-un-certificat-ssl-multi-domaines/ca_openssl.cnf \
--output-document=/etc/openssl/ca_openssl.cnf
/usr/bin/wget http://howto.landure.fr/gnu-linux/debian-4-0-etch/creer-un-certificat-ssl-multi-domaines/cert_manager.sh \
--output-document=/etc/openssl/cert_manager.sh
/bin/chmod +x /etc/openssl/cert_manager.sh

Une fois le script installé, nous initialisons l'environnement de création des certificats:

/etc/openssl/cert_manager.sh --init

Le script vous pose alors des questions concernant votre domaine, et votre emplacement géographique:

You will now be asked to give informations for your certificate authority.
Description du domaine [défaut : Domaine local]: landure.fr
Code de votre pays [défaut : FR]:
Nom de votre région [défaut : Ile de France]:
Nom de votre ville [défaut : Paris]:
Nom de votre domaine [défaut : domain.local]: landure.fr
Email de l'administrateur [défaut : root@domain.local]: none@landure.fr

Une fois ceci fait, vous êtes prêts pour la création de vos certificats.
Création d'un certificat serveur

La création d'un certificat SSL pour un serveur consiste en 3 étapes:

* La création d'un couple clef privée / clef publique et de la demande de signature de certificat (CSR) associée.
* L'envoi du CSR à l'autorité de certification choisie.
* La récupération de la clef publique du certificat signée par l'autorité de certification.

En premier lieu, nous créons nos clefs privée et publique, et la demande de signature associée:

/etc/openssl/cert_manager.sh --generate-csr=https

Remarque: https est utilisé comme préfixe pour les noms des fichiers du certificat. Il est préférable que cette valeur ne contienne ni espace, ni caractères spéciaux.

Vous devez alors saisir les informations de votre certificat :

You will now be asked to give informations for your certificate authority.
Type de serveur [défault : HTTP server]: HTTPS server
Code de votre pays [défaut : FR]:
Nom de votre région [défaut : Ile de France]:
Nom de votre ville [défaut : Paris]:
Email de l'administrateur [défaut : root@domain.local]:
Nom de votre domaine [défaut : domain.local]: www.domain.local
Noms de domaines supplémentaires, un par ligne. Finissez par une ligne vide.
SubjectAltName: DNS:doc.domain.local
SubjectAltName: DNS:imp.domain.local
SubjectAltName: DNS:phpmyadmin.domain.local
SubjectAltName: DNS:

Remarque: Comme vous pouvez le voir, cet outil vous donne la possibilité de générer des certificats valides pour plusieurs noms de domaines.

A la fin de la procédure, l'outil vous affiche la requête créée car vous pouvez, si vous le souhaitez, faire signer un certificat serveur par le site CACert.

Vous vouvez aussi choisir de le signer avec votre autorité de certification locale (voir plus bas) ou encore par une autorité de certification commerciale.

Votre demande de signature de certificat se compose de deux fichiers:

* /etc/openssl/PRIVATE_KEYS/https_key.pem : La clef privée et confidentielle de votre futur certificat.
* /etc/openssl/CERTIFICATES_REQUESTS/https_csr.csr : La clef publique non signée de votre futur certificat.

Vous devez fournir le contenu du fichier https_csr.csr à votre autorité de certification. En retour, une fois votre identitée vérifiée, celle-ci vous fournira la clef publique signée. Placez-la dans le fichier /etc/openssl/CERTIFICATES/https_cert.pem.

Votre certificat SSL consiste alors en deux fichiers:

* /etc/openssl/PRIVATE_KEYS/https_key.pem : La clef privée et confidentielle de votre certificat.
* /etc/openssl/CERTIFICATES/https_cert.pem : La clef publique signée de votre certificat.

Il ne vous reste plus qu'a configurer votre serveur pour utiliser ce certificat.
Création d'une autorité de certification locale

Si vous souhaitez signer un certificat destiné à votre réseau local, vous devez créer une autorité de certification pour votre réseau local. Pour ce faire, utilisez la commande:

/etc/openssl/cert_manager.sh --create-ca

Vous disposez à présent du nécessaire pour signer vos propres certificats. Elle consiste en deux fichiers:

* /etc/openssl/CERTIFICATE_AUTHORITY/ca-key.pem : Votre clef privé. Elle est confidentielle. Conservez-la précieusement.
* /etc/openssl/CERTIFICATE_AUTHORITY/ca-cert.pem : La clef publique de votre autorité de certification. Ajoutez-la aux navigateurs Internet présent sur votre réseau local afin qu'ils n'affichent pas d'alerte lorsqu'ils accédent à vos serveurs sécurisés.

Signature d'un certificat par l'autorité de certification locale

Si le certificat est destiné à votre réseau local, vous pouvez utiliser votre autorité de certification pour le signer :

/etc/openssl/cert_manager.sh --sign-csr=https

Remarque: https est le même préfixe que celui que vous avez utilisé lors de la création de votre certificat.

Cette commande vous affiche les informations incluses dans la demande de certificat et vous demande si vous acceptez de le signer.

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

Votre certificat SSL consiste alors en deux fichiers:

* /etc/openssl/PRIVATE_KEYS/https_key.pem : La clef privée et confidentielle de votre certificat.
* /etc/openssl/CERTIFICATES/https_cert.pem : La clef publique signée de votre certificat.

Il ne vous reste plus qu'a configurer votre serveur pour utiliser ce certificat.

Romeo
Admin

Messages : 82
Date d'inscription : 28/07/2008
Age : 52
Localisation : Quebec

https://shellnode.forumactif.org

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser