- Configuration SSL et hôtes virtuels (31 mai 2009)
- Configuration SSL et hôtes virtuels : Certificat multivalué (30 juillet 2009)
La mise en place de certificats SSL pour les différents services (https, smtp-tls, pops, imaps…) d’un serveur est relativement bien documentée. En revanche si l’on a affaire à des hôtes virtuels sur la même adresse IP, c’est une autre histoire !
Je compte présenter ma configuration et mes quelques investigations sur le sujet en plusieurs articles :
- Dans cet article, je reprendrais la configuration de l’autorité de certification, et la création de certificats pour un hôte simple (un seul nom de domaine).
- Dans un second article, nous aborderons le vif du sujet avec la création d’un certificat multivalué (un certificat pour plusieurs noms de domaine).
- Un troisième article sera consacré à la gestion de la révocation des certificats afin de parfaire notre autorité de certification.
D’autres articles viendront sûrement compléter ce dossier. En particulier pour évoquer : une autre méthode pour les hôtes virtuels sous apache (utilisant le SNI), les certificats à validation étendue (EV) ou encore la gestion des certificats sous firefox 3…
Garçon, un certificat s’il-vous-plaît !
Pour qu’un service ssl fonctionne, il doit disposer d’un certificat afin d’établir la communication. Le cas le plus simple est d’utiliser un certificat autosigné où le certificat lui-même est utilisé pour le signer. (En sécurité, la signature permet l’authentification, comme votre signature sur un chèque ou un contrat permet de vous authentifier.)
Sous Debian (vous l’aurez compris, j’aime bien Debian !), l’installation d’un paquet utilisant ssl induira la génération automatique d’un certificat autosigné pour le service fourni par le paquet.
Ainsi lorsque le certificat expire, il suffit de l’effacer et de le régénérer comme l’indique Tom Insam sur son blog jerakeen.org: c’est-à-dire en demandant gentiement à Debian de faire le boulot avec openssl. (Pour plus de détails la partie suivante abordera la génération de certificats avec openssl).
Disposant de certificats autosignés, vos logiciels serveur (par exemple : apache, postfix, dovecot) vont pouvoir fournir des services sur des protocoles utilisant ssl (https, stmp-tls et pops ou imaps).
Ainsi des applications clientes vont pouvoir s’y connecter de manière chiffrée après l’acceptation des certificats.
Mais l’utilisateur rigoureux (ou paranoïaque, il faut l’être un minimum pour comprendre la sécurité !) devra préalablement s’assurer de la pertinence de ces certificats.
Pour simplifier cette vérification, on créé des chaînes de confiance. On va accepter un certificat principal : celui d’une autorité de certification. Ce certificat serra lui même utilisé pour signer les certificats de tous les services.
Plus de détails page suivante…