Problema de certificado SSL do IIS 6 - erro de conexão SSL no início do serviço, mas tudo bem se parar e ir para o site da MMC

3

Estou cuidando de um win2k3 herdado (sp2) que tem o IIS 6 instalado. Eu tenho um problema muito estranho que está me fazendo tirar o cabelo.

  • Existem 5 sites configurados para serem executados no servidor da Web específico.
  • Destes, 3 possuem certificados SSL que são funcionais (e seus próprios IPs dedicados com SSL são exibidos em: 443)
  • Um desses sites está com o seguinte problema:

Quando o serviço w3svc é iniciado pela primeira vez (por meio de uma reinicialização ou net stop / start), as conexões iniciais com o serviço SSL desse site específico falham imediatamente com ERR_SSL_PROTOCOL_ERROR. Vou fornecer mais informações de diagnóstico abaixo.

Agora, para a lista de sintomas completamente desconcertantes e tentativas de soluções:

  • se eu clicar no ícone "parar" no MMC do IIS e, em seguida, iniciar o backup desse site (não do próprio serviço w3svc), o problema desaparece.
  • se eu atribuir uma porta SSL diferente de 443 ao site, o problema nunca aparecerá
  • se eu atribuir um certificado SSL diferente ao website, o problema persistirá
  • Eu criei um site totalmente novo a partir do zero só para testar isso, o problema reaparece

Não consigo ver informações de log relevantes no gerenciador de eventos (Aplicativo, Sistema ou Segurança) nem nos arquivos de log do w3svc.

Filemon não mostra nada de estranho que eu possa dizer (acesso negado ou arquivo não encontrado de qualquer tipo), independentemente, eu duvido que o certificado seja realmente buscado a partir do arquivo.

Eu executei outros testes usando wget e as ferramentas SSLDiag , todas dizendo mais do mesmo, sem nenhuma informação diagnóstica adicional.

Uma inspeção de tubarões de arame revela que a conexão foi simplesmente descartada:

  • O pacote "Client Hello" de 226 bytes é enviado pelo cliente para o servidor
  • Um pacote [FIN, ACK] é imediatamente enviado de volta pelo servidor para o cliente

Quando o servidor é "remediado" usando o método stop / start descrito acima, o servidor responde normalmente (nenhum pacote FIN / ACK é enviado).

O texto acima me faz pensar se é um tipo de coisa de falha repentina de página que termina imediatamente o thread antes que qualquer logging ou qualquer coisa seja feita.

Eu estou em uma perda, eu passei mais de 8 horas sobre este bug e ainda não consigo encontrar uma maneira de lidar com isso. Eu adoraria se alguém realmente soubesse o que estava acontecendo, mas na verdade estou apenas esperando algumas idéias sobre como depurar / inspecionar para determinar a origem do problema.

NB: Existem restrições que não posso evitar, como reinstalar o servidor ou atualizar o servidor, não são opções no momento.

    
por user247243 09.10.2014 / 02:21

1 resposta

1

Ok, então finalmente encontrei a solução para esse problema, mas a solução não me dá nenhuma compreensão do que foi o bug (acho que o código-fonte seria necessário para isso, e dado que o Win2k3 / IIS 6 não é mais suportado, eu não vejo a utilidade em tal empreendimento). Mas melhor escrever isso para o futuro para o bem comum.

Seguindo o conselho de Twisty, comecei a pensar na natureza do problema. Primeiro comecei parando todos os sites no servidor, mas o que estava envolvido, e reiniciei o serviço web. Isso não fez nada.

Em seguida, observei os outros sites inativos (que estavam em estado parado há muito tempo) e verifiquei se eles tinham algum conflito possível. Eu notei que um deles foi configurado para usar este certificado específico. No entanto, remover o certificado desse site não resolveu o problema. Além disso, havia outros sites inativos que foram configurados para usar outros certs, mas esses outros certs não exibiam esse bug.

TL; DR  - Eu finalmente recorri a simplesmente excluir o site obsoleto para ver se isso faria alguma coisa e isso resolveu o problema. -

Eu não sei e não tenho tempo para (em vez do meu cliente) voltar atrás e criar sites para explorar qual é o comportamento completo do bug. Mas suponho que isso esteja relacionado aos certs em sites inativos.

Espero que esse bug nunca aconteça com ninguém por aí.

    
por 09.10.2014 / 05:27