Tengo la siguiente pregunta: asumiendo que tengo un archivo TCPDump que contiene varias conexiones HTTPS utilizando la autenticación mutua TLS, ¿hay alguna forma de extraer todos los certificados de cliente enviados al servidor?
Algunos antecedentes Tengo un cliente en el que un servicio SOAP que proporcioné se configuró para usar HTTPS con la autenticación del cliente. El requisito sobre dónde usar el certificado autofirmado en ambos extremos de la conexión y el servidor se ejecuta en 2008R2 + IIS.
Hace cuatro años, tuve que realizar la instalación e instruí a los administradores cómo administrar los certificados de cliente. Este mes, el cliente volvió a mí (como esperaba) diciendo que ha hecho un desastre y que ahora tiene 6 veces más certificados que conexiones que se les permite conectarse. Ya que están migrando, quieren mi ayuda para limpiar ese desastre.
Los certificados han sido creados por personas de diversos niveles de competencias: algunas están bien definidas y se pueden identificar fácilmente. Pero otros son claramente el resultado de que alguien listo "Cómo crear un certificado X509v1": claves RSA de 1024 bits, nada útil en el tema, etc.
Tenía dos ideas sobre cómo abordar esto: la primera fue crear diferentes usuarios locales para los diferentes certificados, cambiar la asignación del certificado del cliente IIS para usar estos nuevos usuarios y luego simplemente analizar el registro de IIS para ver quién se está conectando. Esto todavía es posible pero, dado el requisito de los administradores, les exigiría crear numerosas cuentas de AD y otorgarles todos los derechos en la base de datos: eso les llevará mucho tiempo para la configuración (sin tener en cuenta el hecho de que ser una molestia para configurar es IIS).
Entonces, me preguntaba si no podría simplemente usar un monitor de red para volcar todas las sesiones HTTPS que van a ese socket y enumerar todos los certificados que se usan como autenticación de cliente en el protocolo de enlace TLS.