This commit is contained in:
benoit 2017-03-05 21:40:24 +01:00
parent 7a135a891c
commit 9cfaa28f6a

View file

@ -123,6 +123,8 @@ L'idée est de restreindre l'accès aux services web (webmail et admin), et mail
Pour cela il faut mettre en place une `PKI` et émettre un certificat client. J'utilise l'outil [shellPKI](https://wiki.evolix.org/HowtoOpenVPN#mise-en-place-dune-pki-avec-shellpki-openbsd-et-debian) pour ça.
## ShellPKI
```
# cd /usr/local
# git clone https://forge.evolix.org/shellpki.git
@ -150,14 +152,14 @@ Puis on le converti au format `PKCS#12` avec une passphrase d'export. Cette pass
```
# cd /etc/ssl/clients
# openssl pkcs12 -export -in benoit.mail.benpro.fr.crt -inkey benoit.mail.benpro.fr.key -out benoit.mail.benpro.fr.p12
# openssl pkcs12 -export -in user@mail.domain.tld.crt -inkey user@mail.domain.tld.key -out user@mail.domain.tld.p12
```
Il faudra importer ce certificat client dans les navigateurs et dans diverses applications (Thunderbird, Exchange/GMail sous Android, K9-Mail, …).
La dernière étape consiste à dire à dovecot et nginx qu'il est nécessaire de présenter un certificat client.
Pour nginx :
## Nginx
```
ssl_client_certificate /etc/shellpki/ca/cacert.pem;
@ -168,7 +170,7 @@ ssl_verify_client on;
# systemctl restart nginx
```
Pour dovecot :
## Dovecot
> **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… Si vous utilisez un webmail, n'activez pas ceci sur dovecot.