Description
Security experts have discovered a man-in-the-middle attack named DROWN (Decrypting RSA with Obsolete and Weakened eNcryption). The vulnerability number is CVE-2016-0800.
If your server supports the SSLv2 protocol and EXPORT encryption algorithm for secured connections, attackers may intercept the communication data between the client and the server, and use the exhaustion method to crack the encrypted text and start a man-in-the-middle hijacking attack.
Fix
Note: Create a server snapshot before fixing the vulnerability to avoid data loss from operation failures.
For httpd and nginx users
Open the httpd and nginx configuration files, and modify/add the following SSL encryption algorithm:
nginx ssl_ciphers HIGH:!aNULL:!MD5:!EXPORT56:!EXP;
httpd SSLCipherSuite HIGH:!aNULL:!MD5:!EXPORT56:!EXP
After the modification, restart the web service.
For Tomcat users
Open the Tomcat configuration file
server.xml
, and add the following attributes to the SSL configuration items:tomcat 5,6:
SSLEnabled="true"
sslProtocols="TLSv1,TLSv1.1,TLSv1.2"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
tomcat >=7:
SSLEnabled="true"
sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
After the modification, restart the Tomcat service.
For IIS users
Follow these steps to disable unsafe encryption algorithms and SSL protocols in the registry.
- Go to Start > Run, enter regedit, and then press Enter.
- Go to
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
. - Open
Protocols\PCT 1.0\Server
, right click on the blank area, select New > String Value, and name the new value Enabled. Double click the new value, enter 0 as its Value data, and click OK. - Follow step iii to complete the same configuration for the following directories:
Protocols\SSL 2.0\Server
Ciphers\DES 56/56
Ciphers\RC2 40/128
Ciphers\RC2 128/128
Ciphers\RC4 40/128
Ciphers\RC4 56/128
Ciphers\RC4 128/128
After the configuration, restart the computer to bring the changes into effect.
Update OpenSSL
Identify the service that calls Port 443, and then update the OpenSSL (not necessarily comes with the system) that the program depends on.
- We recommend that you update your OpenSSL to the latest version.
- OpenSSL 1.0.2 users must upgrade the protocol to 1.0.2g or later.
- OpenSSL 1.0.1 users must upgrade the protocol to 1.0.1s or later.
- OpenSSL 1.0.0 or earlier users must upgrade the protocol to 1.0.1s or later.
After the update, restart the service that calls Port 443.