[Dovecot-de] Replikation über SSL

Thomas Heil heil at terminal-consulting.de
Fr Jun 19 16:37:07 CEST 2015


Hi,
On 19.06.2015 11:19, Patrick Westenberg wrote:
> Thomas Heil schrieb:
>> Hallo,
>>
>> Ich habe ein Setup mit dovecot, das aus zwei Servern besteht, die sich
>> über SSL replizieren. Nach einen Upgrade des Parameter
>> "ssl_dh_parameters_length" auf 2048 versagt nun
>> die Replikation über SSL mit folgender Fehlermeldung:
>> -- 
>> dovecot: doveadm: Error: Corrupted SSL parameters file in state_dir:
>> ssl-parameters.dat - disabling SSL 360
>> dovecot: doveadm: Error: Couldn't initialize SSL parameters, disabling
>> SSL
>> -- 
>>
>> Ein Downgrade auf 1024 bit behebt das Problem.
> 
> Das Problem habe ich zwischen Proxy und Backend.
> 
> # 2.2.18: /usr/local/etc/dovecot/dovecot.conf
> # Pigeonhole version 0.4.8 (0c4ae064f307+)
> # OS: Linux 3.14-0.bpo.1-amd64 x86_64 Debian 7.8
> 

Gibt es dazu auch Fehlermeldungen? Denn die DH Sache könnte in der
Versioni 2.2.18 bereits gefixt sein.

Siehe
--
hg export -r 18048:267bca7a62fb 18049:6efd7ab25b71
# HG changeset patch
# User Timo Sirainen <tss at iki.fi>
# Date 1414799647 25200
#      Fri Oct 31 16:54:07 2014 -0700
# Node ID 6efd7ab25b719ea045629b60ecf590b41046ba01
# Parent  267bca7a62fb28605bcb3dc3ecc1562b110f8757
lib-ssl-iostream: Support non-1024bit DH parameters in ssl-parameters.dat.

diff -r 267bca7a62fb -r 6efd7ab25b71
src/lib-ssl-iostream/iostream-openssl-context.c
--- a/src/lib-ssl-iostream/iostream-openssl-context.c    Thu Oct 30
22:02:52 2014 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl-context.c    Fri Oct 31
16:54:07 2014 -0700
@@ -77,7 +77,7 @@
     if (is_export && keylength == 512 && ssl_io->ctx->dh_512 != NULL)
         return ssl_io->ctx->dh_512;
     else
-        return ssl_io->ctx->dh_1024;
+        return ssl_io->ctx->dh_default;
 }

 static int
diff -r 267bca7a62fb -r 6efd7ab25b71
src/lib-ssl-iostream/iostream-openssl-params.c
--- a/src/lib-ssl-iostream/iostream-openssl-params.c    Thu Oct 30
22:02:52 2014 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl-params.c    Fri Oct 31
16:54:07 2014 -0700
@@ -93,13 +93,14 @@

     switch (bits) {
     case 512:
+        if (ctx->dh_512 != NULL)
+            return -1;
         ctx->dh_512 = dh;
         break;
-    case 1024:
-        ctx->dh_1024 = dh;
-        break;
     default:
-        ret = -1;
+        if (ctx->dh_default != NULL)
+            return -1;
+        ctx->dh_default = dh;
         break;
     }
     return ret;
@@ -126,8 +127,8 @@
         DH_free(ctx->dh_512);
                 ctx->dh_512 = NULL;
     }
-    if (ctx->dh_1024 != NULL) {
-        DH_free(ctx->dh_1024);
-                ctx->dh_1024 = NULL;
+    if (ctx->dh_default != NULL) {
+        DH_free(ctx->dh_default);
+                ctx->dh_default = NULL;
     }
 }
diff -r 267bca7a62fb -r 6efd7ab25b71 src/lib-ssl-iostream/iostream-openssl.h
--- a/src/lib-ssl-iostream/iostream-openssl.h    Thu Oct 30 22:02:52
2014 +0200
+++ b/src/lib-ssl-iostream/iostream-openssl.h    Fri Oct 31 16:54:07
2014 -0700
@@ -11,7 +11,7 @@
     pool_t pool;
     const struct ssl_iostream_settings *set;

-    DH *dh_512, *dh_1024;
+    DH *dh_512, *dh_default;
     int username_nid;

     unsigned int client_ctx:1;
# HG changeset patch
# User Timo Sirainen <tss at iki.fi>
# Date 1414699372 -7200
#      Thu Oct 30 22:02:52 2014 +0200
# Node ID 267bca7a62fb28605bcb3dc3ecc1562b110f8757
# Parent  54eb3436c83bc68df3b22506582cc60866f22a42
lib-ssl-iostream: Destroy SSL module later in the atexit-callbacks.

diff -r 54eb3436c83b -r 267bca7a62fb src/lib-ssl-iostream/iostream-ssl.c
--- a/src/lib-ssl-iostream/iostream-ssl.c    Thu Oct 30 22:00:14 2014 +0200
+++ b/src/lib-ssl-iostream/iostream-ssl.c    Thu Oct 30 22:02:52 2014 +0200
@@ -40,7 +40,10 @@
         return -1;
     }

-    lib_atexit(ssl_module_unload);
+    /* Destroy SSL module after (most of) the others. Especially lib-fs
+       backends may still want to access SSL module in their own
+       atexit-callbacks. */
+    lib_atexit_priority(ssl_module_unload, LIB_ATEXIT_PRIORITY_LOW);
     ssl_module_loaded = TRUE;
     return 0;
 #else
--


Gruss
Thomas

> 
> 
> Gruß
> Patrick
> _______________________________________________
> Dovecot Mailingliste
> JPBerlin - Politischer Provider
> Dovecot at listen.jpberlin.de
> https://listen.jpberlin.de/mailman/listinfo/dovecot
> 




-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 884 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20150619/dd0d5431/attachment.asc>


Mehr Informationen über die Mailingliste Dovecot