Re: Recommended SSL ciphers and settings

2014-09-09 Thread pablo platt
rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains if
ssl-proxy

Do I need to add it to the frontend or backend?
Will it break raw TLS (not HTTPS)?

Thanks

On Tue, Sep 9, 2014 at 1:25 PM, Thomas Heil h...@terminal-consulting.de
wrote:

  Hi,


 On 09.09.2014 11:43, pablo platt wrote:

  I've tried both options and I'm still not getting A+.

  Unfortunately, I can't ask the user what the error is.
  If I'll run into this again, I'll try to get this info.

  To reach A+ you need

 rspadd Strict-Transport-Security:\ max-age=31536000;\
 includeSubDomains if ssl-proxy
 ssl-proxy means here the connection is ssl.

 and a cipher list like
 --
 EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:
 EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
 --

 Together it should work.

 As you can see we have no longer RC4 ciphers,

 cheers
 thomas


  Thanks

 On Mon, Sep 8, 2014 at 9:46 AM, Jarno Huuskonen jarno.huusko...@uef.fi
 wrote:

 Hi,

 On Sun, Sep 07, pablo platt wrote:
  Hi,
 
  I'm using haproxy to terminate SSL and it works for most of my users.
  I have alphassl wildcard certificate.
  I'm using SSL to improve WebSockets and RTMP connections of port 443.
  I don't have sensitive data or e-commerce.
 
  I have one user that see a warning in Chrome and can't use my website.

 Do you know what warning chrome gives to that user ?

  Is it possible that this the warning is because an antivirus is not
 happy
  with the default ciphers or other ssl settings?
 
  When running a test https://sslcheck.globalsign.com/en_US I'm getting:
  Sessions may be vulnerable to BEAST attack
  Server has not enabled HTTP Strict-Transport-Security
  Server has SSL v3 enabled
  Server is using RC4-based ciphersuites which have known vulnerabilities
  Server configuration does not meet FIPS guidelines
  Server does not have OCSP stapling configured
  Server has not yet upgraded to a Extended Validation certificate
  Server does not have SPDY enabled
 
  I found one suggestion:
  bind 10.0.0.9:443 name https ssl crt /path/to/domain.pem ciphers
  RC4:HIGH:!aNULL:!MD5
 
 http://blog.haproxy.com/2013/01/21/mitigating-the-ssl-beast-attack-using-the-aloha-load-balancer-haproxy/
 
  And another:
  bind 0.0.0.0:443 ssl crt /etc/cert.pem nosslv3 prefer-server-ciphers
  ciphers RC4-SHA:AES128-SHA:AES256-SHA
 
  Both gives me other warnings.

 What other warnings ? (Does haproxy give you warnings/errors or client
 browsers) ?

 Perhaps you could try ciphersuite from:
 https://wiki.mozilla.org/Security/Server_Side_TLS

 for example in global:
 ssl-default-bind-ciphers ...

 or on bind:
 bind 0.0.0.0:443 ssl crt /path/to/crt ciphers ...

 To enable ocsp stapling see haproxy config:
 http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.1-crt

 http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#9.2-set%20ssl%20ocsp-response

 -Jarno

 --
 Jarno Huuskonen




 --
 Thomas Heil
 -
 Email: h...@terminal-consulting.de
 Tel:   0176 / 44555622
 --





Recommended SSL ciphers and settings

2014-09-08 Thread pablo platt
Hi,

I'm using haproxy to terminate SSL and it works for most of my users.
I have alphassl wildcard certificate.
I'm using SSL to improve WebSockets and RTMP connections of port 443.
I don't have sensitive data or e-commerce.

I have one user that see a warning in Chrome and can't use my website.
Is it possible that this the warning is because an antivirus is not happy
with the default ciphers or other ssl settings?

When running a test https://sslcheck.globalsign.com/en_US I'm getting:
Sessions may be vulnerable to BEAST attack
Server has not enabled HTTP Strict-Transport-Security
Server has SSL v3 enabled
Server is using RC4-based ciphersuites which have known vulnerabilities
Server configuration does not meet FIPS guidelines
Server does not have OCSP stapling configured
Server has not yet upgraded to a Extended Validation certificate
Server does not have SPDY enabled

