Hi,

I've modified the subject so that people with SSL skills notice it.

On Sat, Feb 21, 2015 at 02:06:51AM +0100, Baptiste wrote:
> On Sat, Feb 21, 2015 at 12:39 AM, NuSkooler <[email protected]> wrote:
> > Some additional gritty details:
> > * socat 'show errors' shows 0 errors
> > * The same bad clients fail to connect to a OpenSSL s_server (logs below)
> >
> > Since we can't even properly connect to s_server, that may be the end
> > of the road for those clients. However, I'm hoping there may be
> > something that could be configured to allow them through HAProxy.
> > Below is a s_server log. Note the read failure at the end. A similar
> > capture in the view of Wireshark is below that. Lastly, *with* HAProxy
> > when the NOSRV/BADREQ is issued, the client is sent a encrypted 400
> > Bad Request.
> >
> > Any help/tips appreciated! This represents a large client base that
> > unfortunately cannot be updated for the time being. If we cannot go
> > through HAProxy directly, the next step is to figure out a way to
> > route old clients around it :(
> >
> 
> Hi,
> 
> Since HAProxy returns a 400, it means that the issue is above the SSL
> connection.
> You should enable HAProxy's stats socket and run the following command
> on it right after a 400 has been emitted: "show errors"

Unfortunately he said there were zero errors. The BADREQ here is the
result of the failed handshake leading to the connection being closed
before a request is received. That makes me think that we don't start
the full session until a handshake is completed, so if we see this log,
it means that the handshake completes. It's possible then that the
client terminates the SSL session just at the end of the handshake,
with a TLS alert or something like this, resulting in no request being
received over that connection. I suspect something is improperly
negociated and the handshake never completes, maybe a cipher or
something like this. Just thinking loud, maybe this is totally
different and the client runs with a null timeout and closes before
having a chance to send a request :-/

It may help to try to refine the ciphers string to something very
minimal, and/or to experiment with force-tlsv12 or force-sslv3 to
see if this is something related to the SSL/TLS protocol version.

Maybe some of the TLS experts here can bring a few hints :-/

The fact that it also fails with openssl s_server makes me think
that there's definitely something odd with the client, but it's
really irritating not to find what.

Willy


Reply via email to