3.1. Sécurisation des protocoles Internet

3.1.1. mod_ssl (Apache) et les certificats

Il ne faut jamais se servir du certificat auto-signé de la CA racine avec quelque application que ce soit, notamment avec Apache qui oblige à supprimer le mot de passe de protection de la clef privée.

On commence par créer et signer une demande de certificat dont le nom d'usage (CN) est du type www.mysite.com. On ne conserve que la section ---CERTIFICATE --- du certificat.

La clef doit être déverrouillée en en autorisant l'usage sans devoir rentrer le mot de passe. On supprime donc le mot de passe du fichier newreq.pem :

openssl rsa -in newreq.pem -out wwwkeyunsecure.pem

Comme la clef privée n'est plus protégée, on a intérêt à savoir ce qu'on fait et notamment à vérifier les droits d'accès aux fichiers. Si quelqu'un arrive à s'en emparer, le site est compromis. On peut à présent utiliser newcert et wwwkeyunsecure.pem avec Apache.

On copie wwwkeyunsecure.pem et newcert.pem dans le répertoire /etc/httpd/conf/ssl/ dans les fichiers wwwkeyunsecure.pem et wwwcert.crt respectivement.

On édite ensuite /etc/httpd/conf/ssl/ssl.default-vhost.conf :

----
# Server Certificate:
# SSLCertificateFile doit pointer vers un certificat en PEM.
# Si on verrouille le certificat, un mot de passe est requis.
# kill -HUP demande de nouveau le certificat. On cree un
# certificat de test via `make certificate' lors de la
# compilation.
#SSLCertificateFile conf/ssl/ca.crt
SSLCertificateFile wwwcert.crt
# Clef secrete du serveur:
# A employer lorsque la clef est separee du certificat.
#SSLCertificateKeyFile conf/ssl/ca.key.unsecure
SSLCertificateKeyFile wwwkeyunsecure.pem
----

On arrête httpd (/etc/rc.d/init.d/httpd stop) puis on vérifie que tous les processus ont disparu (killall httpd) avant de relancer le démon (/etc/rc.d/init.d/httpd start).

3.1.2. IMAPS et les certificats

Se reporter au paragraphe « POPS et les certificats » pour davantage de détails.

3.1.3. POPS et les certificats

Un fichier pem pour ipop3sd se crée en générant un certificat, en déverrouillant la clef privée et et combinant les deux dans le fichier /etc/ssl/imap/ipop3sd.pem. Ce dernier fichier correspond à l'emplacement attendu par le rpm de la Mandrake 9.0. La même procédure s'applique à imap avec le fichier /etc/ssl/imap/imapsd.pem.

Le CN doit correspondre au nom auquel le client de messagerie se connecte (par exemple mail.xyz.org). Avec MS-Outlook, le nom du serveur pop se rentre dans l'onglet à cet effet et on active l'option « This server requires a secure connection (SSL) » dans les propriétés avancées. Les connexions s'effectuent alors sur le port 995 (imaps). Le certificat de la CA doit être installé dans MS Internet Explorer pour que le certificat de mail.xyz.org soit validé.

3.1.4. Postfix et les certificats

COMPLÉTEZ-MOI

3.1.5. Stunnel et les certificats

COMPLÉTEZ-MOI

3.1.6. Création et signature de clef avec Microsoft Key Manager

Dans Microsoft Key Manager, on choisit le service pour lequel on souhaite créer un certificat, par exemple IMAP (ou WWW). L'assistant permet de générer une nouvelle clef. Il faut s'assurer de ce que le nom qualifié n'est pas identique à celui d'une clef existante. Un nom d'usage (CN) tel imap.mycompany.com fait l'affaire. L'assistant sauve la demande dans le fichier C:\NewKeyRq.txt. Key Manager indique la clef avec un signe qui signale qu'elle n'est pas signée.

On copie ce fichier dans le répertoire /var/ssl d'OpenSSL sous le nom newreq.pem et on signe la requête comme à l'accoutumé.

CA.pl -sign

newcert.pem n'est pas intelligible par Key Manager car il contient du texte et une section -CERTIFICATE-. Il faut supprimer le texte :

openssl x509 -in newcert.pem -out newcertx509.pem

Un éditeur remplit également cette tâche.

newcertx509.pem ne contient plus qu'une section -CERTIFICATE-.

On recopie newcertx509.pem sur la machine où s'exécute Key Manager. Il suffit alors de cliquer du bouton droit dessus dans l'application Key Manager et de renseigner le mot de passe. La clef est alors fonctionnelle.