0

I have a test server running Centos 6.8 and can't overcome this message when running a SSL Labs test: https://www.ssllabs.com/ssltest/analyze.html?d=biduno.com&latest

This server is vulnerable to the OpenSSL Padding Oracle vulnerability (CVE-2016-2107) and insecure. Grade set to F. I believe it's to do with open openssl and I have the latest version OpenSSL 1.1.0c 10 Nov 2016.

Could it be to do with my Ciphers?

SSLProtocol ALL -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:AES256-SHA256:!RC4:HIGH:MEDIUM:+TLSv1:+TLSv1.1:+TLSv1.2:!MD5:!ADH:!aNULL:!eNULL:!NULL:!DH:!ADH:!EDH:!AESGCM SSLHonorCipherOrder on

  • Welcome to U&L what is the output of rpm -q --changelog openssl | egrep -i "(CVE-2016-2107)" ? – GAD3R Dec 16 '16 at 12:57
  • Hi there, and thanks for responding :) # rpm -q --changelog openssl | egrep -i "(CVE-2016-2107)" - fix CVE-2016-2107 - padding oracle in stitched AES-NI CBC-MAC - fix CVE-2016-2107 - padding oracle in stitched AES-NI CBC-MAC – William Harvey Dec 16 '16 at 13:07
  • - fix CVE-2016-2107 - padding oracle in stitched AES-NI CBC-MAC - fix CVE-2016-2107 - padding oracle in stitched AES-NI CBC-MAC – William Harvey Dec 16 '16 at 13:08
  • please check for the vulnerability here filippo.io/CVE-2016-2107 what is the result ? – GAD3R Dec 16 '16 at 13:20
  • I get biduno.com IS VULNERABLE. – William Harvey Dec 16 '16 at 13:30
0

Well, you have to tune protocols, ciphers and some other settings to suit your taste. You are also mixing protocols and cipher suites, which probably isn't good.

Here's the basic SSL/TLS configuration for www.cryptopp.com, which is an open source project I help with. It runs on a CentOS 7 VM, and scores a "A" with the Qualsys tests. None of us are Apache experts, so take the configuration at face value. We do enough so users don't experience problems, but not much more.

Usually you want something like "TLS 1.0 and above" (SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2) and "Modern cipher suites" (SSLCipherSuite HIGH:!aNULL:!kRSA:!MD5:!RC4). The !kRSA means "no RSA key transport", which effectively leaves Diffie-Hellman and forward secrecy.

The configuration also sets the STS header (Strict-Transport-Security).

# cat /etc/httpd/conf.d/ssl.conf | grep -v '#'
Listen 443 https

SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog

SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300

SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin

SSLCryptoDevice builtin

<VirtualHost *:443>
SSLEngine on

DocumentRoot "/var/www/html"
ServerName www.cryptopp.com:443
ServerAlias *.cryptopp.com cryptopp.com

ErrorLog logs/error_log
TransferLog logs/access_log
LogLevel warn

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

SSLCipherSuite HIGH:!aNULL:!kRSA:!MD5:!RC4

SSLCertificateFile /etc/pki/tls/certs/cryptopp-com.chain.pem

SSLCertificateKeyFile /etc/pki/tls/private/cryptopp-com.key.pem

SSLCertificateChainFile /etc/pki/tls/certs/cryptopp-com.chain.pem

SSLVerifyClient none

Header set Strict-Transport-Security "max-age=15552001; includeSubdomains;"

</VirtualHost>

I'm also guessing you are not using OpenSSL 1.1.0. Rather, you are probably using an older FIPS version. Here's from the same CetOS 7 VM:

$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

Maintainers backport patches, so about all you know is (1) you started somewhere around 1.0.1e, (2) you don't really know what you have at the moment, and (3) you have a Frekenstein-like contraption that's been pieced together.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.