Performance & Security

SSLv3 and POODLE: Checking Your Server Is Not Exposed

What POODLE is, why SSLv3 should be switched off on every server, and how to check and fix your own site in a few steps.

Quick answer: POODLE is a flaw in the old SSL 3.0 protocol, made public by Google researchers in October 2014, that can let an attacker on the same network decrypt parts of a secure connection, such as session cookies. The fix is to switch off SSLv3 on your server completely and use only TLS. Test your site with a tool such as the Qualys SSL Labs Server Test; if it reports that SSLv3 is enabled or that the site is vulnerable to POODLE, change your web server’s protocol settings and test again.

Most websites have had more than a year to deal with POODLE, and the major browsers have since dropped SSLv3. Yet when we test business sites, we still come across servers that accept it, often on older hosting accounts, mail servers, control panels or load balancers that nobody looked at when the news broke. It takes a few minutes to check and usually only a few minutes to fix.

What SSL, TLS and SSLv3 are

When you see a padlock in the address bar, the browser and the server are talking over an encrypted connection. The rules for that connection are set by a protocol. The older family of protocols was called SSL; its replacements are called TLS.

  • SSL 2.0: long since broken and retired.
  • SSL 3.0: released in 1996, now considered insecure.
  • TLS 1.0, 1.1 and 1.2: the newer versions. TLS 1.2 is the current standard.

People still say “SSL certificate” out of habit, but the certificate works with any of these protocols. What matters is which protocols your server agrees to use.

What POODLE does

POODLE stands for Padding Oracle On Downgraded Legacy Encryption. In simple terms:

  • SSL 3.0 has a weakness in how it handles padding in one of its encryption modes.
  • An attacker who can sit between a visitor and your site, for example on public wifi, can make repeated requests and use the server’s responses to work out the encrypted data a little at a time.
  • The most valuable target is a session cookie, which could let the attacker take over a logged in session.

The “downgraded” part is important. Even if both browser and server support TLS, an attacker could interfere with the connection so that they fall back to SSLv3. That is why simply supporting TLS was not enough: SSLv3 had to be turned off.

A related issue, sometimes called POODLE for TLS, was found later in 2014. It affects some TLS servers that do not check padding properly, usually certain load balancers and appliances. Vendors released patches.

Why it still matters

Browsers have removed SSLv3 support, so up to date browsers will not use it. But:

  • Older browsers and devices still in use may.
  • Servers that accept SSLv3 often have other outdated settings too, such as weak ciphers.
  • Payment card rules under PCI DSS treat SSL and early TLS as unacceptable for new systems, so a payment page on a server with SSLv3 will fail a compliance scan.
  • Security scanners and some customers’ IT teams will flag it.

If you are moving your site to HTTPS, our HTTPS migration guide covers the SEO side; the protocol settings are the security side of the same job.

How to check your server

SSL Labs Server Test

The Qualys SSL Labs Server Test is free and thorough. Enter your domain and it reports:

  • Which protocols your server supports.
  • Whether it is vulnerable to POODLE and other known issues.
  • Certificate problems and weak ciphers.
  • An overall grade.

Look at the Protocols section. SSL 3 should say “No”. Also check the Handshake Simulation section, which shows which protocol each common browser would use.

Command line checks

If you manage the server yourself, OpenSSL can test directly:

openssl s_client -connect example.com:443 -ssl3

If the connection succeeds and shows a certificate, SSLv3 is enabled. If it fails with a handshake error, it is off. Note that some newer OpenSSL builds no longer include SSLv3 support at all, in which case the test cannot run from that machine. The nmap tool’s ssl-enum-ciphers script is another option.

Do not forget other services

Websites are not the only things using SSL. Check:

  • Mail servers (SMTP, IMAP and POP3 on their secure ports).
  • Control panels such as cPanel or Plesk.
  • Admin interfaces for routers, firewalls and VPNs.
  • Any separate API or app subdomains.
  • Load balancers and CDNs in front of your site, which have their own settings.

How to switch off SSLv3

Always take a backup of configuration files before changing them, and test afterwards.

Apache

In your SSL configuration, set:

SSLProtocol all -SSLv2 -SSLv3

Then restart Apache.

Nginx

In the server or http block:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Then reload Nginx.

IIS on Windows Server

SSLv3 is switched off through the Windows registry, under the SCHANNEL protocols settings, by creating a Server key for SSL 3.0 with Enabled set to 0. Several free tools make this easier by providing tick boxes for each protocol. A restart is required.

Shared hosting and managed platforms

If you do not control the server, ask your host to confirm SSLv3 is disabled. Most reputable hosts fixed this in 2014. If yours has not, that says a lot about how they handle security in general.

Load balancers and CDNs

Services such as Amazon’s Elastic Load Balancing and CloudFlare publish security policies. Make sure you are using a current policy that excludes SSLv3.

While you are there

Once SSLv3 is off, a few other settings are worth checking, as SSL Labs will report them:

  • Disable RC4 ciphers, which have known weaknesses.
  • Disable export grade ciphers, the cause of the FREAK and Logjam issues found in 2015.
  • Prefer strong ciphers with forward secrecy.
  • Enable TLS_FALLBACK_SCSV, which stops attackers forcing a downgrade between TLS versions. It is supported by up to date OpenSSL versions.
  • Keep OpenSSL updated. Many past issues, including Heartbleed, came from outdated OpenSSL versions.
  • Consider HSTS, which tells browsers to always use HTTPS for your site.

Mozilla publishes recommended server configurations for Apache, Nginx and other servers, graded by how much compatibility with old clients you need. It is a useful starting point.

Will switching off SSLv3 break anything?

For almost all sites, no. The only clients that need SSLv3 are very old, such as Internet Explorer 6 on Windows XP with default settings. Those browsers are already unsafe and unsupported. If you have an unusual audience, such as old embedded devices calling an API, check your server logs before you switch.

If you use free certificates from Let’s Encrypt, the protocol settings are separate from the certificate, so you still need to check them. Our Let’s Encrypt guide explains how certificates fit in.

FAQ

Is my SSL certificate affected by POODLE?

No. POODLE is a protocol flaw, not a certificate problem. You do not need a new certificate; you need to change the server settings.

Do I need to do anything if my site has no logins?

Yes. Visitors still deserve a secure connection, scanners will flag it, and forms or analytics cookies can still be exposed.

How often should I test my server?

After any server change, after major security news, and at least every few months as a routine check.

Want your server checked and hardened?

We test and fix SSL and TLS settings as part of looking after site performance and security. See how we help you turn visitors into customers on a site they can trust.

About the author

Imran M

Leave a Reply

Your email address will not be published. Required fields are marked *

Ready to improve your website?

Let's build a faster, higher performing website.