Vous avez surement déjà utilisé des certificats SSL pour sécuriser vos applications. Et très certainement des certificats auto-signés.
Mais chaque nouvel utilisateur reçoit un message d’avertissement de sécurité et ce n’est pas professionnel.
Cela peut être dangereux. En effet, n’importe qui se plaçant entre le nouvel utilisateur et le serveur peut faire une attaque MITM et générer un certificat auto-signé pour se faire passer pour le serveur distant. Le nouvel utilisateur n’y verra que du feu s’il ne vérifie pas l’emprunte du certificat.
Il faut donc penser à utiliser un certificat signé par une autorité valide (CA). La plupart sont payantes mais il en existe des gratuits.
Je travaille avec StartSSL, qui permet d’avoir un certificat de niveau 1 gratuitement. Il faut penser à le renouveler tous les ans.
Attention qu’après avoir créé le certificat, il faut attendre 48h avant de le mettre en place sur votre serveur Apache.
En effet, le certificat n’est pas directement reconnu par les navigateurs comme firefox, chrome etc. Ces navigateurs utilisent une base de données. Si vous n’attendez pas ce délai, vous risquez d’avoir un message d’erreur jusqu’au moment où votre certificat aura été transmis à tous les serveurs de base de données des navigateurs.
Après avoir mis VOS informations personnels et pas celle de votre société, vous recevez un mail avec un code de validation du type :
Il est à recopier pour poursuivre VOTRE identification pour VOTRE certificat personnel. Ce n’est pas encore ici qu’on parle de votre certificat de site.
A cette étape, votre certificat personnel qui vous identifie VOUS, sera installé sur votre navigateur. On vous averti bien de le sauvegarder ailleurs!
Il faut aller dans les paramètres > options avancées > Certificats > afficher les certificats. Vous sélectionnez votre certificat et vous exporter/sauvegarder.
Sauvegardez le avec une extension .p12
Étape 2 – authentifier le domaine
Il faut vérifier que l’on est bien le détenteur du domaine avec une confirmation par mail sur l’adresse portmaster@test.tld par exemple.
Ensuite on pourra créer des certificats pour les sous-domaines, comme par exemple www.test.tld.
On utilise un mot de passe pour l’exportation de la clé. Le certificat généré demandera un mot de passe pour son utilisation.
Il faudra utiliser openssl pour retirer ce mot de passe pour mettre le certificat dans Apache, sinon vous devrez rentrer le mot de pase à chaque redémarrage d’Apache
openssl rsa -in ssl_passwd.key -out ssl.key
Étape 3 – création du certificat du site
Il ne reste qu’à créer le certificat proprement dit, on choisi le sous domaine concerné. Cela peut être www.test.tld et implicitement test.tld.
Le certificat est créé, il n’y a plus qu’à mettre le certificat et la clé privée sur le serveur Apache.
Rappel pour les options à utiliser pour un certificat dans la configuration virtualhost :
SSLEngine on SSLCertificateFile /chemin/vers/www.example.com.cert SSLCertificateKeyFile /chemin/vers/www.example.com.key
Laisser un commentaire