Compartilhar via


Suporte ao certificado SSL centralizado do IIS 8.0: escalabilidade e capacidade de gerenciamento do SSL

por Shaun Eagan

Compatibilidade

Versão Observações
IIS 8.0 O suporte centralizado ao certificado SSL foi apresentado no IIS 8.0.
IIS 7.5 Não havia compatibilidade para o suporte ao certificado SSL centralizado no IIS 7.5.
IIS 7.0 Não havia compatibilidade para o suporte ao certificado SSL centralizado no IIS 7.0.

Problema

À medida que mais sites de comércio eletrônico entram em linha e mais empresas estão armazenando e compartilhando documentos confidenciais online, a capacidade de hospedar e dimensionar sites seguros é cada vez mais importante. Além disso, com a hospedagem na nuvem e a escalabilidade elástica, a capacidade do servidor deve ser adicionada e removida dinamicamente. Antes do Windows Server 2012, há alguns desafios em se tratando de hospedagem de sites seguros:

  • Escalabilidade SSL: em um ambiente multilocatário, como uma hospedagem compartilhada, há uma limitação de quantos sites seguros podem ser hospedados no Windows Server, resultando em uma baixa densidade de site.
  • Gerenciamento de SSL: os certificados são armazenados localmente para cada Windows Server. Portanto, isso precisa ser gerenciado individualmente em cada Windows Server. Uma tarefa simples, como renovar um certificado, deve ser repetida em cada servidor. Além disso, adicionar um novo Windows Server pode levar horas, se houver milhares de certificados que devem ser importados.

Solução

No Windows Server 2012, o recurso Suporte para certificado SSL centralizado permite que os administradores de servidor armazenem e acessem os certificados de forma centralizada em um compartilhamento de arquivos. Semelhante ao recurso de Configuração compartilhada apresentado no Windows Server 2008, os Windows Servers em um farm de servidores podem ser configurados para carregar os certificados do compartilhamento de arquivos sob demanda.

Com esse recurso, a experiência de gerenciamento de associações SSL fica bem simplificada. Quanto ao SSL, o nome DNS e o nome CN do certificado devem corresponder. O contrato semelhante pode ser estendido também para os nomes de arquivo dos certificados. Por exemplo, www.contoso.com usaria o certificado com um nome de arquivo www.contoso.com.pfx. Este contrato permite que o IIS 8.0 tenha apenas uma associação de SSL, independentemente do número de sites seguros que está usando esse recurso. O certificado correspondente é inferido pelo valor de SNI ou nome do host do site solicitado e pela correspondência dele com o nome do arquivo do certificado.

Instruções passo a passo

Pré-requisitos

  • O IIS 8.0 está instalado no Windows Server 2012 com o recurso de Certificado SSL centralizado. Esse recurso é um componente opcional do IIS e não está instalado como parte da instalação padrão.

    • Para instalar esse recurso, no Gerenciador do Servidor, selecione o Suporte ao Certificado SSL centralizado no nó de Segurança:

      Captura de tela da árvore de navegação do Gerenciador do Servidor. A opção Suporte a certificado SSL centralizado no nó Segurança é selecionada e destacada.

  • Exemplos de certificados com senha NULL. (Ou você pode ter exemplos de certificados com uma senha global.)

    • Os certificados devem ter a convenção de nomenclatura de CN_name.pfx (ou seja, www.contoso.com.pfx).
    • Se o certificado for um certificado curinga, use "_" como o caractere curinga. (ou seja, _.contoso.com.pfx).
    • Se o certificado tiver vários nomes comuns, eles deverão ser nomeados como arquivos individuais. (ou seja, www.contoso1.com.pfx, www.contoso2.com.pfx etc.)
  • Dois compartilhamentos de arquivo: um para configuração compartilhada e outro para certificados SSL centralizados.

    • O servidor do IIS está usando a configuração compartilhada.
    • Os exemplos de certificados foram copiados para o compartilhamento de arquivos para certificados SSL centralizados.
  • \windows\system32\drivers\etc\hosts foi modificado para ser usado para o site e certificado de exemplo. Por exemplo, se o nome comum do certificado for centralCert0, o arquivo de hosts deverá conter:

    127.0.0.1 centralCert0

Soluções alternativas para bugs conhecidos

No momento, não há bugs conhecidos neste recurso.

Configurar o recurso de Suporte ao certificado SSL centralizado

  1. Abra o Gerenciador do IIS.

  2. Selecione o nó do servidor na janela de navegação à esquerda:
    Captura de tela da caixa de diálogo I I S Manager. O nó Servidor na janela de navegação é mostrado. A opção W I N dash M M V três um A K seis oito H G é destacada.

  3. Em Gerenciamento, clique duas vezes em Certificados centralizados:
    Captura de tela dos ícones de gerenciamento. O ícone Certificados Centralizados é realçado.

  4. No painel Ações, selecione Editar configurações de recurso:
    Captura de tela do painel Ações. O botão Editar configurações de recurso é realçado.

  5. Insira as seguintes informações:

    • Habilitar certificados centralizados: selecionado

    • Caminho físico: Por exemplo:\\ccdemo\centralcert

      • Esse é o caminho UNC para o compartilhamento de arquivos em que os certificados estão localizados.
    • Nome de usuário: especifique uma conta de usuário que tenha acesso de leitura ao compartilhamento de arquivos.

    • Senha/Confirmar senha.

    • Senha da chave privada do certificado:

      • Isso é opcional. Se os certificados não tiverem senha, deixe isso vazio.

      • Se os certificados tiverem uma senha global, insira essa senha aqui.

        Captura de tela da caixa de diálogo Editar configurações de certificados centralizados. Ativar certificados centralizados está selecionado.

  6. Agora, o recurso de suporte ao certificado SSL centralizado está pronto para ser usado. Observe que o Gerenciador do IIS lê os certificados e preenche as informações mais relevantes sobre os certificados. Essas informações são armazenadas em cache para melhorar o desempenho.

  7. Um recurso de capacidade de gerenciamento em destaque é a capacidade de agrupar os certificados por suas datas de validade:
    Captura de tela da caixa de diálogo Certificados Centralizados. Na lista suspensa Agrupar por, Data de Expiração é realçada.

  8. Confira como é fácil exibir os certificados que:

    • Expirado

    • Expiram amanhã

    • Expiram esta semana

    • Expiram na próxima semana

    • Expiram no próximo mês

    • Mais tarde

      Captura de tela da caixa de diálogo Certificados Centralizados. Na coluna Nome do arquivo, Expirado, Amanhã, Esta semana, Próxima semana são todos destacados.

