IIS6: Web site apresentando o certificado SSL errado

5

Considere uma instalação do IIS6 com vários sites. Cada um é destinado a ser um subdomínio diferente com seu próprio certificado (não um certificado curinga). Cada um tem seu cabeçalho de host especificado corretamente.

  • foo.example.com - porta 443. Requer SSL com 128 bits. Trabalhando corretamente! Apresenta seu certificado SSL corretamente ao navegador. Configurado para um endereço IP específico .

  • bar.example.com - porta 443. Requer SSL com 128 bits. Configurado para todos os endereços não atribuídos . Ao inspecionar a página de propriedades do IIS, ele mostra totalmente o certificado para bar.example.com no botão Exibir certificado. Este é um novo site que está tendo problemas de certificação. Está apresentando o certificado para foo.example.com. Ai!

texto alternativo http://www.imagechicken.com/uploads/1251156847014486300.png

Pergunta: você pode ter mais de um subdomínio sendo executado em sites separados com certificados SSL na mesma porta (443)? Como você configuraria dois sites na mesma faixa de 'todos não atribuídos' para a mesma porta (443)?

Atualização: ignorando o erro do certificado, ao navegar para https://bar , o conteúdo veiculado é de https://foo site.

Quando NÃO estiver usando SSL, a navegação para http://bar exibe o conteúdo correto de bar .

Apenas um endereço é atribuído a esse servidor DMZ.

    
por p.campbell 24.08.2009 / 23:56

3 respostas

6

Os certificados SSL estão vinculados ao endereço IP interno do servidor da Web, não aos endereços IP externos.

Digamos que você tenha foo.example.com vinculado a Public IP A e bar.example.com on Public IP B , mas seu servidor da Web possui apenas o endereço IP 192.168.0.1

Se a solicitação chegar em IP A ou IP B , ela ainda terminará em 192.168.0.1. O que significa que o IIS não tem escolha senão usar o certificado atribuído a foo.example.com .

Para contornar esse problema, você precisará ter vários endereços IP atribuídos ao seu servidor da web. Isso é fácil de fazer. Fale com seu administrador de sistema para remover alguns IPs do intervalo de DHCP (ou pergunte quais deles você pode usar), depois vá para as propriedades da placa de rede (Painel de Controle > Conexões de Rede) e vá para as propriedades TCP / IP.

Você precisará ter um IP estático ativado (sendo um servidor, espero que isso seja feito de qualquer maneira) e, em seguida, clique em Avançado e sob a caixa "Endereços IP", clique em "Adicionar" - e digite o novos endereços IP que você foi atribuído pelo seu sysadmin (digamos 192.168.0.2 ).

Em seguida, no roteador, você precisa garantir que as solicitações de IP A na porta 443 vão para 192.168.0.1 e que todas as outras solicitações na porta 443 vão para 192.168.0.2 .

Em seguida, na sua configuração do IIS, você precisa vincular o certificado SSL de foo.example.com a 192.168.0.1 e vincular o restante a 192.168.0.2 (ou deixar como Não atribuído todo, como você tem).

Se isso não funcionar, ou se você já configurou isso, atualize sua pergunta e deixe um comentário para nos informar.

Atualização: Acabei de ver seus comentários, obrigado pela atualização. Você precisará garantir que foo.example.com e bar.example.com estejam em dois endereços IP públicos diferentes. O motivo é que, como os pacotes são criptografados, não há como usar o roteamento baseado em nomes de host para enviar a solicitação ao endereço IP correto (acredito que seja o caso. Se alguém souber diferente, avise-me). A única parte da solicitação que é visível para os roteadores é o IP de destino. É por isso que você só pode ter um SSL por endereço IP. Portanto, você precisará ter IPs públicos para que isso funcione e, no seu DNS, um registro de bar.example.com diferente de foo.example.com .

    
por 25.08.2009 / 00:22
2

Em apoio ao Farseeker, de Thawte :

Although the certificate is not tied to the IP address a unique IP address must be assigned to the domain as SSL is IP based and does not resolve to name based virtual hosts

Se o seu servidor tiver apenas 1 endereço IP, o " Todos não atribuídos " não poderá fazer nada além de apontar para o mesmo endereço IP único.

    
por 25.08.2009 / 00:32
1

Parece que "bar" está indo para o mesmo endereço IP que "foo" está usando. Como "foo" é especificamente configurado para responder nesse endereço IP, ele captura a solicitação. Os "cabeçalhos de host" não se aplicam a solicitações SSL (é por isso que o IIS tem um painel separado para solicitações padrão com o mapeamento ip / host / port e outro para mapeamento ssl ip / port, mas sem nome de host).

Verifique seus registros de DNS e garanta que "bar" esteja usando um IP diferente de "foo" e que seu problema seja corrigido.

Quando configuro sites SSL, dou a cada domínio que precisa de SSL seu próprio endereço IP, e uso um IP "comum" para todo o resto. É claro que os registros de DNS precisam usar o endereço correto para que a entrada de site correta no IIS manipule o tráfego.

    
por 25.08.2009 / 03:06