WIP dovecot

This commit is contained in:
benoit 2017-03-05 21:06:11 +01:00
parent 0ad5793be7
commit f7370b7f19

View file

@ -150,28 +150,27 @@ Ensuite on génère un certificat (sans passphrase) pour les services web et mai
# ./shellpki.sh create
```
On obtiens un certificat et une clé dans `/etc/ssl/clients/` que l'on positionne sur nginx, dovecot et postfix. Les différentes directives à modifier :
On obtiens un certificat et une clé dans `/etc/ssl/clients/` que l'on positionne sur nginx et dovecot. Les différentes directives à modifier :
```
/etc/nginx/sites-available/mailcow.conf:25: ssl_certificate
/etc/nginx/sites-available/mailcow.conf:26: ssl_certificate_key
/etc/postfix/main.cf:17:smtpd_tls_cert_file
/etc/postfix/main.cf:18:smtpd_tls_key_fil
/etc/dovecot/dovecot.conf:129:ssl_cert
/etc/dovecot/dovecot.conf:130:ssl_key
```
```
# for service in dovecot postfix nginx; do systemctl restart $service; done
# systemctl restart nginx
# systemctl restart dovecot
```
On en régénère un autre pour votre client (sans passphrase), soit un utilisateur par exemple. On pourra choisir un « Common Name » `username.mail.domain.tld` ou `Nom Prénom`.
On en régénère un autre pour votre client (sans passphrase), soit un utilisateur par exemple. Il faudra choisir un « Common Name » du type `user@domain.tld`.
```
# ./shellpki.sh create
```
Puis on le converti au format `PKCS#12` avec une passphrase d'export.
Puis on le converti au format `PKCS#12` avec une passphrase d'export. Cette passphrase sera demandé à l'import dans un navigateur ou smartphone par exemple.
```
# cd /etc/ssl/clients
@ -193,17 +192,29 @@ ssl_verify_client on;
# systemctl restart nginx
```
Pour dovecot :
Pour dovecot
```
ssl_client_ca_file = </etc/shellpki/ca/cacert.pem
# Client certificate
ssl_ca = </etc/shellpki/ca/cacert.pem
ssl_verify_client_cert = yes
ssl_cert_username_field = commonName
protocol !smtp {
auth_ssl_require_client_cert = yes
auth_ssl_username_from_cert = yes
auth_mechanisms = external
}
```
```
# systemctl restart dovecot.service
```
> **Note** : Attention, si vous avez un webmail qui se connecte en local, imap non chiffré, l'activation de `auth_ssl_require_client_cert`, va imposer d'utiliser un certificat… Cassant votre webmail. Il n'y a pas à ce jour la possibilité d'activer `auth_ssl_require_client_cert` seulement pour imaps.
# Autres actions
Voici une liste de tâches non exhaustives à faire de votre côté que je ne documente pas, non obligatoire mais conseillé…