[Dovecot] IMAP and POP3 per SSL
Robert Schetterer
robert at schetterer.org
Tue Mar 20 13:32:04 EET 2012
Am 20.03.2012 12:16, schrieb Lamprecht, Andreas:
> Hi!
>
> I'm new to this list and i could not find a way to search through the already posted articles, so please forgive me if this subject has been discussed before.
>
> Our security scanner stumbled over the IMAPs server i've set up recently using dovecot on a RedHat Enterprise 64bit Server.
> The security scanner found an error regarding a new SSL security leak named "BEAST". The exact error number is CVE-2011-3389. Details can be found here: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3389
>
> "The internet" has some workarounds for this problem. For example, in Apache webserver, you need to set
>
> SSLHonorCipherOrder On
>
> in apache config. This results in the following C-Code being executed:
>
> SSL_CTX_set_options(ctx, SSL_OP_CIPHER_SERVER_PREFERENCE);
>
> This setting tells OpenSSL not to honor the Ciper Order sent from the client, but prefer it's own configured set of CipherSuites. According to Qualis SSL Labs ( https://www.ssllabs.com/ssldb/index.html ), a webserver configured with this setting is not affected by that BEAST security leak.
>
> Is there a way to implement such a setting into Dovecot, too?
>
> I have created a very quick and dirty solution to avoid being listed on our internal security problem's list.
> This patch is for dovecot 2.0.9 which is included in Redhat Enterprise Linux 6.2:
>
> *** src/login-common/ssl-proxy-openssl.c 2010-12-30 10:42:54.000000000 +0100
> --- src/login-common/ssl-proxy-openssl.c_1 2012-03-20 09:48:28.359508087 +0100
> ***************
> *** 924,930 ****
> X509_STORE *store;
> STACK_OF(X509_NAME) *xnames = NULL;
>
> ! SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL | SSL_OP_NO_SSLv2);
> if (*set->ssl_ca != '\0') {
> /* set trusted CA certs */
> store = SSL_CTX_get_cert_store(ssl_ctx);
> --- 924,930 ----
> X509_STORE *store;
> STACK_OF(X509_NAME) *xnames = NULL;
>
> ! SSL_CTX_set_options(ssl_ctx, SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_CIPHER_SERVER_PREFERENCE );
> if (*set->ssl_ca != '\0') {
> /* set trusted CA certs */
> store = SSL_CTX_get_cert_store(ssl_ctx);
>
>
> Of course there should be a way to switch this setting on or off, but my C programming skills are rather basic ...
>
> So, maybe you have the time to look over it and implement a final solution for the BEAST problem.
>
> Greetings
> Andreas lamprecht
>
perhaps look at
http://wiki2.dovecot.org/SSL/DovecotConfiguration
--
Best Regards
MfG Robert Schetterer
Germany/Munich/Bavaria
More information about the dovecot
mailing list