Criar um site seguro

  1. Abra o Gerenciador do IIS.

  2. Selecione Sites na janela de navegação à esquerda:
    Captura de tela da árvore de navegação do I I S Manager. A opção Sites é destacada.

  3. Selecione Adicionar site:
    Captura de tela da árvore de navegação do I I S Manager. A opção Sites é selecionada e Adicionar site é destacada.

  4. Preencha as informações, da mesma forma que você criaria um site:

    • Nome do site: centralCert0

    • Caminho físico: c:\inetpub\wwwroot

    • Tipo: https

    • Nome do host: centralcert0

      • Isso é novo no Windows Server 2012, pois o nome do host pode ser especificado para SSL.
      • O valor real dessa configuração varia dependendo do certificado de exemplo que está sendo usado.
    • Exigir a Indicação de Nome de Servidor: não selecionado

      • Você também pode optar por selecionar Exigir Indicação de Nome de Servidor, se desejar. O repositório de certificados centralizado não exige que você use a SNI, mas funciona corretamente ao usá-la.
      • Observe que, na versão de Developer Preview, o repositório de certificados centralizado exigia o uso da SNI. Essa restrição foi removida a partir da versão Beta.
    • Usar repositório de certificados centralizado: selecionado

      • Observe que não é necessário selecionar um certificado correspondente específico a ser usado.
      • Por meio do uso do contrato de nomenclatura, o certificado correspondente é selecionado automaticamente. Neste exemplo, o IIS tenta fazer a leitura de centralcert0.pfx a partir do compartilhamento de arquivo de certificado SSL central.

      Captura de tela da caixa de diálogo Adicionar site. Usar Repositório de Certificados Centralizado está selecionado. Na caixa Nome do site está o texto zero do certificado central.

  5. Verifique se o site foi criado:
    Captura de tela da árvore de navegação do I I S Manager. Em Sites, o zero do certificado central é realçado.

  6. É isso. O site seguro foi criado usando o Suporte ao certificado SSL centralizado. A experiência de gerenciamento é muito semelhante à configuração compartilhada e à associação SSL tradicional. As diferenças são:

    • Os certificados são armazenados centralmente em um compartilhamento de arquivos.
    • O nome do host pode ser especificado para o site SSL.
    • A associação SSL não é gerenciada explicitamente de 1 para 1.

Testar um site seguro

Abra um navegador e navegue até https://centralcert0/. Observe que, como parte do pré-requisito, o arquivo de hosts deve ser modificado para rotear essa solicitação para localhost:

Captura de tela da página da web do certificado zero central. I I S oito é exibido na página da web.

Além disso, para exibir o novo tipo de associação SSL, insira o seguinte em uma janela de linha de comando com privilégios elevados:

netsh http show sslcert

Captura de tela de uma janela de linha de comando. A janela mostra o novo tipo de encadernação S S L. A ligação S S L é a porta de dois pontos do nome do host.

Observe que a associação SSL é hostname:port com valor *:443. Além disso, nenhum hash de certificado está associado a essa associação porque o certificado correspondente é carregado sob demanda com base no contrato de nome de arquivo do certificado.

Cenários

Tente implantar os seguintes cenários:

  • O Suporte ao certificado SSL centralizado foi criado para escalar para um ambiente multilocatário. Tente configurar milhares de sites seguros usando esse recurso.

  • Com milhares de certificados, execute o comando a seguir em uma janela de linha de comando com privilégios elevados. Observe que, independentemente do número de sites seguros, há simplesmente apenas uma associação:

    netsh http show sslcert

  • Tente adicionar um novo servidor neste farm de servidores. Usando a configuração compartilhada e o recurso de suporte ao certificado SSL centralizado, este é um processo de três etapas agora:

    1. Configure o novo servidor para usar a configuração compartilhada.

    2. Configure o novo servidor para usar o suporte ao certificado SSL centralizado.

    3. Criar a associação de protocolo SSL. Em uma janela de linha de comando com privilégios elevados, insira:

      add sslcert hostnameport=*:443 appid={00112233-4455-6677-8899-AABBCCDDEFF}
      
  • Ao contrário das versões anteriores do Windows Server, os certificados no Windows Server 2012 são carregados na memória sob demanda. Depois de configurar milhares de sites seguros usando o recurso de Suporte ao certificado SSL centralizado, envie uma solicitação GET para um dos sites seguros e observe o uso da memória. Isso é insignificante. Nas versões anteriores do Windows Server, se centenas de sites seguros tiverem sido configurados, enviar apenas uma solicitação GET fará com que o Windows Server carregue todos os certificados, resultando em um alto uso de memória e limitando ainda mais a escalabilidade.

  • Criar sites seguros com suporte ao Certificado SSL, centralizado, tradicional e com SNI. Eles são projetados para coexistir.

Resumo

Você explorou com êxito o recurso Certificado SSL centralizado no Windows Server 2012.