[gelöst] Tuxmaild - SSL handshake verbessern

Games, Plugins, Utils, Tools, 3rdParty, etc...
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

[gelöst] Tuxmaild - SSL handshake verbessern

Beitrag von GetAway »

Hi,

nach dem Test verschiedener Provider habe ich festgestellt, dass es bei einigen Probleme
mit dem SSL handshake gibt. T-Online und Freenet funktionieren, GMX geht nur auf der
Coolstream, Arcor geht gar nicht.

Code: Alles auswählen

SSL_connect --> could not handle SSL handshake
Ich spreche hier speziell die Socket Spezialisten an, da es in dem Bereich wohl Optimierungs-
potential gibt (Block ??, NON-Block ??). Ich habe nur darüber gelesen, zum Programmieren
fehlt mir die Kenntnis. Es wäre schön, wenn sich jemand über die Herbst- oder Wintermonate
bereit erklären würde, da mal Hand anzulegen. Das Plugin wird ja wahrscheinlich auch auf
anderen Plattformen genutzt.
doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Re: Tuxmaild - SSL handshake verbessern

Beitrag von doc »

Na ja, wird denn wirklich nur nur mit SSL Cipher eine Verbindung aufgebaut, TLS ist nicht implementiert? Die Poodle Schwachstelle ist bekannt? Ich denke das dieses Problem eventuell in der sukzessiven Abschaltung von SSlv3 begründet liegt. T-Online hat SSLv3 noch aktiv, Arcor hat jedoch schon den Support abgeschaltet.
Na schönen Dank Herr Schwanke!
Ein toller Sommer! :-(
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Tuxmaild - SSL handshake verbessern

Beitrag von GetAway »

ja, mit tls funktionierts bei arcor, zumindest mit dem Openssl Test.

Code: Alles auswählen

./openssl s_client -tls1 -host pop3.arcor.de -port 995
Das andere Problem betrifft GMX, kann sein das da noch etwas mitgebaut werden muss.
Der libz.so Fehler scheint erstmal nicht relevant, da ich erfolgreich T-Online und Freenet
mit Openssl testen kann.

Code: Alles auswählen

 ./openssl s_client -tls1 -host pop.gmx.de -port 995
18475:error:25066067:lib(37):func(102):reason(103):NA:0:filename(libz.so): libz.so: cannot open shared object file: No such file or directory
18475:error:25070067:lib(37):func(112):reason(103):NA:0:
CONNECTED(00000003)
depth=2 /C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2
verify error:num=19:self signed certificate in certificate chain
verify return:0
18475:error:1409E0E5:lib(20):func(158):reason(229):NA:0:
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Tuxmaild - SSL handshake verbessern

Beitrag von GetAway »

Scheinbar liegt das an der PPC Architektur. GMX Handshake Versuche mit "Openssl" schlagen genauso fehl.
Ich habe schon alles bei libcrypto mitbauen lassen. Auf einem ARM läuft es ohne Probleme. Wenn jemand Rat weiß,
bitte melden. Danke.

So siehst es aus

Code: Alles auswählen

openssl s_client -tls1 -msg -debug -host pop.gmx.net -port 995

Code: Alles auswählen

read from 0x10080b10 [0x100860b8] (5 bytes => 5 (0x5))
0000 - 16 03 01 00 04                                    .....
read from 0x10080b10 [0x100860bd] (4 bytes => 4 (0x4))
0000 - 0e                                                .
0004 - <SPACES/NULS>
<<< TLS 1.0 Handshake [length 0004], ServerHelloDone
    0e 00 00 00
>>> TLS 1.0 Handshake [length 0106], ClientKeyExchange
    10 00 01 02 01 00 7b 7b 58 4c 4e e8 ec 11 65 68
    da e8 c6 f2 24 52 34 e4 0b e9 09 03 60 da 8b 0f
    4b 9e 22 4e 71 48 fc 75 ba 0f 1a e3 df 0d 0a 33
    48 53 6e df f4 39 18 43 57 14 e4 65 58 d1 75 5a
    ad c4 52 70 c9 22 93 e7 ad 4f 99 97 b5 c8 b7 cc
    9d 6b 31 85 d4 8d 62 e8 e0 77 83 79 dd ec f1 b8
    9d 7d e1 87 23 af be a3 94 08 4e 28 5b d4 c5 af
    90 be 47 ac 19 4e fa 3b 6a 9e 3c 9d 17 7c 7a a8
    e2 91 1e 12 48 7b b5 b2 e7 34 c6 27 6d 8c d0 31
    b0 a3 72 6f 12 c9 3c c8 54 c7 6f b9 5e c3 24 97
    b8 29 15 ce c0 00 3b 7d 5e 00 1c 71 3c 31 a4 36
    8c f2 2a 3e f7 86 98 f2 ed bf 2a 73 47 40 7a 8e
    7d 5f 3f 81 9d 15 32 b6 f4 c3 88 0f 7a a1 23 bf
    6a d6 ac 60 5c 22 0e 20 83 0e 74 f5 34 d2 77 77
    55 dc d5 1c 82 0b 44 8d f0 02 cf 2e e2 b5 07 c3
    83 6f 29 3c 66 d4 e6 81 58 1a c7 b8 d4 0f 31 18
    d8 7f 6d 93 04 1c
write to 0x10080b10 [0x10090250] (267 bytes => 267 (0x10B))
0000 - 16 03 01 01 06 10 00 01-02 01 00 7b 7b 58 4c 4e   ...........{{XLN
0010 - e8 ec 11 65 68 da e8 c6-f2 24 52 34 e4 0b e9 09   ...eh....$R4....
0020 - 03 60 da 8b 0f 4b 9e 22-4e 71 48 fc 75 ba 0f 1a   .`...K."NqH.u...
0030 - e3 df 0d 0a 33 48 53 6e-df f4 39 18 43 57 14 e4   ....3HSn..9.CW..
0040 - 65 58 d1 75 5a ad c4 52-70 c9 22 93 e7 ad 4f 99   eX.uZ..Rp."...O.
0050 - 97 b5 c8 b7 cc 9d 6b 31-85 d4 8d 62 e8 e0 77 83   ......k1...b..w.
0060 - 79 dd ec f1 b8 9d 7d e1-87 23 af be a3 94 08 4e   y.....}..#.....N
0070 - 28 5b d4 c5 af 90 be 47-ac 19 4e fa 3b 6a 9e 3c   ([.....G..N.;j.<
0080 - 9d 17 7c 7a a8 e2 91 1e-12 48 7b b5 b2 e7 34 c6   ..|z.....H{...4.
0090 - 27 6d 8c d0 31 b0 a3 72-6f 12 c9 3c c8 54 c7 6f   'm..1..ro..<.T.o
00a0 - b9 5e c3 24 97 b8 29 15-ce c0 00 3b 7d 5e 00 1c   .^.$..)....;}^..
00b0 - 71 3c 31 a4 36 8c f2 2a-3e f7 86 98 f2 ed bf 2a   q<1.6..*>......*
00c0 - 73 47 40 7a 8e 7d 5f 3f-81 9d 15 32 b6 f4 c3 88   sG@z.}_?...2....
00d0 - 0f 7a a1 23 bf 6a d6 ac-60 5c 22 0e 20 83 0e 74   .z.#.j..`\". ..t
00e0 - f5 34 d2 77 77 55 dc d5-1c 82 0b 44 8d f0 02 cf   .4.wwU.....D....
00f0 - 2e e2 b5 07 c3 83 6f 29-3c 66 d4 e6 81 58 1a c7   ......o)<f...X..
0100 - b8 d4 0f 31 18 d8 7f 6d-93 04 1c                  ...1...m...
>>> TLS 1.0 ChangeCipherSpec [length 0001]
    01
write to 0x10080b10 [0x10090250] (6 bytes => -1 (0xFFFFFFFF))
write:errno=32

doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Re: Tuxmaild - SSL handshake verbessern

Beitrag von doc »

Keine Ahnung woran es hängt, schaue Dir mal https://github.com/jvehent/cipherscan an und eventuell mal für Deine Zielplattform bauen und testen. Oft liegt es an nicht richtig konfigurierten Servern die nicht richtig auf eine andere CipherSuite zurückfallen.

Basis für "old level", "intermediate level" und "modern level" ist die Empfehlung auf https://wiki.mozilla.org/Security/Server_Side_TLS
Für T-Online kommt dann so etwas heraus:

Code: Alles auswählen

doc@jessie:~/gitprojects/cipherscan [master] $ ./analyze.py -t secureimap.t-online.de:993
secureimap.t-online.de:993 has bad ssl/tls

Things that are bad:
* remove cipher ECDHE-RSA-RC4-SHA

Changes needed to match the old level:
* remove cipher ECDHE-RSA-RC4-SHA
* consider enabling SSLv3
* use a certificate with sha1WithRSAEncryption signature
* use DHE of 1024bits and ECC of 256bits
* consider enabling OCSP Stapling

Changes needed to match the intermediate level:
* remove cipher ECDHE-RSA-RC4-SHA
* consider using DHE of at least 2048bits and ECC of at least 256bits
* consider enabling OCSP Stapling

Changes needed to match the modern level:
* remove cipher ECDHE-RSA-RC4-SHA
* remove cipher DHE-RSA-CAMELLIA256-SHA
* remove cipher DHE-RSA-CAMELLIA128-SHA
* remove cipher AES256-GCM-SHA384
* remove cipher AES256-SHA256
* remove cipher AES256-SHA
* remove cipher AES128-GCM-SHA256
* remove cipher AES128-SHA256
* remove cipher AES128-SHA
* remove cipher DES-CBC3-SHA
* disable TLSv1
* use DHE of at least 2048bits and ECC of at least 256bits
* consider enabling OCSP Stapling
Aber Arcor sieht da auch nicht viel besser aus.

Code: Alles auswählen

doc@jessie:~/gitprojects/cipherscan [master] $ ./analyze.py -t imap.arcor.de:993
imap.arcor.de:993 has bad ssl/tls

Things that are bad:
* remove cipher RC4-SHA

Changes needed to match the old level:
* remove cipher RC4-SHA
* consider enabling TLSv1.1
* consider enabling TLSv1.2
* consider enabling SSLv3
* add cipher DES-CBC3-SHA
* consider enabling OCSP Stapling
* enforce server side ordering

Changes needed to match the intermediate level:
* remove cipher RC4-SHA
* consider enabling TLSv1.1
* consider enabling TLSv1.2
* consider using a SHA-256 certificate
* consider enabling OCSP Stapling
* enforce server side ordering

Changes needed to match the modern level:
* remove cipher AES256-SHA
* remove cipher CAMELLIA256-SHA
* remove cipher AES128-SHA
* remove cipher CAMELLIA128-SHA
* remove cipher RC4-SHA
* disable TLSv1
* consider enabling TLSv1.1
* consider enabling TLSv1.2
* use a SHA-256 certificate
* consider enabling OCSP Stapling
* enforce server side ordering
Und der CipherSuite Scan

Code: Alles auswählen

doc@jessie:~/gitprojects/cipherscan [master] $ ./cipherscan secureimap.t-online.de:993
.......................
Target: secureimap.t-online.de:993

prio  ciphersuite                  protocols              pfs_keysize                                                                                                                                                                                                          
1     ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                ECDH,P-384,384bits
2     ECDHE-RSA-AES256-SHA384      TLSv1.2                ECDH,P-384,384bits
3     ECDHE-RSA-AES256-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-384,384bits
4     ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                ECDH,P-384,384bits
5     ECDHE-RSA-AES128-SHA256      TLSv1.2                ECDH,P-384,384bits
6     ECDHE-RSA-AES128-SHA         TLSv1,TLSv1.1,TLSv1.2  ECDH,P-384,384bits
7     ECDHE-RSA-RC4-SHA            TLSv1,TLSv1.1,TLSv1.2  ECDH,P-384,384bits
8     DHE-RSA-AES256-GCM-SHA384    TLSv1.2                DH,1024bits
9     DHE-RSA-AES256-SHA256        TLSv1.2                DH,1024bits
10    DHE-RSA-AES256-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,1024bits
11    DHE-RSA-CAMELLIA256-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,1024bits
12    DHE-RSA-AES128-GCM-SHA256    TLSv1.2                DH,1024bits
13    DHE-RSA-AES128-SHA256        TLSv1.2                DH,1024bits
14    DHE-RSA-AES128-SHA           TLSv1,TLSv1.1,TLSv1.2  DH,1024bits
15    DHE-RSA-CAMELLIA128-SHA      TLSv1,TLSv1.1,TLSv1.2  DH,1024bits
16    AES256-GCM-SHA384            TLSv1.2
17    AES256-SHA256                TLSv1.2
18    AES256-SHA                   TLSv1,TLSv1.1,TLSv1.2
19    AES128-GCM-SHA256            TLSv1.2
20    AES128-SHA256                TLSv1.2
21    AES128-SHA                   TLSv1,TLSv1.1,TLSv1.2
22    DES-CBC3-SHA                 TLSv1,TLSv1.1,TLSv1.2

Certificate: trusted, 2048 bit, sha256WithRSAEncryption signature
TLS ticket lifetime hint: 300
OCSP stapling: not supported
Server side cipher ordering
Zuletzt geändert von doc am Montag 27. Oktober 2014, 20:05, insgesamt 2-mal geändert.
Grund: Logs hinzugefügt
Na schönen Dank Herr Schwanke!
Ein toller Sommer! :-(
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Tuxmaild - SSL handshake verbessern

Beitrag von GetAway »

Danke, habe den Fehler gefunden. Patch folgt.

den Patch gibts hier:
http://www.tuxbox.org/forum/viewt ... 59#p387159