Eu acho que essa pergunta seria mais apropriada para security.stackexchange.com onde o tópico do MITM é discutido em muitas questões. Mas de qualquer maneira:
A validação do certificado do servidor é feita apenas no cliente e não pode ser movida de alguma forma para o servidor, pois o ponto de validação do certificado no cliente é que os clientes precisam ter certeza de que estão falando com o servidor correto e não pode confiar no servidor (não confiável) para tomar essa decisão pelo cliente.
No caso de interceptação SSL, o cliente TLS, na perspectiva do servidor, é o firewall de interceptação SSL / AV. Assim, o problema no lado do servidor é detectar se está falando com o cliente esperado (o navegador) ou não (o firewall / AV). A maneira mais segura de fazer isso é usar certificados de cliente para autenticar o cliente - e, de fato, a interceptação SSL não funcionará se a autenticação do cliente for usada, ou seja, o handshake TLS falhará, pois o MITM não é capaz de fornecer o certificado de cliente esperado. / p>
Apenas certificados de cliente são raramente usados. Além disso, um handshake TLS com falha não significaria que o cliente possa se comunicar com o servidor sem a interceptação SSL, mas que o cliente não possa se comunicar com o servidor. Uma maneira alternativa seria usar algumas heurísticas para detectar o tipo de cliente TLS com base na impressão digital do handshake TLS, ou seja, tipo e ordem de cifras, uso de extensões específicas ... Enquanto um proxy de interceptação SSL poderia, em teoria, emular o original ClientHello perfeitamente mais não. Veja também Detectar man-in-the-middle no lado do servidor para HTTPS ou na seção III Heurística de Implementação de TLS em A Segurança Impacto da interceptação HTTPS .