Ho la seguente domanda: supponendo di avere un file TCPDump contenente un numero di connessioni HTTPS usando l'autenticazione reciproca TLS, c'è un modo per estrarre tutti i certificati client inviati al server?
Alcuni precedenti Ho un cliente in cui un servizio SOAP che ho fornito è stato configurato per utilizzare HTTPS con l'autenticazione del client. Il requisito in base al quale utilizzare il certificato autofirmato in entrambe le estremità della connessione e il server è in esecuzione su 2008R2 + IIS.
Quattro anni fa, ho dovuto eseguire l'installazione e istruito gli amministratori su come gestire i certificati client. Questo mese, il cliente è tornato da me (come mi aspettavo) dicendo che hanno fatto un casino e che ora hanno 6 volte più certificati di quelli con cui sono autorizzati a connettersi. Dal momento che stanno migrando, vogliono il mio aiuto per ripulire quel casino.
I certificati sono stati creati da persone di diverso livello di competenza: alcuni sono ben definiti e possono essere facilmente identificati. Ma altri sono chiaramente il risultato di qualcuno pronto al minimo "Come creare un certificato X509v1": chiavi RSA a 1024 bit, niente di utile nell'argomento, ecc.
Avevo due idee su come affrontarlo: il primo era creare utenti locali diversi per i diversi certificati, modificare la mappatura dei certificati client IIS per utilizzare questi nuovi utenti e quindi analizzare semplicemente il registro di IIS per vedere chi si connette. Questo è ancora possibile ma, vista la necessità degli amministratori, richiederebbe loro di creare numerosi account AD e concedere tutti i diritti sul database: ci vorranno molto tempo per l'installazione (senza contare il fatto che sarà essere un problema da configurare è IIS).
Quindi, mi stavo chiedendo se non potevo semplicemente usare un monitor di rete per scaricare tutte le sessioni HTTPS che vanno a quel socket ed enumerare tutti i certificati che sono usati come auth client nell'handshake TLS.