Installation d'un certificat SSL sur serveur

Publié le 24-08-2017

Tous des articles

Vous voulez passez votre site en connexion chiffrée par le protocole HTTPS ? Suivez-moi !

Pour ce tutoriel j’utiliserai le navigateur Chrome, un VPS OVH sous Centos 6, un domaine imaginaire qu’on appellera « votre-domaine.com » et le fournisseur de certificats SSL ssls.com en raison des prix très attractifs et pas chers.

Achetez votre certificat SSL

Donc rendez-vous sur https://www.ssls.com pour passez commande de votre certificat.
Vous avez différents niveaux de sécurité pour votre certificat. Plus le niveau est haut et plus les informations de confiances sont importantes (comme le nom de votre entreprise dans la barre de recherche).

Dans notre cas, nous allons utiliser un certificat de base et pas cher : « PositiveSSL ».

Générer le fichier .CSR

Ensuite vous devez générer le fichier .CSR et le fichier .KEY depuis votre serveur. Connectez-vous en SSH à votre serveur et entrez la commande suivante :

openssl req -nodes -newkey rsa:2048 -keyout votre-domaine.com.key -out votre-domaine.com.csr

Répondez au questions suivantes. Remarquez que vous n’êtes pas obligé de répondre aux deux dernières questions (password, company name). Vous pouvez les passer en tapant « Entrée ».

 

Vous trouverez les fichiers votre-domaine.com.csr et votre-domaine.com.key dans le répertoire /root/ de votre serveur

Téléchargez les fichiers le fichier votre-domaine.com.csr et votre-domaine.com.key, nous utiliserons ce dernier plus tard.Ouvrez-le fichier votre-domaine.com.csr avec un éditeur de texte de type bloc-note.

Revenez sur votre compte SSLs,com et affichez la liste des certificats SSL commandés.

 

 

Et activez votre certificat

 

 

 

Dans le formulaire correspondant à votre site: https://www.ssls.com/user/certificates, copiez le contenu du CSR et collez-le pour générer les certificats (.CRT et .CA-BUNDLE). Vous devrez ensuite effectuer la validation de votre domaine par fichier ou par email. 

Explication de la validation de domaine par la méthode de fichier

Téléchargez le fichier texte (.txt) proposé par SSLs et chargez-le sans le renommer dans le répertoire suivant de votre serveur web : 

/dossier_racine_site/.well-known/pki-validation/fichier_texte.txt


Il faudra ensuite attendre que les robots de SSLs viennent tester votre site pour le valider (c'est assez rapide).
Pour savoir s'il a été validé, votre domaine doit avoir le status « Active » dans la liste de vos domaines (https://www.ssls.com/user/certificates),
dans le cas contraire il sera indiqué « In progress »

 

Une fois votre domaine validé, cliquez sur le numéro de certificat de votre domaine (https://www.ssls.com/user/certificates),
puis cliquez sur le lien de téléchargement « download ».

 

Décompressez l’archive téléchargez et chargez les fichiers votre-domaine.com.ca-bundle et votre-domaine.com.crt dans le répertoire de votre serveur : /etc/pki/tls/certs/

Chargez maintenant le fichier votre-domaine.com.key que nous avons mis de côté tout à l’heure dans le répertoire : /etc/pki/tls/private/

Modifications des fichiers de configuration d’Apache

Maintenant nous allons modifier le fichier de configuration apache pour les connexions SSL (votre-domaine.com.conf ou ssl.conf ou defaultSSL.conf)

Exemple de configuration avec le fichier /etc/httpd/vhosts/votre-domaine.com.conf

A adapter en fonction des configurations. 


<VirtualHost *:80>
 ServerAdmin webmaster@votre-domaine.com
 DocumentRoot /home/votre-domaine/www
 <Directory /home/votre-domaine/www>
 Order allow,deny
 Allow.comom all
 </Directory>
 SuexecUserGroup votre-domaine users
 ServerName www.votre-domaine.com
 ServerAlias votre-domaine.com
 CustomLog logs/votre-domaine-access_log combined
 ErrorLog logs/votre-domaine-error_log
 ScriptAlias /cgi-bin/ /home/votre-domaine/cgi-bin/
 <Directory "/home/votre-domaine/cgi-bin">
 Order allow,deny
 Allow.comom all
 </Directory>
suPHP_Engine on
 suPHP_AddHandler x-httpd-php
 suPHP_UserGroup votre-domaine users
 AddHandler x-httpd-php .php
RewriteEngine on
 RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
 RewriteRule .* - [F] 
</VirtualHost>

<VirtualHost *:443>
 DocumentRoot "/home/votre-domaine/www"
 #SuexecUserGroup votre-domaine users
 ServerName votre-domaine.com
 ServerAdmin webmaster@votre-domaine.com
 ErrorLog logs/votre-domaine-error_ssl_log
 TransferLog logs/votre-domaine-access_ssl_log
 ScriptAlias /cgi-bin/ /home/votre-domaine/cgi-bin/
suPHP_Engine On
 suPHP_AddHandler x-httpd-php
 suPHP_UserGroup votre-domaine users
 AddHandler x-httpd-php .php
SSLEngine on
 SSLProtocol All -SSLv2 -SSLv3
 SSLHonorCipherOrder On
 SSLCipherSuite 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA'
 Header always set Strict-Transport-Security "max-age=31556926"
 SSLCertificateFile /etc/pki/tls/certs/votre-domaine.com.crt
 SSLCertificateKeyFile /etc/pki/tls/private/votre-domaine.com.key
 SSLCertificateChainFile /etc/pki/tls/certs/votre-domaine.com.ca-bundle
<FilesMatch ".(cgi|shtml|phtml|php3?)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
<Directory "/usr/local/apache/cgi-bin">
 SSLOptions +StdEnvVars
 </Directory>

 SetEnvIf User-Agent ".*MSIE.*" 
 nokeepalive ssl-unclean-shutdown 
 downgrade-1.0 force-response-1.0
CustomLog logs/ovh-ssl_request_log 
 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>


Redémarrez apache avec la commande : /etc/init.d/httpd restart

Si tout va bien, lorsque vous tapez dans votre navigateur « https://www.votre-domaine.com »
vous devriez voir apparaître dans la barre de navigation le cadenas et le HTTPS en vert.

Nous mettons en place une redirection HTACCESS pour éviter le contenu dupliqué

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

Erreurs possibles

Si vous avez l’erreur suivante (sur chrome par exemple), c’est que votre configuration n’est pas correcte. Reprenez le tutoriel et recommencez la procédure.

 

Si ni cadenas, ni le https n’est en vert, c’est que certains éléments sur votre site (images, fichiers javascript, css, etc...) sont appelés de façon non sécurisée. C’est à dire sans https.
Vous pouvez vous en rendre compte en ouvrant l’outil de débogage sous chrome (F12) par exemple.

 

 



Commentaires

Pas encore de commentaires.

Ajouter un Commentaire
Articles en relation :
Dernières actualités :
On vous rappelle !
" Bonjour, aucun opérateur est en ligne. On vous rappelle ? "