Con SSL Bump , Squid ejecuta un Man-in-the-Middle attack entre el cliente y el servidor; se presenta como un servidor falso con un certificado falso cuando se habla con el cliente y como un cliente falso cuando se habla con el verdadero servidor SSL. Squid obtiene así todos los datos. Si quieres ver lo que ve Squid, entonces parece que la mejor opción sería simplemente pedirle a Squid que te envíe una copia. Aparentemente, esto es al menos teóricamente factible a través de la función ICAP : es una forma en que Squid puede hacer eso. El software antivirus se enlaza con Squid a través de ICAP e inspecciona tanto el contenido del mensaje HTTP como los encabezados.
De lo contrario, si no cuenta con la ayuda de Squid, debe comprender lo que ocurre a nivel de SSL. En particular, las herramientas ssldump pueden descifrar el tráfico SSL capturado solo si las siguientes condiciones son todas verdaderas:
- La herramienta de descifrado recibe una copia de la clave privada servidor .
- La herramienta de descifrado admite los algoritmos criptográficos utilizados para la conexión.
- El conjunto de cifrado seleccionado por el servidor (según lo que el cliente admita y prefiera) utiliza un intercambio de claves basado en RSA. Con las suites de cifrado "DHE", el intercambio de clave real utiliza claves efímeras Diffie-Hellman, y la clave privada del servidor se usa solo para firmas; tener una copia de esa clave privada no ayudaría aquí.
En su caso, hay dos conexiones SSL, una entre el cliente y Squid, la otra entre Squid y el servidor original. Si tiene una copia de la clave del servidor, entonces puede concentrarse en la última, y olvidarse de todo sobre SSL Bump y Squid. Sin embargo, en un caso más general, como el administrador de Squid usted controla Squid, no el servidor de destino.
Con SSL Bump, Squid genera un certificado de servidor falso cuando habla con el cliente. Si puede obtener una copia de la clave privada para ese certificado falso, entonces debería poder aplicar ssldump en la conexión de cliente a Squid. Como se describe en aquí , la herramienta que Squid usa para generar certificados falsos es configurable, por lo que podría usar el suyo propio, que genera el certificado (p. ej., con OpenSSL ) y registra la clave privada en algún lugar, para que se pueda realizar un rastreo capturado descifrado más adelante.
Para la suite de cifrado, esto parece ser factible con la directiva Squid https_port
, que acepta un parámetro "cifrado=". Como se dice aquí , el valor de ese parámetro es pasado directamente a la biblioteca SSL subyacente que usa Squid, y eso es OpenSSL.
Vea también este hilo del foro donde alguien aparentemente está tratando de hacer lo mismo que tú.