Sécuriser gratuitement votre site web grâce à StartSSL

Page 1 / 2

Lorsque vous souhaitez sécuriser un site web, un serveur de mails, ou tout autre service grâce à SSL (qui permet de sécuriser la connexion entre le client et le serveur), vous devez utiliser un certificat SSL qui est valable pour votre ou vos noms de domaines.
Pour obtenir un certificat SSL, il y a 4 solutions :

  1. Générer un certificat autosigné. Il s'agit de la méthode la plus simple, mais qui ne devrait pas être utilisée en production. D'ailleurs, dans certains cas, cette possibilité ne fonctionnera pas. Par exemple : cette solution ne fonctionnera pas avec les connexions distantes (servant aux RemoteApp) sous Windows 7, ni avec Citrix Receiver, ... qui considèreront ces certificats comme invalides, car ils n'émanent pas d'une autorité de certification de confiance.
  2. Installer une autorité de certification sous Windows Server ou sous Linux, et créer ces propres certificats grâce à son autorité de certification. Cette solution permet de sécuriser gratuitement ses serveurs présents dans son intranet (son réseau local). Elle peut donc être utilisée dans un réseau interne à une entreprise, par exemple. Cette solution ne posera aucun souci si le certificat de l'autorité de certification est ajouté dans le magasin de certificats des ordinateurs clients.
    Si les ordinateurs clients sont liés à un Active Directory, il est possible de le faire automatiquement grâce à une GPO : Distribuer le certificat de l'autorité aux clients de l'Active Directory via une GPO.
    Sinon, faites-le manuellement : Importer un certificat (d'une autorité de certification racine) dans les certificats de confiance de Windows
  3. Achetez un certificat chez une autorité de certification reconnue par tous les systèmes d'exploitation (dont : Windows, Linux, Mac, Android, iOS, Windows Phone, ...).
    Parmi les autorités de certification fiables, vous trouverez : GeoTrust, Symantec SSL, Gandi SSL, ...
    Les certificats achetés via ces autorités de certification ne poseront aucun souci (pas d'avertissement lors de l'accès au site web ou au service sécurisé via SSL). Néanmoins, les prix ne sont pas abordables pour n'importe qui.
  4. Obtenir un certificat gratuitement depuis une autorité de certification comme StartSSL.
    Avantages : pas d'avertissement lors de l'accès au site web ou au service sécurisé via SSL et pas d'argent à dépenser.
    C'est la solution que nous allons utiliser dans ce tutoriel.

L'autorité de certification StartSSL qui était gérée par la société StartCom a fermé ses portes le 1 janvier 2018.

  1. Inscription sur StartSSL
  2. Validation de votre adresse e-mail ou de votre nom de domaine
  3. Génération d'un certificat pour un serveur web linux
  4. Se reconnecter à son compte StartSSL
  5. Sécuriser Apache avec ce certificat SSL
  6. Test du certificat et du protocole https

1. Inscription sur StartSSL

Pour commencer, allez sur "StartSSL", cliquez sur l'icône (avec les clés) en haut à droite puis cliquez sur "Sign-up".

Si StartSSL ne vous affiche pas cette page, réessayez demain ou dans quelques jours. Tout dépend du nombre d'inscriptions qu'ils doivent traiter.
Sinon, remplissez le formulaire avec les vraies informations. Si vous indiquez n'importe quoi, votre inscription sera refusée.

Indiquez le code que vous avez reçu sur votre adresse e-mail.

Une fois le code validé, StartSSL vous propose d'installer un certificat.
Petite particularité, sur StartSSL, vous vous connectez grâce à un certificat SSL et non via un simple mot de passe. Ce certificat est donc la seule clé pour accéder à votre compte StartSSL. Ce certificat est installé dans le magasin de certificat du navigateur web.
Cliquez sur "Install".

Le certificat a été installé.

Comme indiqué, votre certificat client (qui sert donc de mot de passe) a bien été installé dans votre navigateur web.

Pour exporter ce certificat installé dans Mozilla Firefox, allez dans le menu (l'icône représentant 3 lignes horizontales) -> Options -> Avancé -> Certificats -> Afficher les certificats.
Dans l'onglet "Vos certificats", vous trouverez un certificat "StartCom" (qui est ni plus ni moins que la société gérant StartSSL).
Sélectionnez le certificat et cliquez sur "Sauvegarder".

Note : Pour les autres navigateurs web, consultez la documentation de StartSSL : How do I backup my client certificates ?

Indiquez un mot de passe pour protéger le certificat.

Le certificat client a été exporté.

 

2. Validation de votre adresse e-mail ou de votre nom de domaine

Une fois le certificat client sauvegardé, cliquez sur "Control Panel".
Comme indiqué sur cette image, vous devez d'abord valider votre adresse e-mail ou votre nom de domaine. Pour cela, cliquez sur "Validations Wizard".

Sélectionnez le type de validation à effectuer. Dans notre cas, nous allons valider notre nom de domaine.

Indiquez votre nom de domaine (ne pas indiquer de sous-domaine dans cette case).

L'autorité de certification va consulter le whois de votre domaine pour vous afficher une liste d'adresses e-mail.

Note : Il s'agit des adresses e-mail :

  • du propriétaire (Registrant)
  • du contact administratif (Administrative Contact)
  • du contact technique (Technical Contact)

Indiquez le code de vérification que vous avez reçu sur l'adresse e-mail sélectionnée à l'étape précédente.

Votre nom de domaine est validé.

 

3. Génération d'un certificat pour un serveur web linux

Dans notre cas, nous allons générer un certificat qui sera utilisé pour un serveur web Linux (Apache).

Indiquez un mot de passe pour protéger la clé privée du certificat et changez la taille de la clé (si nécessaire).

Copiez ce texte dans un fichier "ssl.key" et cliquez sur "Continue".
Comme indiqué, vous pouvez décrypter la clé privée si vous le souhaitez grâce à la commande "openssl rsa -in ssl.key -out ssl.insecure.key". Cette commande permet de pouvoir redémarrer un serveur sans retaper le mot de passe à chaque démarrage du serveur (dans notre cas : le serveur web Apache). Par contre, vous ne devriez pas stocker ce fichier décrypté sur votre disque dur.

Note : si vous utilisez TrueCrypt, vous pouvez stocker le certificat et cette clé privée dans un fichier crypté.
Si besoin, lisez notre tutoriel : TrueCrypt - Crypter vos données de manière sécurisée pour éviter le vol de données confidentielles

Ensuite, sélectionnez le domaine pour lequel vous voulez obtenir un certificat SSL valide.

Indiquez le sous-domaine pour lequel ce certificat doit être signé.
Note : Comme indiqué, ce certificat SSL sera valable pour le sous-domaine indiqué ET pour le domaine en seul.

Cliquez sur "Continue".

Copiez ce texte dans un fichier "ssl.crt".
Note : Comme indiqué, ce certificat est au format PEM (linux).

Voilà, vous avez votre certificat SSL et sa clé privée associée.
Note : Le certificat n'est pas utilisable sans sa clé privée associée.