This is the first time I have had to delve down to the depths of network traces, so please excuse my ignorance. We have a working interface between one of our systems and an external company. The other day it stopped working and after a bit of investigation we discovered that they had turned off support for SSLv3. This seems to be a wise thing to do. However it broke the communications so we had to get them to turn it back on. We are using SAP on our end. All the research I have done indicates that we should support TLS. So it seemed strange that SSL v3 was being used after all. I ran a wireshark trace to hopefully tell me what was going on. Below is the extract. But I don’t know how to interpret it. It says the Handshake protocol is TLSv1, but then there is a mention of Version SSL 3.0. Does that mean it is using SSL 3.0 . If that is the case, how do I found out why isn’t it using TLS? regards Tony Lewisasked 16 May '16, 21:50 awlwiles edited 17 May '16, 01:23 Jaap ♦ |
2 Answers:
A generic answer maybe:
So re-enabling of TLSv1.0 (or even SSL3.0) at the external company side should be considered only a workaround. The solution should be to implement (activate?) support of TLS1.2 at your end. Analysis of the whole capture from the negotiation phase can tell you what versions of TLS the external company's server currently offers, and where the negotiation actually ends (SSL 3.0 or TLSv1.0) while the workaround is in place. The only answer to the "why" which Wireshark can give you is "because this side of the conversation has asked for that, and the other side has agreed". But the answer to "why this side has asked for that" is something Wireshark cannot tell you. To get this answer, you have to talk to the administrator and/or developer of that side. answered 17 May '16, 05:09 sindy edited 17 May '16, 05:12 |
The two versions you see are for different purposes. SSL 3.0 and TLS 1.0 up to 1.2 have a record layer containing a version (SSL 3.0 in your case) which roughtly advertises the minimum supported version. The version included in the Client Hello message (TLS 1.0 in your case) is the highest version supported by the client. According to your capture the client indeed supports TLS 1.0. Its set of supported cipher suites is however not that strong. Your external company might require more secure ciphers. See https://wiki.mozilla.org/Security/Server_Side_TLS for what is considered acceptable. Misbehaved servers will immediately reset the connection if they do not understand/accept the Client Hello. Good implementations will however send an "Alert" containing the reason why the connection fails. Possible reasons include answered 18 May '16, 06:46 Lekensteyn |
A text dump doesn't help, nor a single packet.
Please post a capture file (not plain text) somewhere of the full connection negotiation, so an attempt can be made to understand the negotiations that go on.
Thank you all for your input so far. I may not be permitted to post a full trace file. However I think the tips people have provided will enable us to resolve the issue. If and when we do I will post the fix here. I am going to get them to re-active the change that disabled SSLv3 so I can gather more details. regards Tony Lewis