Mise en place de SSL pour des développements

Autres Ajouter un commentaire

Dans le cadre d’un projet nécessitant de la sécurité, il peut s’avérer nécessaire de mettre en place SSL. L’achat d’un certificat pour des postes de développement s’avère coûteux et inutile, puisqu’il est possible de faire des certificats auto-signés pour Apache et IIS, en mettant un tout petit peu les mains dans le cambouis.

Dans les deux cas, la procédure est la même :
- générer une demande de signature de certificat (CSR)
- signer le certificat avec OpenSSL
- intégrer le certificat dans la config de l’hôte virtuel

Dans le cas de IIS, le serveur génère une demande de certificat qu’on fera signer par OpenSSL. Dans le cas d’Apache, OpenSSL peut générer la demande et l’auto-signer.

IIS

Etape 1 : Aller dans les propriétés du site virtuel, puis dans l’onglet Sécurité de répertoire.

Cliquez sur le bouton Certificat serveur en bas de l’onglet.  Un assistant s’affiche.

Propriétés IIS

Choisissez “Créer un certificat”, puis sur l’écran suivant “Préparer la demande mais ne pas l’envoyer maintenant”. Saisissez ensuite les informations administratives sur les écrans suivants et enfin l’emplacement où sera stockée votre demande (par défaut c:\certreq.txt).

Créer un certificat Préparer la demande mais ne pas l'envoyer maintenant

Etape 2 : Installez une version Windows d’OpenSSL. Elle est disponible ici.

Etape 3 : Exécutez ensuite les commandes suivantes :

Génération de la clé :

openssl genrsa -des3 -out CA.key 1024

Génération du certificat racine

openssl req -new -key CA.key -x509 -days 1095 -out CA.crt

Signature de la demande générée par IIS (certreq.txt) dans un certificat (autosigne.cer) :

openssl x509 -req -days 365 -in c:/certreq.txt -CA CA.crt -CAkey CA.key
-CAcreateserial -out c:/autosigne.cer

Etape 4 : Intégrer le certificat auto-signé sur le site web. Retourner dans l’onglet Sécurité de répertoire sur le site virtuel d’IIS, cliquer à nouveau sur Certificat serveur. Sélectionnez Traiter la demande en attente, puis sélectionnez le fichier autosigne.cer. Le certificat SSL est installé.

Sélection du certificat signé

Apache

Le fonctionnement est assez simple pour Apache.

Etape 1 : installation d’OpenSSL avec votre outil préférentiel sous Linux (yum, apt-get, emerge…). Note pour les utilisateurs de WampServer : OpenSSL est déjà intégré dans le dossier bin d’Apache.

Etape 2 : création du CSR avec OpenSSL et génération de la clé et du certificat serveur.

openssl req -new -x509 -nodes -out server.crt -keyout server.key

Placez les fichiers server.crt et server.key dans un dossier à part (par exemple dans un dossier /etc/ssl sous Linux, ou dans le dossier conf/ssl/ d’Apache Windows).

Etape 3 : intégration dans Apache.

Assurez vous d’avoir mod_ssl activé. Le cas échéant lancez la commande :

a2enmod mod_ssl
/etc/init.d/apache2 reload

ou activez-le depuis votre environnement WampServer ou EasyPHP.

Ensuite éditez le fichier de configuration Apache. Recherchez les directives SSLCertificateFile et SSLCertificateKeyFile (elles sont souvent en commentaire), et indiquez le chemin vers vos deux fichiers server.key et server.crt.

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in