I found one suggestion:
bind 10.0.0.9:443 name https ssl crt /path/to/domain.pem ciphers
RC4:HIGH:!aNULL:!MD5
http://blog.haproxy.com/2013/01/21/mitigating-the-ssl-beast-attack-using-the-aloha-load-balancer-haproxy/

And another:
bind 0.0.0.0:443 ssl crt /etc/cert.pem nosslv3 prefer-server-ciphers
ciphers RC4-SHA:AES128-SHA:AES256-SHA

Both gives me other warnings.

What are the commended ciphers and settings to use when terminating SSL
with haproxy?
Could there be another reason Chrome complains about SSL?

Thanks


Re: debian repository http://haproxy.debian.net/

2014-05-23 Thread pablo platt
Something like this for haproxy will bring confident and prevent confusion
and questions.
http://nginx.org/en/linux_packages.html


On Fri, May 23, 2014 at 8:08 PM, Willy Tarreau w...@1wt.eu wrote:

 On Fri, May 23, 2014 at 05:10:49PM +0200, Ghislain wrote:
  Le 23/05/2014 15:23, Baptiste a écrit :
  It is not provided by us (HAProxy.com) if this is what you mean.
  
  Baptiste
  
  
 
  yes that's what i meant. Thanks for both answer and thanks for the
  product, and the packages !
 
  In any case from my high throne in the sky looking  under at other petty
  humans i will consider worthy of my trust the debian team, amen  ;p

 BTW, I tend to consider part of the haproxy team all people who are deeply
 involved in the project. The long-time distro maintainers certainly qualify
 as part of the team, so you needn't worry.

 Willy





Re: Ubuntu 14.04 package

2014-04-17 Thread pablo platt
Thank you, this is extremely helpful.


On Thu, Apr 17, 2014 at 9:59 AM, Vincent Bernat ber...@luffy.cx wrote:

  ❦ 12 avril 2014 12:49 CEST, pablo platt pablo.pl...@gmail.com :

  Is there a 1.5~dev22 deb package for Ubuntu 14.04 (trusty)?
 
  I've found the following ppa but it only has package for Ubuntu 13.10
  and below.
  https://launchpad.net/~vbernat/+archive/haproxy-1.5

 I will update the repository this week-end to get a package for 14.04.
 --
 panic(IRQ, you lose...);
 2.2.16 /usr/src/linux/arch/mips/sgi/kernel/indy_int.c



Re: Ubuntu 14.04 package

2014-04-17 Thread pablo platt
I've just installed it with the new ubuntu trusty release.
Great timing.

Thank you for providing this ppa.


On Thu, Apr 17, 2014 at 12:05 PM, Vincent Bernat ber...@luffy.cx wrote:

  ❦ 17 avril 2014 08:59 CEST, Vincent Bernat ber...@luffy.cx :

  Is there a 1.5~dev22 deb package for Ubuntu 14.04 (trusty)?
 
  I've found the following ppa but it only has package for Ubuntu 13.10
  and below.
  https://launchpad.net/~vbernat/+archive/haproxy-1.5
 
  I will update the repository this week-end to get a package for 14.04.

 I have just uploaded a version for Trusty. Instructions here:
  http://haproxy.debian.net/
 --
 panic(huh?\n);
 2.2.16 /usr/src/linux/arch/i386/kernel/smp.c



Re: Recommended strategy for running 1.5 in production

2014-04-16 Thread pablo platt
An official Ubuntu dev repo will also make testing easier.
It's much easier to use a apt-get than building from source and figuring
out command line options.


On Wed, Apr 16, 2014 at 7:05 PM, Philipp 
e1c1bac6253dc54a1e89ddc046585...@posteo.net wrote:

 Am 16.04.2014 17:40 schrieb Willy Tarreau:

 I think you summarized very well how to carefully use a development
 version in prod. That requires a bit of care, but with that you can
 get both nice features and quick fixes.


 Indeed :)

  After 1.5 is released, I'd like to switch to a faster and more regular
 release cycle with less constraints on the features.


 And with above said: I, personally, give a rats a** if a version is called
 alpha, rc123, -dev or whatever fancy version string it has.

 Test the thing and find out the hairy bits after it hits production :-)

 I was sooo often burned by oh, finally release and then it was worse
 then the RC before the actual release whatsoever.

 My kudos to Willy and the other developers of haproxy, awesome work
 overall AND in the nitbits :-).




