> Point taken. However, it's important to know that SSL uses the negative form,
> which is why I preferred to use the same one. You have options to *disable*
> use of V2/V3/TLS, not to enable them. Thus I find it more durable to stay on
> the same logics because if openssl 1.2 comes with support for TLSv5, it will
> be offered by default until we have an option to disable it. With the positive
> approach, it will be offered by default until unknown, and once known, it will
> suddenly be disabled for the same configs unless users explicitly ask for it.
> I'm rather for long-term config compatibility you know :-)

Right, I fully agree with you.


> However if we see a much higher performance level by using the native API,
> we'd probably write a 3rd data layer dedicated to yassl, and would probably
> rename the current SSL data layer so that we can choose the one we want at
> build time.

Ok, thats great.

I have another comment about yassl: It seems that CyaSSL, the ANSI C based
edition of yaSSL is recommended over yasll (see [1]). For example TLS1.2
doesn't seem to be supported on yasll yet, while CyaSSL already supports it.
I do not have any programming knowlegde, so please execuse my probably stupid
question, but whats the reason to impement yasll instead of CyaSSL? Can't
a C-lib be implemented in a C++ application?


Regards,
Lukas

[1] http://www.yassl.com/yaSSL/Products-yassl.html




----------------------------------------
> Date: Tue, 4 Sep 2012 15:26:24 +0200
> From: [email protected]
> To: [email protected]
> CC: [email protected]
> Subject: Re: HAProxy with native SSL support !
>
> Hi Lukas,
>
> On Tue, Sep 04, 2012 at 03:05:14PM +0200, Lukas Tribus wrote:
> > Willy, this is huge! Great, great work!
> >
> > A few comments/questions:
> >
> > - are you running latest and greatest openssl on demo.1wt.eu? I am asking
> > because Secure Renegotiation doesn't seem to be supported [1]. Older
> > (<1.0.0?) releases seem to have a higher memory overhead as well, iirc.
>
> Just checked and no, it's 0.9.8 only on this box. Anyway this is not
> very important on this box since it gets very low load. Also this was
> more for the test than anything else, so I expected that someone would
> even complain about the self-signed cert :-)
>
> > - I see you have implemented "[nosslv3] [notlsv1]" to limit the SSL/TLS
> > protocols. I do prefer the nginx approach [2], positively specifying the
> > protocols used. This is much more flexible. Even if today the 2 options are
> > fine for generic HTTPS proxies in the Internet, there may be corner cases or
> > future needs to specify the protocols in a more flexible manner, like nginx
> > does.
>
> Point taken. However, it's important to know that SSL uses the negative form,
> which is why I preferred to use the same one. You have options to *disable*
> use of V2/V3/TLS, not to enable them. Thus I find it more durable to stay on
> the same logics because if openssl 1.2 comes with support for TLSv5, it will
> be offered by default until we have an option to disable it. With the positive
> approach, it will be offered by default until unknown, and once known, it will
> suddenly be disabled for the same configs unless users explicitly ask for it.
> I'm rather for long-term config compatibility you know :-)
>
> > - about ssl ciphers, we should probably steal the default from nginx, by
> > using "HIGH:!aNULL:!MD5" [3], so we don't enable obsolete ciphers like DES 
> > by
> > default [1].
>
> OK, right now nothing is set by default and indeed it could be an idea.
>
> > - any way to validate certificates of the backend? Perhaps a insecure/secure
> > flag should be introduced. The exact host/domainname is needed as well to
> > validate the backend certificate. Consider configurations where the backend
> > server is not local, but can be contacted only over the big bad internet. 
> > I'm
> > also thinking of a certificate validation in the health checks.
>
> We're considering adding some "verify" options exactly for this, in order to
> only accept some backend certificates as well as to validate some users. They
> are not implemented yet, but this is planned.
>
> > - probably not a much requested feature, but for the record: any plan to 
> > make
> > client based certificates work? Could be interesting for example to
> > authenticate haproxy on the backend servers. There are probably people with
> > frontend "client certificate" use-cases as well. However general interest in
> > this feature is probably low.
>
> This was our primary concern, but in order to get these, we needed native
> SSL :-)
>
> So yes this will come, maybe soon, maybe later. We hope no later than the end
> of the year depending on our available time, but maybe much sooner too. I also
> want to be able to pass client cert info into HTTP headers, logs and ACLs.
>
> > - you seem to be interested in supporting native yassl. Would you then drop
> > openssl support or would the idea be to support both native yassl and the
> > openssl api?
>
> No, we wouldn't drop it, openssl is the de-facto standard. However if we see
> a much higher performance level by using the native API, we'd probably write
> a 3rd data layer dedicated to yassl, and would probably rename the current SSL
> data layer so that we can choose the one we want at build time.
>
> > Congratulations to this big step in haproxy development!
>
> Thanks :-)
>
> Regards,
> willy
>
>
                                          

Reply via email to