Artur Hefczyc opened 1 decade ago
|
|
We have got another report about Prosody compatibility issues for TLS s2s connections. Here are details: OS: Linux Ubuntu 12.04 LTS XMPP Server: Prosody 0.9.3 Domain: mijabber.es (Only 1 domain served) This is my cipher String: "HIGH+kEDH:HIGH+kEECDH:HIGH:!PSK:!SRP:!3DES:!aNULL:!DSS" that support al this ciphers: 0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
I have configured my server to support only ciphers that support Forward Secrecy. For the Diffie Hellman exchanges, I use a exponent key size of 2048. |
|
Details about the config: s2s_require_encryption = true s2s_secure_auth = false |
|
We have Prosody installed on v34.tigase.org. Andrzej has the login information. |
|
Hello Eric: I'm trying to check from our side some SSL things and i see one strange behavior, the TLS/SSL handshake was unable to complete:
I try with all protocol versions SSL2,SSL3,TLS1,TLS1.1 and TLS1.2 without success. I take a pcap capture of the traffic between us and tigase.im too, but i'm analyzing that a this moment, i will share with you if a found any clue. |
|
We see the same behavior - Tigase connects to prosody
Another data point - connecting from the XMPP.net show test s2s connections being setup. |
|
@Andrzej - please feel free to ping me: simon@buddycloud.com, if I can provide any more data or access to a test system. |
|
Luis G.F wrote:
You tried to connect to port 5269 which IS NOT an SSL secured XMPP port but PLAIN XMPP port which can be encrypted only after using STARTTLS extension of XMPP S2S protocol, due to that this test could not result in anything else that failure. |
|
Hi Andrzej: Yes, this is true. I see that in the pcap capture. I put another prosody server in debug mode and this is that i see in my logs, after the "proceed" from starttls, the connection is droped due to a fail in the ssl handshake.
|
|
This looks similar to our tests:
When we looked closer it appeared that the Tigase server wasn't offering up a certificate. |
|
Hi Simon: I See in my pcap capture that tigase was offer correctly a certificate, the problem arrive in the SSL handshake. After receive the "proceed" offered in STARTLS negotiation, the connection is dropped :-/ |
|
I think Simon is right about Tigase not sending client certificate as I've identified a code which I suppose is responsible for not sending client certificate when connection in client mode. I will work on solving this issue. Luis - In part of log you provided I see that Prosody was trying to connect to Tigase XMPP Server and when connection was establishing from dev.mijabber.es to tigase.im TLS was negotiated successfully but, to authenticate this connection Tigase wanted to confirm it by XMPP S2S dialback and when tigase.im was establishing connection to dev.mijabber.es then TLS negotiation failed as I suppose Tigase did not send client certificate. Thank you for bringing this issue to our attention |
|
OK, problem found. I have my server configured with a DH param of 2048 key size, the problem is that Java doesn't support Diffie-Hellman Keys greather than 1024 bits, then tigase fails if the other side has a greather dhparam set. I test that in my dev server (disabling the dh key of 2048) and "voilá", tigase.im connection works now. |
|
The problem is that i can't downgrade my cipher strengh to support legacy servers that don't support DH Keys >1024. If tigase.im don't fix the issue the connection between us should be impossible. |
|
Issue with DH key > 1024 is more complicated as Tigase XMPP Server is using TLS mechanisms from Java which in Java 7 is limited to DH <= 1024. This is fixed in upcoming Java 8 from what I have read, but I suppose that we will need to wait some time before Java 8 will be released as Java 8 is planned to be released on 18 of march 2014. |
|
While large DH keys are a problem, JavaTM Cryptography Extension is supposed to fix this. At the same time, I'm running with Prosody's default DH params (less than 2048) but still see this. |
|
Fixed sending client certificate on outgoing S2S connection when STARTTLS is used. |
|
I'm having issues (ssl handshake failed, unfortunately no other details on neither Tigase nor Prosody ends) with Prosody and Tigase in hardened mode (with 2048-bit DH parameters). You said:
Does that need activation through a parameter? What certificate will it be using? The server one? |
|
Ok I just saw the commit, it's using the server certificate alright. Any advice on how to debug this? I'm getting crazy about this because I can't debug it in any way. My server is classified as "A" on the xmpp.net test: https://xmpp.net/result.php?id=484793 |
|
Issue reported in this task was solved 2 years ago and confirmed fix works out of a box without any issues. I would suggest to enable debugging of
Please use our forums if you need help with particular cases which are not yet confirmed to be bugs in Tigase and I would recommend not to reopen or comment on closed task. |
Type |
Task
|
Priority |
Major
|
Assignee | |
RedmineID |
1729
|
Spent time |
12h
|
There seems to be problems between Tigase and Prosody in TLS hardened mode described in the topic: message#1367
Andrzej, if you have an idea on how to work with Simon to solve the problem then it's OK. However, I think it would be much easier for us to diagnose it on our controlled system.
Therefore I would like Eric to prepare a machine with Prosody for the test and you could then run s2s tests between these 2 servers. Configuration details are included in the original topic. If more information is needed, please request them from Simon.
Eric, please prepare a machine with Prosody installed for tests for Andrzej.