Opened on 05/26/2016 at 09:29:50 PM

Closed on 05/27/2016 at 02:26:16 PM

#4078 closed defect (fixed)

Apply Nginx work-around for CVE-2015-4000

Reported by: matze Assignee: matze
Priority: P1 Milestone:
Module: Infrastructure Keywords:
Cc: fhd, palant Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29344656/

Description

The Nginx server is potentially vulnerable to CVE-2015-4000: The default parameters being used with the DHE_{DSS,RSA}_EXPORT cipher-suites (see RFC 2246 - TLS, section 7.4), which are actually the default OpenSSL resources, rely on a 1024 bit cipher during key-exchange. This means a connection being established with a stronger cipher is downgraded to weaker encryption during the handshake, which renders the additional entropy pointless in a plethora of MITM scenarios.

What to do

Extend Puppet module nginx to a) create a custom key parameter file of at least 4096 bits at provisioning time and b) configure Nginx to use this one instead of the default.

Attachments (0)

Change History (5)

comment:1 Changed on 05/26/2016 at 09:55:43 PM by matze

Generating a custom parameter file with the necessary entropy requires quite some time:

$ time openssl dhparam -out files/dhe_rsa_export.pem 4096
Generating DH parameters, 4096 bit long safe prime, generator 2
This is going to take a long time
.....................................................................+...

real    1m30.390s
user    1m30.404s
sys     0m0.024s

The above example is the minimum I was able to produce. Virtual boxes with a single core (typical development instance) it take almost 10 minutes. Regular hosts under load report success after 4-7 minutes.

Hence this is hardly applicable when a box is provisioned, especially not in development and test. In production it would not have that much of an impact yet, primarily due to the fact that acquiring new resources is a somehow time-consuming, manual process anyway. Still, it seems to be more applicable maintaining such a file in the private{-stub,} modules, respectively.

Last edited on 05/26/2016 at 09:57:41 PM by matze

comment:2 Changed on 05/27/2016 at 02:25:20 PM by matze

  • Sensitive unset

comment:3 Changed on 05/27/2016 at 02:25:41 PM by matze

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:4 Changed on 05/27/2016 at 02:25:51 PM by abpbot

A commit referencing this issue has landed:
Issue 4078 - Apply Nginx work-around for CVE-2015-4000

comment:5 Changed on 05/27/2016 at 02:26:16 PM by matze

  • Resolution set to fixed
  • Status changed from reviewing to closed

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from matze.
 
Note: See TracTickets for help on using tickets.