Article

Table of Contents
Theme:
Was this article helpful?

1  out of  1 found this helpful

Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

Disabling SSLv3

Last Updated: Fri, Oct 24, 2014
Linux Guides Networking Web Servers

POODLE (Padding Oracle On Downgraded Legacy Encryption) is a vulnerability that was found on October 14th, 2014, which allows an attacker to read any encrypted information using the SSLv3 protocol by performing a man-in-the-middle attack. Although many programs use SSLv3 as a fallback, it has come to the point where it should be disabled - as many clients can be forced into using SSLv3. Forcing a client into SSLv3 increases the chance of an attack taking place. This article will show you how to disable SSLv3 in select software applications that are commonly used today.

Disabling SSLv3 on Nginx

Head to the configuration file where your server information is stored. For example, /etc/nginx/sites-enabled/ssl.example.com.conf (replacing the path accordingly to your configuration). Within the file, look for ssl_protocols. Make sure this line exists, and matches the following:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

This will enforce the use of TLS, thus disabling SSLv3 (and any older or obsolete protocols). Now restart your Nginx server by running one of the following commands.

CentOS 7:

systemctl restart nginx 

Ubuntu/Debian:

service nginx restart

Disabling SSLv3 on Apache

To disable SSLv3, head to your module configuration directory for Apache. On Ubuntu/Debian it may be /etc/apache2/mod-available. Whereas on CentOS, it may be located in /etc/httpd/conf.d. Look for the ssl.conf file. Open ssl.conf and find the SSLProtocol directive. Make sure this line exists, and matches the following:

SSLProtocol all -SSLv3 -SSLv2

Once finished, save, then restart your server by running one of the following commands.

For Ubuntu/Debian run:

CentOS 7:

systemctl restart httpd

Ubuntu/Debian:

service apache2 restart

Disabling SSLv3 on Postfix

Head to your postfix directory. It is typically /etc/postfix/. Open up the main.cf file and look for smtpd_tls_mandatory_protocols. Make sure this line exists, and matches the following:

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1, TLSv1.2

This will force TLSv1.1 and TLSv1.2 to be enabled and used on your Postfix server. Once done, save and restart.

CentOS 7:

 systemctl restart postfix

Ubuntu/Debian:

service postfix restart

Disabling SSLv3 on Dovecot

Open the file located at /etc/dovecot/conf.d/10-ssl.conf. Then, find the line that contains ssl_protocols and make sure it matches the following:

ssl_protocols = !SSLv2 !SSLv3 TLSv1.1 TLSv1.2

Once done, save and restart Dovecot.

CentOS 7:

systemctl restart dovecot

Ubuntu/Debian:

service dovecot restart

Testing that SSLv3 is Disabled

To verify that SSLv3 is disabled on your web server, run the following command (replace domain and IP accordingly):

openssl s_client -servername example.com -connect 0.0.0.0:443 -ssl3

You will see output similar to the following:

CONNECTED(00000003)

140060449216160:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1260:SSL alert number 40

140060449216160:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:

---

no peer certificate available

---

No client certificate CA names sent

---

SSL handshake has read 7 bytes and written 0 bytes

---

New, (NONE), Cipher is (NONE)

Secure Renegotiation IS NOT supported

Compression: NONE

Expansion: NONE

SSL-Session:

    Protocol  : SSLv3

    Cipher    : 0000

    Session-ID: 

    Session-ID-ctx: 

    Master-Key: 

    Key-Arg   : None

    PSK identity: None

    PSK identity hint: None

    SRP username: None

    Start Time: 1414181774

    Timeout   : 7200 (sec)

    Verify return code: 0 (ok)

If you want to confirm that your server is using TLS, run the same command but without -ssl3:

 openssl s_client -servername example.com -connect 0.0.0.0:443

You should see similar information displayed. Locate the Protocol line and confirm that it is using TLSv1.X (with X being 1 or 2 depending on your configuration). If you see this, then you have successfully disabled SSLv3 on your web server.

Want to contribute?

You could earn up to $600 by adding new articles.