Https autosigné – Sécurisation à moindre coût

http-https
http-https

Passé un site en Https afin d’en augmenté la sécurité

J’ai, comme quelques une des mes connaissances geek, souhaité créer mon propre cloud sur mon serveur dédié. Pour cela j’ai utilisé une solution de plus en plus rependu : ownCloud (dont je vous prépare un tuto d’installation). Seulement, afin d’aller jusqu’au bout de l’installation j’ai souhaité l’installé sur une URL accessible en Https. Mais je ne voulais pas pour autant acheté un certificat.

Je me suis donc tournée vers un certificat auto-signé (il n’est pas reconnu par une véritable autorité de certification), mais le chiffrement des échanges est bien présent.

Création du VitrualHost

Tout d’abord, si vous ne l’avez pas encore fait, vous devez créer un VirtualHost avec sa configuration en Https( port 443).
Pour cela rendez-vous dans le répertoire « /etc/apache2/sites-available »  et créer un fichier monsite.com.conf
Puis renseigner les informations suivantes :

<VirtualHost *:443>
ServerAdmin grillon.d@gmail.com
DocumentRoot /home/mon-site/www/
# Activation du mode SSL
SSLEngine On 
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
# On indique ou est le certificat
SSLCertificateFile /etc/ssl/certs/mon-site.crt
SSLCertificateKeyFile /etc/ssl/private/mon-site.key
</VirtualHost>

Activation des modules

Nous allons maintenant activer le module SSL dans Apache2 afin que celui-ci puisse être utilisé dans nos échanges ownCloud :

a2enmod ssl

activer module SSL

On doit ensuite ajouter notre nouveau site aux sites actifs d’Apache2 :

a2ensite owncloud.https

Activer site HTTPS owncloud

Une dernière étape est à faire avant de redémarrer notre serveur apache2.

Génération du certificat auto-signé

Avant de généré nos clés, on crée un répertoire pour celles-ci :

cd /etc/apache2/ && mkdir CertMonSite && cd CertMonSite

On génère notre clé sur 1024 bits :

openssl genrsa -out monsite.key 1024

Création des « .key » et « .csr » :

openssl req -new -key monsite.key -out monsite.csr

On rempliera ensuite les données du certificat correctement, il est important de noter que l’absence du CommonName pourra générer des erreurs plus tards. On crée ensuite le fichier de certificat :

openssl x509 -req -days 365 -in monsite.csr -signkey monsite.key -out monsite.crt

On copiera ces certificats là on tous les certificats sont stockés :

cp monsite.crt /etc/ssl/certs
cp monsite.key /etc/ssl/private

Redémarrez d’Apache2 après avoir vérifié sa configuration

apachectl configtest
service apache2 restart

On pourra ensuite vérifier dans notre navigateur que le HTTPS est bien utilisé en nous rendant sur l’interface web de notre ownCloud :

owncloudssl3

Bien que le certificat soit ici auto-signé (il n’est pas reconnu par une véritable autorité de certification), le chiffrement des échanges est bien présent.

J’ai personnellement ajouté dans mon VirtualHost une redirection vers mon site personnel si l’on se connecte en http. Même si l’on peu forcé ownCloud à se connecter en https, deux précautions valent mieux qu’une.

About David 9 Articles
Diplômé d'un DUT Services et Réseaux de Communication de Belfort-Montbéliard, je suis actuellement Webdesigner, intégrateur et chargé de projet. Voici une liste non-exhaustive des compétences que je me propose de mettre en œuvre pour votre entreprise : - Mise au point du projet - Design du site en fonction de l’ identité visuelle du client - Intégration du site en utilisant les langages les mieux adaptés au projet - Vérification de la compatibilité inter-navigateurs - Suivi post livraison

Be the first to comment

Leave a Reply