Outils pour utilisateurs

Outils du site


startssl

Certificats avec StartSSL

Quand on gère un serveur personnel la question se pose très vite de devoir sécuriser les services qu'on héberge. La majorité des services ont la possibilité de fournir une couche de sécurité entre le client et le serveur nommée SSL/TLS.

La plus part des guides d'installation sur le web présentent cette possibilité en utilisant un système de certificats auto-signés. Ces certificats sont très pratiques mais ne garantissent pas l'authentification du serveur, il déclenchent donc systématiquement un avertissement du client. Pour authentifier un serveur il faut utiliser des certificats signés par des autorités reconnues. C'est un service est généralement très onéreux cependant il existe une autorité nommée StartSSL qui fournie gratuitement et facilement des certificats basiques réservés aux particuliers.

Mécanisme de clé publique

Afin de comprendre globalement de quoi il retourne il faut comprendre le mécanisme de clé publique qui a révolutionné les systèmes de chiffrement. Il s'agit de deux clés liées mathématiquement entre elles :

  • la clé publique qui permet de chiffrer
  • la clé privée qui permet de déchiffrer et de générer la clé publique

Ainsi la plus part des fichiers de configuration de services font références à deux fichiers qui correspondent, à quelques détails près, à une clé privée et une clé publique.

Création des certificats

Choix d'un domaine et d'un sous-domaine

Après avoir créé un compte sur StartSSL en suivant la procédure qui vise vous identifier en tant qu'individu vous pouvez lier un domaine à votre compte en prouvant que vous êtes bien propriétaire de ce domaine. Généralement il vous est demandé de prouver que vous avez accès à postmaster@domain.tld. Vous pourrez ensuite créer un certificat valable pour un sous-domaine et le domaine de base. Le certificat sera obligatoirement valable pour, par exemple :

  • mail.domaine.tld
  • domaine.tld

C'est à vous de voir à l'usage de quoi vous avez besoin. Pour un serveur web créer le certificat pour www.domaine.tld et pour domaine.tld peut être un choix judicieux. Le certificat ainsi créé sera valable pendant un an. Il devra donc être renouvelé annuellement.

Déchiffrement de la clé privée

A la fin de la procédure de choix de domaine vous obtenez une clé privée ssl.key chiffrée avec un mot de passe que vous aurez choisi et un certificat ssl.crt. Déchiffrez la clé privée avec : openssl rsa -in ssl.key -out ssl.key Note : Il faut avoir bien en tête que cette clé ainsi que tous les fichiers où elle sera présente doivent rester impérativement privés. La clé privée ne doit pas sortir de votre serveur sans être sécurisée.

Chaîne de certificats

Dans la majorité des cas pour que votre certificat soit reconnu par les clients il faut qu'il comporte aussi deux autres certificats de StartSSL : sub.class1.server.ca.pem (Intermediate CA) et ca.pem (StartCom Root CA) disponibles sur le site de StartSSL Les chaînes sont sous la forme de fichiers textes contenant les certificats les uns à la suite des autres, elles peuvent donc êtres éditées facilement.

Configuration des services

Chaque service a besoin des mêmes informations (votre clé privée, votre certificat, le certificat intermédiaire et le certificat root) mais pas toujours sous la même forme. Il va donc s'agir ici de créer des fichiers contenant la chaîne de certificat attendue par le logiciel.

Lighttpd

Le serveur web Lighttpd a besoin de deux fichiers contenant dans l'ordre :

/etc/ssl/certs/ca-certs-startssl.crt (root:root 644)

  1. sub.class1.server.ca.pem
  2. ca.pem

/etc/ssl/private/startssl.crt (root:root 600)

  1. ssl.crt
  2. ssl.key

Ajoutez à /etc/lighttpd/lighttpd.conf

$SERVER["socket"] == ":443" {
        ssl.engine      = "enable"
        ssl.ca-file     = "/etc/ssl/certs/ca-certs-startssl.crt"
        ssl.pemfile     = "/etc/ssl/private/startssl.crt"
}

Dovecot

Le serveur IMAP/POP Dovecot a besoin de deux fichiers contenant dans l'ordre :

/etc/ssl/certs/mail-startssl.pem (root:root 644)

  1. ssl.crt
  2. sub.class1.server.ca.pem
  3. ca.pem

/etc/ssl/private/startssl.key (root:root 600)

  1. ssl.key

Modifiez dans /etc/dovecot/dovecot.conf

ssl_cert = </etc/ssl/certs/mail-startssl.pem
ssl_key = </etc/ssl/private/startssl.key

Postfix

Le serveur SMTP Postfix utilise les mêmes fichiers que Dovecot :

Modifiez dans /etc/postfix/main.cf

smtpd_tls_cert_file = /etc/ssl/certs/mail-startssl.pem
smtpd_tls_key_file = /etc/ssl/private/startssl.key

startssl.txt · Dernière modification: 2019/04/02 11:14 (modification externe)