Acabei de perceber que os ataques man-in-the-middle SSL são muito mais comuns do que eu pensava, especialmente em ambientes corporativos. Eu já ouvi falar e vi várias empresas que possuem um servidor proxy SSL transparente. Todos os clientes estão configurados para confiar neste certificado do proxy. Basicamente, isso significa que o empregador pode, teoricamente, interceptar até mesmo o tráfego criptografado SSL sem nenhum aviso no navegador. Como mencionado acima, os clientes vêm com o certificado confiável. Isso só pode ser revelado pela validação manual do certificado que está sendo usado.
Para mim, parece que o empregador utiliza sua posição superior para espionar o tráfego SSL do funcionário. Para mim, isso torna todo o conceito de SSL não confiável. Eu mesmo testei uma configuração semelhante usando o mitmproxy e consegui ler a comunicação entre o cliente e meu servidor de banco eletrônico. Esta é uma informação que não deve ser revelada a ninguém.
Portanto, minha pergunta é bastante simples: como posso validar a cadeia de confiança no servidor? Quero garantir que o cliente use o certificado do meu servidor e apenas uma cadeia de confiança. Gostaria de saber se isso pode ser alcançado pela configuração SSL do Apache? Isso seria conveniente, pois poderia ser aplicado a muitos aplicativos facilmente. Se isso não for possível, alguém sabe como fazer isso em PHP? Ou você tem outras sugestões?