Se você quiser filtrar nomes de domínio, você tem duas maneiras possíveis: você pode pegar o nome do método CONNECT emitido pelo cliente se ele souber que precisa usar um proxy para conecções HTTPS e filtrá-lo ( Squids suporta que BTW). Ou, se você realmente realmente precisa fazê-lo de forma transparente, seria necessário examinar os cabeçalhos de solicitação (criptografados).
Se você deseja ver cabeçalhos de solicitação criptografados, é necessário ter uma chave. Se você quiser ter uma chave, você precisa de um certificado que seja a) confiável pelo cliente para ser o certificado "correto" e b) certifica cada host possível (curinga-tudo).
Então, o que você precisa fazer é
- configure um certificado para seu proxy. Depende do seu software como fazer isso - você pode usar o stunnel para encerrar a conexão SSL no lado do proxy, ter algum proxy HTTP de filtragem por trás dele e restabelecer o SSL para todo o tráfego de saída usando alvos DNAT do iptables e stunnel novamente. Também pode haver soluções "em caixa" para o proxy do MitM SSL.
- instale o certificado mencionado acima em todos os seus clientes que usam o proxy
Principalmente, se você precisar de proxy transparente, é porque não deseja ou não pode reconfigurar os clientes para usar o proxy. Se esse for o caso com sua solicitação também, você provavelmente não teria a opção de instalar certificados em clientes e marcá-los como "confiáveis". Assim, mesmo que haja uma maneira técnica de proxy SSL transparente, eu suspeito que não será ganho muito para você.