Home > Seguridad > Comprobar la seguridad de infraestructuras basadas en SSL

Comprobar la seguridad de infraestructuras basadas en SSL

A partir de un estudio sobre la seguridad de las implementaciones SSL en webs populares realizado recientemente por Trustworthy Internet han aparecido diversas noticias con titulares como Los sitios web con seguridad HTTPS son inseguros o incluso La mayoría de webs HTTPS, 90%, son vulnerables.

Que levante la mano el que conozca un sitio 100% seguro. No ?

Dentro de SSL existen diversos algoritmos, algunos de ellos se consideran actualmente como NO seguros. Por lo tanto, incluso los servicios ofrecidos sobre SSL pueden ser potencialmente inseguros.

Otro aspecto fundamental de la seguridad basada en SSL son los certificados. Los certificados instalados en los servidores deben estar firmados por CA (Autoridades de Certificación) de confianza ampliamente conocidas. Como usuarios, nuestros navegadores incluyen una serie de certificados que permiten comprobar que el certificado SSL del sitio al que estamos accediendo ha sido emitido por una de estas CA de confianza. Aunque sobre este tema recomiendo echar un vistazo a SSLCop de Security By Default.

Una forma sencilla de comprobar la seguridad de un sitio SSL es usar uno de los escáneres online mas conocidos, como el de Qualys. Si preferís que todo quede en casa, hay diversas soluciones muy sencillas de utilizar, por ejemplo, SSLScan.

Usando SSL Scan

 

Una vez compilado el código fuente descargado, para lo que se necesitará tener instalado libssl y libssl-dev  no queda mas que ejecutarlo. La opción –no-failed hace que se informe únicamente de los algoritmos soportados.

yo@localhost:~/sslscan-1.8.2$ ./sslscan --no-failed ssl.midominio.com

Testing SSL server ssl.midominio.com on port 443
Supported Server Cipher(s):
 Accepted SSLv3 128 bits DHE-RSA-AES128-SHA 
 Accepted SSLv3 128 bits AES128-SHA 
 Accepted SSLv3 168 bits EDH-RSA-DES-CBC3-SHA
 Accepted SSLv3 56 bits EDH-RSA-DES-CBC-SHA
 Accepted SSLv3 40 bits EXP-EDH-RSA-DES-CBC-SHA
 Accepted SSLv3 168 bits DES-CBC3-SHA
 Accepted SSLv3 56 bits DES-CBC-SHA
 Accepted SSLv3 40 bits EXP-DES-CBC-SHA
 Accepted SSLv3 128 bits RC4-SHA
 Accepted SSLv3 128 bits RC4-MD5
 Accepted SSLv3 40 bits EXP-RC4-MD5
 Accepted TLSv1 128 bits DHE-RSA-AES128-SHA
 Accepted TLSv1 128 bits AES128-SHA
 Accepted TLSv1 168 bits EDH-RSA-DES-CBC3-SHA
 Accepted TLSv1 56 bits EDH-RSA-DES-CBC-SHA
 Accepted TLSv1 40 bits EXP-EDH-RSA-DES-CBC-SHA
 Accepted TLSv1 168 bits DES-CBC3-SHA
 Accepted TLSv1 56 bits DES-CBC-SHA
 Accepted TLSv1 40 bits EXP-DES-CBC-SHA
 Accepted TLSv1 128 bits RC4-SHA
 Accepted TLSv1 128 bits RC4-MD5
 Accepted TLSv1 40 bits EXP-RC4-MD5
Prefered Server Cipher(s):
 SSLv3 128 bits DHE-RSA-AES128-SHA
 TLSv1 128 bits DHE-RSA-AES128-SHA

En este punto ya se puede verificar si la lista de algoritmos soportados son realmente los que deseamos. En cualquier caso, deberían desecharse todos los algoritmos SSL que no sean de, al menos, la versión 3. Los TLS tienen fama de ser mas seguros, pero el soporte no está tan extendido entre los clientes.

