====== Ubuntu - SSL - Check for Poodle bug ====== The **POODLE** bug is a new bug discovered by Google in the **SSLv3** protocol. The fix is easy, disable support for SSLv3. See the google security blog for more info on the bug: http://googleonlinesecurity.blogspot.nl/2014/10/this-poodle-bites-exploiting-ssl-30.html. Use the following command to check an IP or hostname: echo | timeout 3 openssl s_client -connect HOSTNAMEORIPADDRESS:443 >/dev/null 2>&1; if [[ $? != 0 ]]; then echo "UNKNOWN: HOSTNAMEORIPADDRESS timeout or connection error"; else echo | openssl s_client -connect HOSTNAMEORIPADDRESS:443 -ssl3 2>&1 | grep -qo "sslv3 alert handshake failure\|SSL3_GET_RECORD:wrong version number" && echo "OK: HOSTNAMEORIPADDRESS Not vulnerable" || echo "FAIL: HOSTNAMEORIPADDRESS vulnerable; sslv3 connection accepted"; fi **NOTE:** Replace **HOSTNAMEORIPADDRESS** by the actual hostname or IP address. If you use SNI, add the **-servername sharewiz.net** option to the 2 OpenSSL commands, like so: openssl s_client -servername snihostname.org -connect 172.16.30.5:443 -ssl ---- ===== Examples ===== **Non-vulnerable website:** echo | timeout 3 openssl s_client -connect sharewiz.net:443 >/dev/null 2>&1; if [[ $? != 0 ]]; then echo "UNKNOWN: sharewiz.net timeout or connection error"; else echo | openssl s_client -connect sharewiz.net:443 -ssl3 2>&1 | grep -qo "sslv3 alert handshake failure\|SSL3_GET_RECORD:wrong version number" && echo "OK: sharewiz.net Not vulnerable" || echo "FAIL: sharewiz.net vulnerable; sslv3 connection accepted"; fi result: OK: sharewiz.net Not vulnerable **Vulnerable site:** echo | timeout 3 openssl s_client -connect sslv3-testhost.com:443 >/dev/null 2>&1; if [[ $? != 0 ]]; then echo "UNKNOWN: sslv3-testhost.com timeout or connection error"; else echo | openssl s_client -connect sslv3-testhost.com:443 -ssl3 2>&1 | grep -qo "sslv3 alert handshake failure\|SSL3_GET_RECORD:wrong version number" && echo "OK: sslv3-testhost.com Not vulnerable" || echo "FAIL: sslv3-testhost.com vulnerable; sslv3 connection accepted"; fi result: FAIL: sslv3-testhost.com vulnerable; sslv3 connection accepted **Site without SSL:** echo | timeout 3 openssl s_client -connect sharewiz.net:443 >/dev/null 2>&1; if [[ $? != 0 ]]; then echo "UNKNOWN: sharewiz.net timeout or connection error"; else echo | openssl s_client -connect sharewiz.net:443 -ssl3 2>&1 | grep -qo "sslv3 alert handshake failure\|SSL3_GET_RECORD:wrong version number" && echo "OK: sharewiz.net Not vulnerable" || echo "FAIL: sharewiz.net vulnerable; sslv3 connection accepted"; fi result: UNKNOWN: sharewiz.net timeout or connection error You can check other ports by changing 443 to any other valid port.