1 votes

Postfix/Dovecot et nouvelle clé privée protégée par mot de passe

J'ai créé une paire de clés CST et privée, comme indiqué par StartSSL, pour mon serveur postfix/Dovecot Ubuntu 14.04, avec :

openssl req -newkey rsa:2048 -keyout mydomain.key -out mydomain.csr

A l'invite de la phrase de passe, j'ai introduit (pourquoi pas, n'est-ce pas ?) un mot de passe, au lieu de laisser le mot de passe vide pour avoir une clé non protégée.

Après avoir collé le csr à StartSSL, j'ai reçu le certificat correspondant associé au fichier protégé par mot de passe.

J'ai à la fois Dovecot et Postfix qui utilisent ce certificat :

// /etc/postfix/main.cf
smtpd_tls_cert_file = /etc/ssl/private/mychain.pem
smtpd_tls_key_file = /etc/ssl/private/mydomain.key
smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

// /etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/ssl/private/mychain.pem
ssl_key = </etc/ssl/private/mydomain.key

Lorsque vous effectuez un test avec checktls.com Je reçois :

// other steps omited
749.-->STARTTLS\r\n
750.<--454 4.7.0 TLS not available due to local problem\r\n

Et dans le journal de mon système, l'erreur SMTP, ainsi qu'une dovecot erreur qui, heureusement, s'est produite juste à ce moment-là (une partie de mon client essayait de connecter ce moment-là, je suppose) :

Oct 25 18:49:12 ns dovecot: pop3-login: Error: SSL private key file is password protected, but password isn't given
Oct 25 18:49:12 ns dovecot: pop3-login: Fatal: Couldn't parse private ssl_key: error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read
Oct 25 18:49:12 ns dovecot: master: Error: service(pop3-login): command startup failed, throttling for 60 secs
Oct 25 18:49:16 ns postfix/smtpd[30437]: connect from www4.checktls.com[216.68.85.112]
Oct 25 18:49:17 ns postfix/smtpd[30437]: lost connection after UNKNOWN from www4.checktls.com[216.68.85.112]
Oct 25 18:49:17 ns postfix/cleanup[30461]: 93088330D956: message-id=<20161025164917.93088330D956@mydomain.com>
Oct 25 18:49:17 ns postfix/smtpd[30437]: disconnect from www4.checktls.com[216.68.85.112]

Donc, comment puis-je faire en sorte que Postfix et Dovecot connaissent le mot de passe, supprimer le mot de passe, ou dois-je renouveler le certificat ?

Je préfère une solution à la première question (leur faire connaître le mot de passe), parce que c'est une nouvelle situation pour moi et que j'apprends quelque chose (peut-être dois-je "enregistrer" le mot de passe de cette clé dans un pool de mots de passe du système ?)

2voto

Sillyfrog Points 43

Configuration de Dovecot

Vous pouvez configurer Dovecot pour déverrouiller la clé avec la phrase de passe au démarrage. L'adresse La page Wiki de la configuration SSL contient une section à ce sujet. :

Les fichiers de clés SSL peuvent être protégés par un mot de passe. Il y a deux façons de fournir Dovecot le mot de passe :

  1. Démarrage de Dovecot avec dovecot -p demande le mot de passe. Il n'est stocké nulle part, donc cette méthode empêche Dovecot de démarrer automatiquement au démarrage.

  2. ssl_key_password réglage. Il convient de noter que dovecot.conf est par défaut lisible par le monde entier, donc vous ne devriez probablement pas l'y placer directement. Vous pouvez plutôt le stocker dans un fichier différent, tel que /etc/dovecot-private.conf contenant :

    ssl_key_password = secret

    et ensuite utiliser !include_try /etc/dovecot-private.conf pour l'essentiel dovecot.conf .

Postfix exige une clé non chiffrée

Postfix ne peut pas traiter les clés cryptées Vous devez donc fournir une copie décryptée :

Afin d'utiliser TLS, le serveur SMTP Postfix a généralement besoin d'un certificat et d'une clé privée. Les deux doivent être au format "PEM". La clé privée ne doit pas être chiffrée, c'est-à-dire qu'elle doit être accessible sans mot de passe. [...]

Suppression de la phrase d'authentification

La suppression de la phrase de passe est aussi facilement réalisable en exécutant

openssl rsa -in encrypted-key.pem -out decrypted-key.pem

sans avoir à saisir une nouvelle phrase de passe lorsque la clé est à nouveau exportée.

0voto

Shiraz Points 380

Vous pouvez également créer une clé non chiffrée immédiatement avec openssl. Pour obtenir les fichiers key, csr & crt, les commandes seraient les suivantes

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X