How to protect your server from POODLE SSLv3 vulnerability
- Transfer
Introductory information
On October 14, 2014, a vulnerability was discovered in the SSL version 3 encryption protocol. This vulnerability, called POODLE (Padding Oracle On Downgraded Legacy Encryption), allows an attacker to read information encrypted with this version of the protocol using the man-in-the-middle attack .
SSLv3 is also a very old version of the protocol, but nevertheless, many applications support it and use SSLv3 in cases where other newer and better encryption options are not available. Importantly, an attacker can intentionally require only SSLv3 to be used on both sides of the connection.
Vulnerabilities are affected by any services or clients that can connect using SSLv3.
More information on this vulnerability is published here CVE-2014-3566.
What is the POODLE vulnerability?
This vulnerability is supported by SSL protocol version 3, which allows intercepting encrypted content using SSLv3.
Who is affected by this vulnerability?
This vulnerability affects any software that uses SSLv3 to encrypt a connection. These are web browsers, web servers, mail servers and the like.
How it works?
In short, the POODLE vulnerability is present, because the SSLv3 protocol does not correctly validate content that is sent in encrypted form.
Due to this, there is no verification by the recipient and the attacker can replace the data and transmit to the place of receipt. Under certain conditions, modified data may be accepted by the recipient without any warning.
On average, every 256th request will be accepted by the recipient and allow the attacker to decrypt one byte. This can be repeated as many times as needed. Any intruder, thus participating in the transfer of data using this protocol, will be able to obtain a key to decrypt data in a very short time.
How to protect yourself?
Actions must be taken that will not allow the use of SSLv3 neither in the case of client applications, nor in the case of server ones.
Both servers and clients must disable full SSLv3 support.
You can check server applications using the online service: http://poodlebleed.com/ .
You can check your browser for vulnerabilities here: https://www.poodletest.com/ .
How to protect popular applications
Below we will describe how to disable SSLv3 support for the most popular web browsers and server applications that many of our clients use on their virtual servers.
Firefox
The new version of Firefox 33 eliminates this vulnerability. But on all other versions, you should configure the browser in about: config by setting the security.tls.version.min parameter to “1”. Or using the SSL Version Control extension .
Google chome
Chromium-based browsers should be launched with the key “--ssl-version-min = tls1”
Internet explorer
In IE security settings, uncheck “SSLv3”.
Disabling SSLv3 in IE.
Safari
Safari web browser developers reacted immediately to this issue and released a security update.
Nginx web server
To disable SSLv3 in the Nginx web server, you should find the ssl_protocols parameter . It is located in the server {} or http {} block.
The Nging configuration file can be located in different directories, depending on the OS or the distribution used on the server. Basically, this is
/usr/local/etc/nginx/nginx.conf on FreeBSD and
/etc/nginx/nginx.conf on Linux
To disable SSLv3, the ssl_protocols parameter should contain similar settings:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Now you should give the command to the server to apply the changes in the configuration file:
# service nginx reload
Apache web server
You can disable SSLv3 in the Apache web server in the SSLProtocol parameter , which is used when the mod_ssl module is connected.
The location of the configuration file, where the settings of the mod_ssl module are located, may also differ depending on the OS and distribution.
on Debian, the settings are located in the /etc/apache2/mods-enabled/ssl.conf file
on CentOS, it can be the /etc/httpd/conf.d/ssl.conf file
on FreeBSD - / usr / local / etc / apache22 / httpd. conf
If there are no SSL settings, add this parameter.
The value of this parameter should contain something like this:
SSLProtocol all -SSLv3 -SSLv2
After making the changes, save the file and restart Apache.
OpenVPN VPN Server
All modern versions of OpenVPN do not support SSLv3. This service is not affected by this vulnerability and no configuration changes are required.
Postfix mail server
If the encryption requirement is configured in the Postfix parameters, this is done by the
smtpd_tls_mandatory_protocols parameter .
This parameter can be found in the main Postfix configuration file
/etc/postfix/main.cf (Linux)
/usr/local/etc/postfix/main.cnf (FreeBSD) You can disable the
use of SSLv3 encryption for Postfix by adding the “! SSLv3” value to parameter that sets possible encryption options:
smtpd_tls_mandatory_protocols =! SSLv2,! SSLv3
Save the configuration file and restart Postfix:
Sendmail Mail Server
To disable SSLv3 in the Sendmail mail server, open the .mc file located in the / etc / mail / directory and find the LOCAL_CONFIG section. In this section, change the value “+ SSLv3” to “-SSLv3” for the SSLProtocol parameter and add “! SSLv3” to SSLCipherSuite
SSLProtocol -ALL -SSLv2 -SSLv3 + TLSv1
SSLCipherSuite ALL:! ADH: RC4 + RSA: + HIGH: + MEDIUM: ! LOW:! SSLv2:! SSLv3
After that, rebuild the Sendmail configuration file and restart it
# make install & make restart
IMAP and POP3 server Dovecot
To disable SSLv3 in Dovecot, you will need to make changes to the ssl_protocols parameter . Depending on the OS or distribution, this parameter can be located either in the main file or in the connected one:
/etc/dovecot/conf.d/10-ssl.conf (Linux)
/usr/local/etc/dovecot.conf
Disable SSLv3 :
ssl_protocols =! SSLv3! SSLv2
Save the file and restart the service.
Conclusion
If SSLv3 support is not disabled, and even if stronger encryption is used by default, a POODLE vulnerability will be present and pose a potential threat. Check all your services that can use SSL / TLS in any way and disable SSLv3 support.