POODLE
How to patch SSLv3 POODLE vulnerability (CVE-2014-3566) in different services.
Apache
/etc/apache2/mods-available/ssl.conf:
-------------------------------------
...
SSLProtocol all -SSLv2 -SSLv3
_$: apachectl configtest
Syntax OK
_$: service apache2 restart
* Restarting web server apache2
... waiting [ OK ]
Nginx
/etc/nginx/sites-enabled/domain:
--------------------------------
...
# HTTPS
server {
server_name www.domain.com;
listen 443 ssl;
return 301 http://www.domain.com$request_uri;
# SSL
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}
_$: nginx -t
_$: service nginx restart
IIS
Source: https://www.digicert.com/ssl-support/iis-disabling-ssl-v3.htm
Open the Registry Editor and run it as administrator.
For example, in Windows 2012:
On the Start screen type regedit.exe.
Right-click on regedit.exe and click Run as administrator.
In the Registry Editor window, go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\
In the navigation tree, right-click on Protocols
, and in the pop-up menu, click New > Key
.
Name the key, SSL 3.0.
In the navigation tree, right-click on the new SSL 3.0 key that you just created, and in the pop-up menu, click New > Key
.
Name the key, Client
.
In the navigation tree, right-click on the new SSL 3.0 key again, and in the pop-up menu, click New > Key.
Name the key, Server
.
In the navigation tree, under SSL 3.0
, right-click on Client
, and in the pop-up menu, click New > DWORD (32-bit) Value
.
Name the value DisabledByDefault
.
In the navigation tree, under SSL 3.0, select Client
and then, in the right pane, double-click the DisabledByDefault DWORD
value.
In the Edit DWORD (32-bit) Value
window, in the Value Data
box change the value to 1
and then, click OK.
In the navigation tree, under SSL 3.0
, right-click on Server
, and in the pop-up menu, click New > DWORD (32-bit) Value
.
Name the value Enabled
.
In the navigation tree, under SSL 3.0
, select Server
and then, in the right pane, double-click the Enabled DWORD
value.
In the Edit DWORD (32-bit) Value
window, in the Value Data
box leave the value at 0
and then, click OK.
Restart your Windows server.
You have successfully disabled the SSL v3 protocol.
Dovecot
/etc/dovecot/conf.d/10-ssl.conf:
--------------------------------
...
# SSL ciphers to use
ssl_cipher_list = ALL:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL
_$: service dovecot restart
Test
If there is more than one domain in the same server, check which one appears when you visit http://
_$: nmap --script ssl-enum-ciphers -p 443 www.domain.com
Nmap scan report for 192.168.1.211
Host is up (0.00069s latency).
PORT STATE SERVICE
443/tcp open https
| ssl-enum-ciphers:
| TLSv1.0:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_RC4_128_MD5 - strong
| TLS_RSA_WITH_RC4_128_SHA - strong
| compressors:
| NULL
|_ least strength: strong
There is no sign of SSLv3: Ok.
_$: nmap --script ssl-enum-ciphers -p443,993,995 mail.domain.com
443/tcp open https
| ssl-enum-ciphers:
| SSLv3: No supported ciphers found
| TLSv1.0:
| ciphers:
| ...
| compressors:
| NULL
| TLSv1.1:
| ciphers:
| ...
| compressors:
| NULL
| TLSv1.2:
| ciphers:
| ...
| compressors:
| NULL
|_ least strength: strong
There is sign of SSLv3, but it says: No supported ciphers found
: Ok.