Re: Recommended strategy for running 1.5 in production

2014-04-16 Thread pablo platt
The Ubuntu PPA is great but it is not 'official' and I couldn't find Ubuntu
14.04 package.
https://launchpad.net/~vbernat/+archive/haproxy-1.5https://launchpad.net/%7Evbernat/+archive/haproxy-1.5

Ubuntu 14.04 LTS will be out tomorrow which means that haproxy-1.5 will be
included only in the next LTS release 2 years from now.
That's why an official Ubuntu repo will be very useful.
Nginx and MongoDB for example has one.

Is there a script that we can use to build a deb package?


On Wed, Apr 16, 2014 at 9:55 PM, Willy Tarreau w...@1wt.eu wrote:

 Hi Apollon,

 On Wed, Apr 16, 2014 at 09:22:56PM +0300, Apollon Oikonomopoulos wrote:
  (Cc'ing the Debian maintainers as well)
 
  Hi all,
 
  On 19:28 Wed 16 Apr , Willy Tarreau wrote:
   On Wed, Apr 16, 2014 at 07:14:31PM +0300, pablo platt wrote:
An official Ubuntu dev repo will also make testing easier.
It's much easier to use a apt-get than building from source and
 figuring
out command line options.
 
  Actually Vincent Bernat maintains a PPA with rebuilds of our Debian
  packages from experimental, which should be handy for Ubuntu users:
 
https://launchpad.net/~vbernat/+archive/haproxy-1.5
 
  
   I think we're getting close to a release so we should not harrass
 distro
   maintainers with that *now* (but we could have done years ago). That
   reminds me that I tend not to always realize how much time slips
 between
   versions, and to forget that sometimes a previous version has some
   bugs.
  
   What I'd expect from our users is to sometimes complain loudly and
 insist
   for having a new dev release when the latest snapshot has become more
   reliable than the last dev release if that makes their lifes easier. A
   new version doesn't cost much (1 hour to read the changelog, write a
   human-friendly summary in an announce e-mail and update the site).
 
  With my Debian hat on, I'd like to complain a bit about 1.5. Of course
  we appreciate your dedication to making HAProxy rock-solid and
  feature-complete and at this point as a user 1.5 has been pretty stable
  for me (and the new features are definitely worth the wait).
 
  However, as Debian maintainers we probably will not replace 1.4 with 1.5
  in our main track (unstable - testing - wheezy-backports) until
  1.5-final is out; we would like to make sure that we will end up with a
  proper 1.5 release in Debian Jessie (and not with a development snapshot
  at any rate) that both, upstream and ourselves will be willing to
  support.
 
  Unfortunately, this means that 1.5 currently gets less user exposure (at
  least via Debian and Ubuntu), potentially slowing down the stabilization
  process. So please, leave some features aside for 1.6 ;-)

 I know and the goal clearly is not to add new features to 1.5, but to fix
 what still remains to be fixed before the release otherwise we'd have to
 risk breaking some supposed stable setups later when backporting fixes :

   - fix the HTTP body parser to get rid of the mess it is when mixing
 redispatch with check_post, not to mention compression.

   - fix the compression to re-enable compression of chunked-encoded
 responses

   - adapt the check agent to the final API we agreed on the list a few
 weeks ago

   - fix the bind-process lameness.

 I'm still working on point #1 and making progress (I was even writing some
 architecture doc on it to engrave the changes so that we avoid breaking
 that soon again). #2 should follow shortly after that. #3 is apparently
 easy (I had a beginning of patch 2 months ago to start on it) but we
 noticed
 that the check agent touches many intimate parts of the checks and I expect
 a few surprizes again. However, I don't care much about minor bugs for the
 final release provided that the architecture is ready to accept fixes
 without putting users at risk. For #4, I think we can keep the users in a
 safe working area to prepare them for upgrades by simply emitting a few
 warnings in the configs leading to a corner case.

 I really think we're on the right track, we must just not stop efforts.
 And the fact that we get lots of bug reports is a good sign as well!

 Cheers,
 Willy




Re: Recommended strategy for running 1.5 in production

2014-04-16 Thread pablo platt
So I only need to setup a VM, download a file from a personal PPA, add
the source code and learn how to build a deb package...
And every user need to do the same...
Easy :)


On Wed, Apr 16, 2014 at 11:12 PM, Ramin K ramin-l...@badapple.net wrote:

 It's easy to build your own packages with the files from the PPA
 which is what we do. BTW, thanks Vincent for doing the groundwork.

 Simplest method might be:
 -  Decide which archs you need to target. Follow a how-to for setting up a
 environment to build deb packages. I recommend dedicating a VM for each
 arch though we only build for x86_64.
 - Use the debian.tar.gz file from the PPA to populate the ./debian/ dir
 - make a orig.tar.gz from dev22 or preferred revision
 - probably take you 2-3 tries to get everything in the right place
 - make the deb packages
 - copy deb packages to your internal repo.

 Ramin


 On 4/16/2014 12:07 PM, pablo platt wrote:

 The Ubuntu PPA is great but it is not 'official' and I couldn't find
 Ubuntu 14.04 package.
 https://launchpad.net/~vbernat/+archive/haproxy-1.5
 https://launchpad.net/%7Evbernat/+archive/haproxy-1.5


 Ubuntu 14.04 LTS will be out tomorrow which means that haproxy-1.5 will
 be included only in the next LTS release 2 years from now.
 That's why an official Ubuntu repo will be very useful.
 Nginx and MongoDB for example has one.

 Is there a script that we can use to build a deb package?


 On Wed, Apr 16, 2014 at 9:55 PM, Willy Tarreau w...@1wt.eu
 mailto:w...@1wt.eu wrote:

 Hi Apollon,

 On Wed, Apr 16, 2014 at 09:22:56PM +0300, Apollon Oikonomopoulos
 wrote:
   (Cc'ing the Debian maintainers as well)
  
   Hi all,
  
   On 19:28 Wed 16 Apr , Willy Tarreau wrote:
On Wed, Apr 16, 2014 at 07:14:31PM +0300, pablo platt wrote:
 An official Ubuntu dev repo will also make testing easier.
 It's much easier to use a apt-get than building from source
 and figuring
 out command line options.
  
   Actually Vincent Bernat maintains a PPA with rebuilds of our Debian
   packages from experimental, which should be handy for Ubuntu users:
  
   https://launchpad.net/~vbernat/+archive/haproxy-1.5
  
   
I think we're getting close to a release so we should not
 harrass distro
maintainers with that *now* (but we could have done years ago).
 That
reminds me that I tend not to always realize how much time
 slips between
versions, and to forget that sometimes a previous version has
 some
bugs.
   
What I'd expect from our users is to sometimes complain loudly
 and insist
for having a new dev release when the latest snapshot has
 become more
reliable than the last dev release if that makes their lifes
 easier. A
new version doesn't cost much (1 hour to read the changelog,
 write a
human-friendly summary in an announce e-mail and update the
 site).
  
   With my Debian hat on, I'd like to complain a bit about 1.5. Of
 course
   we appreciate your dedication to making HAProxy rock-solid and
   feature-complete and at this point as a user 1.5 has been pretty
 stable
   for me (and the new features are definitely worth the wait).
  
   However, as Debian maintainers we probably will not replace 1.4
 with 1.5
   in our main track (unstable - testing - wheezy-backports) until
   1.5-final is out; we would like to make sure that we will end up
 with a
   proper 1.5 release in Debian Jessie (and not with a development
 snapshot
   at any rate) that both, upstream and ourselves will be willing to
   support.
  
   Unfortunately, this means that 1.5 currently gets less user
 exposure (at
   least via Debian and Ubuntu), potentially slowing down the
 stabilization
   process. So please, leave some features aside for 1.6 ;-)

 I know and the goal clearly is not to add new features to 1.5, but
 to fix
 what still remains to be fixed before the release otherwise we'd have
 to
 risk breaking some supposed stable setups later when backporting
 fixes :