En el caso de que necesitaseis modificar los algoritmos de cifrado, podéis encontrar un artículo interesante sobre cómo configurar Tomcat para no permitir cifrados débiles. De nuevo, en Security By Default.

A continuación se mostrará información sobre el certificado SSL instalado.

SSL Certificate:
 Version: 2
 Serial Number: -4294967295
 Signature Algorithm: sha1WithRSAEncryption
 Issuer: /C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)09/CN=VeriSign Class 3 Secure Server CA - G2
 Not valid before: Jun 14 00:00:00 2010 GMT
 Not valid after: Jun 14 23:59:59 2012 GMT
 Subject: /C=ES/ST=COMUNIDAD DE MADRID/L=Madrid/O=MIDOMINIO/OU=Financial Dept./OU=Terms of use at www.verisign.es/rpa (c)05/OU=Authenticated by VeriSign/OU=Member, VeriSign Trust Network/CN=ssl.midominio.com
 Public Key Algorithm: rsaEncryption
 RSA Public Key: (2048 bit)
 Modulus (2048 bit):
 00:9f:3c:52:2f:38:45:9c:bb:8f:a2:8f:36:be:02:
 4f:b5:69:ec:72:1d:42:fa:d0:6d:4d:ac:c7:e7:8a:
 1f:25:f8:e8:3a:28:7b:04:57:3c:00:f7:91:5b:d3:
 69:5a:a0:85:42:a6:04:68:e3:9e:0b:9d:fd:45:a1:
 cc:1b:eb:47:c6:6e:64:d6:8d:bf:ab:d4:e5:25:01:
 a2:4a:e8:fc:f2:59:72:8a:89:da:6c:2c:a6:33:6e:
 0f:fa:23:47:7c:a1:38:e2:5d:b7:54:42:ed:15:58:
 9c:f4:3c:ad:6b:1d:f1:d7:d6:1e:37:d0:83:7c:74:
 ae:85:63:a5:3f:77:63:c7:01:21:0d:82:eb:5c:36:
 c9:fd:cd:4a:35:44:9c:c1:c1:71:f1:a3:18:a5:18:
 0f:e8:66:78:cb:74:33:47:c8:35:45:53:82:41:ac:
 78:ec:8a:d1:ef:11:0a:e4:2f:c4:68:02:90:54:df:
 ad:16:61:4b:8d:e0:4f:ca:1d:16:00:43:37:c8:4d:
 a2:f0:a1:1f:77:ba:62:4d:21:ce:c3:25:48:5b:8c:
 f8:e2:15:c9:d1:65:9b:3a:11:27:17:1d:15:a4:4b:
 72:a6:fa:43:f4:c7:a3:50:57:7e:0c:41:9b:41:3f:
 b4:f5:ab:a3:b7:21:8d:05:32:46:f0:23:df:f8:39:
 f6:43
 Exponent: 65537 (0x10001)
 X509v3 Extensions:
 X509v3 Basic Constraints: 
 CA:FALSE
 X509v3 Key Usage: 
 Digital Signature, Key Encipherment
 X509v3 CRL Distribution Points: 
 URI:http://SVRSecure-G2-crl.verisign.com/SVRSecureG2.crl
X509v3 Certificate Policies: 
 Policy: 2.16.840.1.113733.1.7.23.3
 CPS: https://www.verisign.es/rpa
X509v3 Extended Key Usage: 
 TLS Web Server Authentication, TLS Web Client Authentication
 X509v3 Authority Key Identifier: 
 keyid:A5:EF:0B:11:CE:C0:41:03:A3:4A:65:90:48:B2:1C:E0:57:2D:7D:47
Authority Information Access: 
 OCSP - URI:http://ocsp.verisign.com
 CA Issuers - URI:http://SVRSecure-G2-aia.verisign.com/SVRSecureG2.cer
Advertisements
Categories: Seguridad Tags: , , , , ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: