Installer un certificat sur qmail
Tout d'abord, il vous faudra disposer d'un fichier de clé privée (non chiffrée), du fichier de certificat (fichier cert-0000000000-1234.cer) d'un fichier de chaine de certification (fichier chain-0000000000-1234.txt).
Si vous n'avez pas encore commandé votre certificat, et souhaitez générer une clé privée et un CSR, vous pouvez suivre notre documentation OpenSSL.
Support TLS
Qmail ne dispose pas d'un support natif de SSL ou de TLS. Il existe un patch, qmail-tls écrit par Frederik Vermeulen.
Si votre distribution n'intègre pas ce patch dans son paquet qmail, il vous faudra récupérer les sources appliquer le patch et compiler qmail avant de l'utiliser.
Fabrication du bundle de certificat
Il vous faudra concaténer (dans cet ordre), votre clé privée, votre certificat, et la chaine de certification. Le certificat racine n'est pas nécessaire.
Le nom du bundle est défini en dur dans le patch qmail-tls et doit être servercert.pem.
cat cle_privee.key cert-0000000000-1234.cer chain-0000000000-1234.txt > servercert.pem
Installation
Vous devez copier le fichier servercert.pem dans le répertoire de contrôle de qmail : /var/qmail/control
Pour copier le fichier :
cp servercert.pem /var/qmail/control/
Pour concaténer les fichiers de certificats et créer le bundle dans le bon répertoire :
cat cle_privee.key cert-0000000000-1234.cer chain-0000000000-1234.txt > /var/qmail/control/servercert.pem
Le TLS devrait désormais être active. Vous pouvez avoir besoin de relancer qmail.
Recommandations de sécurité
Vous pouvez personnalisez les ciphers à l'aide d'un fichier de contrôle :
echo "!EDH:!DHE:!RC4:!ADH:!DSS:HIGH:+AES128:+AES256-SHA256:+AES128-SHA256:+SHA:!3DES:!NULL:!aNULL:!eNULL" > /var/qmail/control/tlsserverciphers
La taille des groupes de nombres premiers Diffie-Hellman semble actuellement limitée à 1024bits, c'est pourquoi, nous recommandons la désactivation de DHE afin de vous protéger des failles exploitant les groupes DH.