¿Hay alguna manera de probar que HTTPS está cifrando la comunicación con mi sitio?

47

Estoy trabajando para una empresa que se ocupa del desarrollo de aplicaciones web y soy el "Experto en seguridad". Recientemente implementé HTTPS en una aplicación con Let's Encrypt , y mi jefe me pide que pruebe que HTTPS realmente encripta información.

¿Cómo puedo hacer eso?

    
pregunta NTHINGs 05.10.2016 - 21:06
fuente

6 respuestas

64
  

Mi jefe me está pidiendo que pruebe que HTTPS realmente cifra la información. ¿Cómo puedo hacer eso?

En un nivel básico, puede usar un inspector de paquetes o un simple proxy de reenvío de puertos. Quizás Wireshark inspeccionará los paquetes con la suficiente facilidad.

Debería poder encontrar rápidamente que el tráfico HTTP es texto sin formato, mientras que el HTTPS es bibernish binario. (con la excepción del nombre de host)

Sin embargo, esto solo prueba que la conexión está ofuscada. No prueba encriptación ni seguridad. Específicamente no hace nada para mostrar inmunidad a MiTM.

Afortunadamente, el navegador hace todo esto por ti. Si un navegador moderno intenta conectarse a una página web HTTPS, verificará lo siguiente:

  • Algoritmos hash suficientemente fuertes para los certificados involucrados.
  • Algoritmos de cifrado lo suficientemente fuertes. (es decir, en realidad está encriptado)
  • Cadena de certificados emitida por una (s) autoridad (s) certificada (s) de confianza (es decir, CA que verifica la propiedad del dominio antes de emitir sus certificados)
  • No vencimiento de los certificados.
  • La coincidencia de los valores de hash significa que no habrá MiTM.

Si bien a su jefe le gusta para ver el galimatismo de wirehark comparando HTTP con HTTPS, una prueba más sólida es simplemente visitar el sitio HTTPS con un navegador moderno.

Asegúrese de que el navegador no haya sido configurado previamente para ignorar la advertencia. (es decir, prueba desde varias computadoras y teléfonos inteligentes)

Si planea continuar con el protocolo HTTPS de forma permanente (lo que debería hacer), una sabia precaución sería forzar la redirección de todas las visitas HTTP al sitio HTTPS , porque no puede garantizar que todos los visitantes incluyan el prefijo https:// cuando visiten su sitio.

    
respondido por el George Bailey 05.10.2016 - 21:41
fuente
39

Estas son algunas maneras (no completas) para probar que su aplicación es información de encriptación :

  1. SSL Labs tiene una aplicación web para probar la implementación de SSL de su aplicación web

OR

  1. En su navegador web, los sitios protegidos con HTTPS mostrarán un candado verde junto a la URL, de este modo:

Sinecesitamásdetalles,ounamejorpruebadequesucertificadoestáfuncionandoconexcepcióndelbloqueoverde,hagaclicenesecandado,muestrelosdetallesyveráalgocomoesto(enChromeparaesteejemplo):

Estoledarátodoslospequeñosdetallessuciosquenecesitaparaverificarquesucertificadoestáfuncionandocomoseesperaba.

OR

  • Arranque Wireshark , o un analizador / rastreador de paquetes de su elección, luego ejecute algunos datos a través de su aplicación que debería estar encriptado ( iniciar sesión, enviar un formulario, etc ...). Busque el paquete , siga la transmisión TCP y verifique que no se transmita nada en texto sin formato .
  • respondido por el INV3NT3D 05.10.2016 - 21:42
    fuente
    15

    SSLlabs es una excelente herramienta para analizar un sitio web de HTTPS. Pero ...

    • No prueba que haya cerrado las partes que no pertenecen a SSL del sitio
    • Me da la impresión de que su jefe no entenderá lo que le dice sobre su sitio.
    • Por tus comentarios sobre Wirehark, pareces estar luchando un poco para entender lo que está sucediendo

    Dice que se le ha pedido que demuestre que "HTTPS realmente cifra la información". Tal vez alguien ha elegido mal sus palabras, pero si lo toma en serio, usted dice que se le está pidiendo que demuestre que la tecnología en la que se basa el mundo para garantizar el comercio electrónico realmente implementa su requisito más fundamental. Creo que alguien podría haberse dado cuenta por ahora si no lo hubiera hecho.

    (Debo señalar que es técnicamente posible configurar https para usar un cifrado nulo con algunos clientes y servidores, pero es extremadamente difícil hacerlo por diseño . No pudiste hacerlo por accidente)

    Suponiendo que su jefe no haya querido decir eso, se le pedirá que lo convenza de que el trabajo que ha hecho es válido. La mayoría de los navegadores le mostrarán los algoritmos de cifrado se utiliza para acceder a un sitio.

    Si su jefe quiere algo diferente / más, entonces no sabemos qué lo convencerá. Deberá pedirle un requisito más específico y detalles de lo que consideraría una prueba aceptable .

        
    respondido por el symcbean 06.10.2016 - 01:25
    fuente
    2

    Contrate con un experto en seguridad de TI profesional y experto en criptografía con una buena reputación. Permítales capturar el tráfico en su red y pídales que intenten averiguar qué mensajes se envían desde y hacia el sitio.

    Si fallan, habrá establecido que el tráfico está efectivamente cifrado. Por supuesto, esto no es probable que sea barato.

        
    respondido por el bdsl 06.10.2016 - 13:56
    fuente
    1

    Si hace clic en el ícono del candado en Firefox y hace clic en Más información, verá algo como esto:

    Lo que indica claramente que la conexión está cifrada y qué protocolos se usaron.

        
    respondido por el Luc 07.10.2016 - 13:57
    fuente
    -3

    Dígale a su jefe, "Amazon.com lo usa".

    Son lo suficientemente mayores y lo suficientemente experimentados en el comercio electrónico y en la Web para saber qué funciona y qué no. Si consideran que HTTPS es suficiente para proteger su tarjeta de crédito, entonces eso debería ser prueba suficiente.

    Cuando realicé programación web, hace muchas lunas, enseñamos la abreviatura WADI: Haría Amazon. Si alguien dice "hey, ¡nuestro sitio web debería hacer esto!", Su respuesta sería "¿Amazon hace eso? Si no es así, entonces tampoco deberíamos hacerlo".

        
    respondido por el Greenstone Walker 06.10.2016 - 03:32
    fuente

    Lea otras preguntas en las etiquetas