La mejor herramienta para probar una conexión SSL en mi aplicación [cerrado]

8

He desarrollado una aplicación que envía datos binarios entre un cliente .NET y un servidor Java a través de TCP.

Recientemente he implementado SSL para esta conexión y me gustaría una forma de demostrar que es realmente seguro para el proyecto de mi universidad.

¿Qué herramientas recomendarías? He usado a Caín y Abel antes, pero no creo que sea realmente adecuado para esto.

Gracias.

    
pregunta jim 28.02.2012 - 21:51
fuente

3 respuestas

8

Openssl se envía con una herramienta llamada " s_client " que se puede usar para probar servidores SSL. Está disponible para * nix, cygwin y Win32.

Uso de muestra

$ openssl s_client -connect servername:port -CAfile /path/to/ca.pem -debug -showcerts

Hay una gran variedad de opciones como -pause, -state, etc., que pueden ser útiles para rastrear SSL a través de su configuración y eliminación.

Seguridad

En su pregunta original, se preguntó si su implementación era segura. Por seguro, ¿quiere decir que la transmisión está encriptada o que ha implementado todos los aspectos de la RFC correctamente? Si te refieres al primero, usa Wireshark como D.W. ha señalado.

Si te refieres a lo último, entonces echa un vistazo a la página de prueba SSL OWASP . Hay algunas grandes cosas allí, pero de ninguna manera es exhaustiva. Estas pruebas están diseñadas para HTTPS, pero deberían funcionar para cualquier implementación de SSL ya que está analizando el protocolo SSL, no el protocolo de nivel de aplicación en la parte superior.

    
respondido por el logicalscope 28.02.2012 - 23:17
fuente
4

Aquí hay una prueba simple con la que podría comenzar: recopilar el tráfico mediante Wireshark y verificar que el contenido de los paquetes se vea como ruido aleatorio (bytes aleatorios). Eso debería ser suficiente para comprobar que ha activado SSL.

Si desea comprobar si su código SSL funciona correctamente, también puede verificar si puede interactuar con otras implementaciones de SSL.

En cuanto a si es seguro, bueno, eso es un poco más amplio. Éstos son algunos de los más grandes. ¿Usaste una biblioteca SSL bien revisada? (Implementarlo usted mismo no es una buena idea; es demasiado costoso verificar que no haya cometido ningún error). ¿Lo sembró con una fuente adecuada de entropía? (Las buenas bibliotecas SSL lo harán por usted automáticamente). ¿Codificó correctamente la clave pública del servidor o verificó correctamente el certificado del servidor para asegurarse de que corresponde a su servidor y no a algún impostor? ¿Habilitó la autenticación del cliente? ¿Estableciste la lista de conjuntos de cifrados aceptables de una manera razonable? ¿Usaste TLS 1.2? ¿Sabe que TLS solo protege el canal de comunicación, pero aún necesita asegurarse de que los puntos finales estén seguros, por ejemplo, de varios ataques maliciosos?

Eso podría ayudarte a comenzar.

    
respondido por el D.W. 28.02.2012 - 22:13
fuente
1

Uso socat y (ocasionalmente) stunnel.

    
respondido por el atdre 05.03.2012 - 21:45
fuente

Lea otras preguntas en las etiquetas