Jak vyřešit POODLE zranitelnost SSLv3

16. 10. 2014 | Jindřich Zechmeister

Nově objevená zranitelnost ve starém protokolu SSLv3 byla v posledních dnech popsána v mnoha článcích. Správce serveru a návštěvníky internetu nezajímá ani tak způsob provedení útoku na protokol, ale rychlé vyřešení bezpečnostního rizika. V tomto článku najdete souhrn praktických informací o řešení problému.

Co znamená POODLE?

POODLE je nově objevená zranitelnost protokolu SSLv3 (původem z 90. let). Objevili a zveřejnili ji tři bezpečnostní výzkumníci Googlu. Nejedná se o tak fatální chybu jako Heartbleed, ale poukazuje na vážný problém, kterým je stálé používání archaických a potencionálně zranitelných algoritmů. Zranitelný protokol stále podporuje 97 % serverů.

Útok se podobá zranitelnosti BEAST - útočník může opakovanými požadavky odhadnout obsah komunikace. Musí být však na stejné síti (jako u MITM útoků) a potřebuje velký počet požadavků na server. Pro n bajtů tajemství potřebuje 256×n požadavků. Může tak například ukrást session cookie (tzn. session s přihlášením) o typických 32 bajtech s pomocí 8000 requestů přes SSLv3 protokol.

Jak ověřit, že se POODLE týká mého serveru nebo prohlížeče?

Můžete samozřejmě zkontrolovat nastavení serveru, ale nejrychlejší množností je kontrola serveru přes některý z ověřovačů. Nejpokročilejší z nich je test SSL Server Test od SSLlabs. Ten vám prozradí serverem podporované protokoly a šifry. Pokud server starý protokol SSLv3 podporuje, můžete ho zakázat.

V prohlížečích je možné zakázat SSLv3 v nastavení. Google prozradil, že ho v dalších verzích Chrome již nebude podporovat, a stejné kroky se dají čekat i od dalších prohlížečů.

Jak problém vyřešit a zakázat SSLv3

Na webových serverech se používají modernější algoritmy než SSLv3. Z principu však server po přerušení spojení nabídne klientovi starší verzi protokolu, protože si myslí, že s novější není kompatibilní. To je principem útoku a záměrného "snížení" bezpečnosti tzv. Downgrade Attacks.

Nejrychlejším řešením problému je přestat protokol SSLv3 používat na serveru i v prohlížeči. Vzhledem ke stáří protokolu tvrdím, že po jeho zakázání nebude nikomu chybět. Běžně se využívají modernější protokoly TLS 1.0 až 1.2.

Zákaz SSLv3 v Apache

S nastavení Apache stačí najít příslušnou direktivu a zakázat mínusem SSLv3:
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3

Zákaz SSLv3 na Windows Serveru

Ve prostředí Windows Serveru zakážete použití SSLv3 úpravou klíčů v registru. Postup najdete v MS knowledge base - Zákaz protokolu PCT 1.0, SSL 2.0, SSL 3.0 nebo TLS 1.0 v Internetové informační službě.

Zákaz SSLv3 ve Firefoxu

Otevřete si stránku about:config změňte hodnotu security.tls.version.min z hodnoty 0 (SSL 3) na 1 (TLS 1).

Zákaz SSLv3 v Internet Exploreru

Tato možnost se skrývá v Možnostech Internetu na kartě Upřesnit. Stačí odškrtnout použití SSL 3.0.

Zákaz SSLv3 v Google Chrome

V Chrome je potřeba zakázat protkol při spouštění a přidat k zástupci (například Vlastnosti ikony na ploše) parametr --ssl-version-min=tls1 . O vyřazení protokolu z dalších verzí Chrome se postará přímo Google.

zakázání SSLv3 v Google Chrome

Ostatní zdroje

Způsob provedení útoku najdete ve zprávě objevitelů chyby This POODLE bites (PDF).

Problematice POODLE se dále věnuje například článek Symantecu The SSL 3.0 Vulnerability – POODLE Bug (AKA POODLEbleed), nebo článek Netcraftu Google’s POODLE affects oodles. Za zmínku též stojí článek Everything you need to know about the POODLE SSL bug od Troye Hunta.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz