📜 ⬆️ ⬇️

How to protect your server from the vulnerability POODLE SSLv3

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 a man-in-the-middle attack .
Also, SSLv3 is a very old version of the protocol, but many applications nevertheless support it and use SSLv3 in cases when other newer and better encryption options are not available. Importantly, an attacker can purposely require the use of only SSLv3 on both sides of the connection.
POODLE vulnerabilities are subject to any services or clients that can connect using SSLv3.
More detailed information on this vulnerability is published here CVE-2014-3566 .




What is a POODLE vulnerability?


This vulnerability is subject to SSL-protocol version 3, which allows you to intercept the content encrypted using SSLv3.
')

Who is affected by this vulnerability?


Any software that uses SSLv3 to encrypt a connection is affected by this vulnerability. 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 incorrectly checks the content 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 can be accepted by the recipient without any warnings.
On average, every 256th request will be accepted by the recipient and will allow the attacker to decrypt one byte. This can be repeated as many times as necessary. Any attacker, thus participating in the transfer of data using this protocol, will be able to obtain the key to decrypt data in a very short time.

How to protect yourself?


Actions must be taken that will not allow SSLv3 to be used, neither in the case of client applications, nor in the case of server applications.
Both servers and clients must completely disable 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 will be described 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


In the new version of Firefox 33, this vulnerability is excluded. 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


Browsers based on Chromium should be launched with the key “--ssl-version-min = tls1”

Internet Explorer


In IE security settings, uncheck “SSLv3”.


Disable SSLv3 in IE.

Safari


The developers of the Safari web browser immediately responded to this problem and released a security update.

Nginx web server


To disable SSLv3 in the Nginx web server, find the ssl_protocols parameter. It is located in the server block {} or http {}.
The Nging configuration file can be located in different directories, depending on the OS or the distribution used on the server. Mainly
/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 that is used when the mod_ssl module is connected.
The location of the configuration file, where the mod_ssl module settings are located, may also differ depending on the OS and distribution kit.
in Debian, the settings are located in the /etc/apache2/mods-enabled/ssl.conf file
on CentOS, this may be the /etc/httpd/conf.d/ssl.conf file
in FreeBSD - /usr/local/etc/apache22/httpd.conf

If SSL settings are missing, add this parameter.
The value of this parameter should contain something like this:
SSLProtocol all -SSLv3 -SSLv2

After making 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 settings, this is done by
smtpd_tls_mandatory_protocols .

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 the parameter that specifies the 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 that is located in the / etc / mail / directory and find the LOCAL_CONFIG section. In this section, change the value “+ SSLv3” to “-SSLv3” in the SSLProtocol parameter and add “! SSLv3” in 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 Dovecot server


To disable SSLv3 in Dovecot, you need to make changes to the ssl_protocols parameter. Depending on the OS or distribution, this parameter can be located both in the main file and in the included file:
/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 form and disable SSLv3 support.

Source: https://habr.com/ru/post/240889/


All Articles