- fix the HTTP body parser to get rid of the mess it is when mixing
  redispatch with check_post, not to mention compression.

- fix the compression to re-enable compression of chunked-encoded
  responses

- adapt the check agent to the final API we agreed on the list a
 few
  weeks ago

- fix the bind-process lameness.

 I'm still working on point #1 and making progress (I was even
 writing some
 architecture doc on it to engrave the changes so that we avoid
 breaking
 that soon again). #2 should follow shortly after that. #3 is
 apparently
 easy (I had a beginning of patch 2 months ago to start on it) but we
 noticed
 that the check agent touches many intimate parts of the checks and I

Ubuntu 14.04 package

2014-04-12 Thread pablo platt
Hi,

Is there a 1.5~dev22 deb package for Ubuntu 14.04 (trusty)?

I've found the following ppa but it only has package for Ubuntu 13.10 and
below.
https://launchpad.net/~vbernat/+archive/haproxy-1.5

Is there a script to build my own deb package for the dev version?

It will be great if we could have an official Ubuntu repo for the dev
version we can trust.
It will make it easier to test the dev version and give feedback.

Thanks


DTLS termination

2013-11-27 Thread pablo platt
Hi,

Can version 1.5 terminate DTLS connections like it does for SSL?

Thanks


Re: DTLS termination

2013-11-27 Thread pablo platt
Any other proxy that can terminate DTLS?

Thanks


On Wed, Nov 27, 2013 at 5:40 PM, Lukas Tribus luky...@hotmail.com wrote:

 Hi!


  Can version 1.5 terminate DTLS connections like it does for SSL?

 No; haproxy only works with TCP (HTTP or raw TCP). DTLS is for datagram
 protocols like UDP, which haproxy doesn't support anyway (even without
 encryption).



 Regards,

 Lukas


Re: Websockets and RTMP

2013-05-15 Thread pablo platt
The following config doesn't direct secure websocket connections to the
backend.
What am I doing wrong?

global
log 127.0.0.1   local0
log 127.0.0.1   local1 notice
#log loghostlocal0 info
maxconn 4096
#chroot /usr/share/haproxy
user haproxy
group haproxy
daemon
#debug
#quiet

defaults
log global
modehttp
option  httplog
option  dontlognull
retries 3
option redispatch
maxconn 2000
contimeout  5000
clitimeout  5
srvtimeout  5

frontend port443
bind :443
mode tcp
clitimeout  65000
tcp-request inspect-delay 5s
acl traffic_is_ssl req_ssl_ver  gt 0
acl enough_non_ssl_bytes   req_len  ge 22
tcp-request content accept if traffic_is_ssl   # accept SSL
tcp-request content accept if enough_non_ssl_bytes # accept non-SSL
use_backend ssl_backend if traffic_is_ssl
default_backend rtmp_backend

backend ssl_backend
srvtimeout  65000
server nginx_server 127.0.0.1:4443

backend rtmp_backend
srvtimeout  65000
server rtmp_server 127.0.0.1:1935


I also tried much simpler config but I still can't connect:

frontend port443
bind :443
mode tcp
default_backend ssl_backend

backend ssl_backend
srvtimeout  65000
server nginx_server 127.0.0.1:4443



On Tue, May 14, 2013 at 2:16 PM, pablo platt pablo.pl...@gmail.com wrote:

 Is my config reasonable?


 On Sun, May 12, 2013 at 6:14 PM, Jonathan Matthews 
 cont...@jpluscplusm.com wrote:

 On 12 May 2013 10:03, pablo platt pablo.pl...@gmail.com wrote:
  Can you please explain how to use ssl_fc?
  I couldn't find it in the configuration docs.
 
  Please see below the global and defaults sections which I get when
  installing the haproxy-1.4.18 deb package on ubuntu 12.04

 ssl_fc is only in HAProxy 1.5.

 Jonathan
 --
 Jonathan Matthews // Oxford, London, UK
 http://www.jpluscplusm.com/contact.html





Re: Websockets and RTMP

2013-05-14 Thread pablo platt
Is my config reasonable?


On Sun, May 12, 2013 at 6:14 PM, Jonathan Matthews
cont...@jpluscplusm.comwrote:

 On 12 May 2013 10:03, pablo platt pablo.pl...@gmail.com wrote:
  Can you please explain how to use ssl_fc?
  I couldn't find it in the configuration docs.
 
  Please see below the global and defaults sections which I get when
  installing the haproxy-1.4.18 deb package on ubuntu 12.04

 ssl_fc is only in HAProxy 1.5.

 Jonathan
 --
 Jonathan Matthews // Oxford, London, UK
 http://www.jpluscplusm.com/contact.html




Re: Websockets and RTMP

2013-05-12 Thread pablo platt
Can you please explain how to use ssl_fc?
I couldn't find it in the configuration docs.

Please see below the global and defaults sections which I get when
installing the haproxy-1.4.18 deb package on ubuntu 12.04
The frontend and backend parts are what I thought of using after reading
the answer here
http://www.mentby.com/Group/haproxy/route-http-connections-to-tcp-backend-instead-of-dropping-in-http-mode.html

Do I need to add or remove any of the settings?

Thanks

global
log 127.0.0.1local0
log 127.0.0.1local1 notice
#log loghostlocal0 info
maxconn 4096
#chroot /usr/share/haproxy
user haproxy
group haproxy
daemon
#debug
#quiet

defaults
logglobal
modehttp
optionhttplog
optiondontlognull
retries3
option redispatch
maxconn2000
contimeout5000
clitimeout5
srvtimeout5

frontend port443
bind :443
mode tcp
tcp-request inspect-delay 5s
acl traffic_is_ssl req_ssl_ver  -gt 0
tcp-request content accept
use_backend media_backend if traffic_is_ssl
default_backend websocket_backend

backend media_backend
server media_server 127.0.0.1:1935

backend websocket_backend
server websocket-server 127.0.0.1:4443



On Sat, May 11, 2013 at 10:41 PM, Baptiste bed...@gmail.com wrote:

 Hi Pablo,

 My answers inline.

 On Sat, May 11, 2013 at 6:20 PM, pablo platt pablo.pl...@gmail.com
 wrote:
  Hi,
 
  I need to proxy secure websockets and RTMP (normal tcp) on the same port.
  In the future I'll need normal HTTP requests and static files.
  haproxy will pass ssl requests to backend1 and RTMP requests to backend2.
  Processes will be open for a long time (minutes - hours).
  The backends are on the same machine and will be responsible for timeouts
  and pings.
 
  Do I need to change anythinging in the default configuration like
  contimeout, clitimeout and srvtimeout? I'm using the ubuntu 12.04
 package.

 Please paste your configuration. We don't know the default
 configuration from each packager and OS ;)

 
  Is this the correct way to check for ssl requests?
  acl traffic_is_ssl req_ssl_ver  -gt 0

 I would better use ssl_fc.
 Using content inspection (tcp-request inspect) rules, you can do the
 content switching based on ssl_fc and so split SSL and RTMP traffic to
 2 different farms.
 (I guess this is the purpose you're trying to achieve).

  When nginx will get ssl requests from haproxy it'll see haproxy's IP.
  Can I terminate ssl requests in nginx even when the client IP was
 changed?

 IP change has no impact on SSL.

  Thanks
 

 Baptiste



Websockets and RTMP

2013-05-11 Thread pablo platt
Hi,

I need to proxy secure websockets and RTMP (normal tcp) on the same port.
In the future I'll need normal HTTP requests and static files.
haproxy will pass ssl requests to backend1 and RTMP requests to backend2.
Processes will be open for a long time (minutes - hours).
The backends are on the same machine and will be responsible for timeouts
and pings.

Do I need to change anythinging in the default configuration like
contimeout, clitimeout and srvtimeout? I'm using the ubuntu 12.04 package.

Is this the correct way to check for ssl requests?
acl traffic_is_ssl req_ssl_ver  -gt 0

When nginx will get ssl requests from haproxy it'll see haproxy's IP.
Can I terminate ssl requests in nginx even when the client IP was changed?

Thanks