IIS7.5 - Certificados SSL pessoais para vários usuários

1

Eu quero implementar um modelo de segurança, mas não sei qual terminologia o IIS / SSL usa para fazer isso. Nem sei como fazer isso acontecer no IIS7.5

O processo que quero ter

  • Usuários administradores (múltiplos) de um site criam um certificado pessoal (.p12 / .pfx / alguma coisa)
  • O operador do servidor instala um lado desse certificado no IIS (para cada administrador)
  • O administrador importa o outro lado do certificado para o navegador
  • O administrador então autentica na área de administração do site, usando o SSL como passaporte para poder chegar perto da área de login do administrador

Como eu poderia implementar o modelo acima? Eu praticamente preciso passo a passo com a geração de certificados e configuração do IIS. Não tenho certeza se preciso de algum tipo de autenticação baseada em janelas no topo da autenticação do site e algum tipo de mapeamento dos certificados de volta ao usuário do Windows.

Suponho que precisarei de utilizadores dedicados do Windows para cada administrador, com certificados sincronizados. Note que este é Win2k8 R2 + IIS 7.5, não troca ou domínio dirigido coisas, apenas um servidor simples, sem toda a porcaria AD.

    
por glasnt 04.07.2011 / 09:34

3 respostas

1

Você tem dois problemas separados.

  1. Crie uma maneira de gerar e manter seus certificados. Normalmente, isso significa instalar uma CA e usá-la para assinar certificados gerados pelo usuário. É um tópico bastante complexo, mas você pode começar instalando e compreendendo a função "Autoridade de Certificação" no Windows. NÃO instale isso na mesma máquina que seu servidor da Web.
  2. Implementando uma regra de autenticação de certificado de cliente no IIS 7.5. Isso não é muito complexo para fazer.

Aqui estão os detalhes sobre como configurar a autenticação de certificado de cliente no IIS 7.5:

  • No gerenciador de funções, instale o serviço de função do IIS chamado "Autenticação de mapeamento de certificado do cliente IIS"
  • Abra o gerenciador do IIS e selecione o site ou a pasta que você deseja proteger.
  • Abra o "editor de configuração" e navegue até a seção "system.webServer / security / authentication / iisClientCertificateMappingAuthentication".
  • Defina "ativado" para "verdadeiro".

Agora, você tem opções diferentes (ambas podem ser ativadas ao mesmo tempo): mapeamento de muitos para um e um para um. Veja esta documentação de como configurá-lo, mas basicamente , você cria uma versão codificada na base 64 de cada certificado que deseja aceitar, abre-a em um editor de texto, remove as linhas "begin certificate" e "end certificate", remove todas as quebras de linha e cria uma entrada de mapeamento no editor de configuração com o nome de usuário e a senha do Windows a serem usados para esse logon de certificado e usando a string que você acabou de criar no campo "certificado".

Usar o mapeamento homem-a-um é um pouco mais complexo porque você precisa especificar qual campo do certificado do cliente será usado para verificar um certificado de cliente (em vez de usar todo o certificado), mas pode ser mais fácil de manter você tem muitos usuários (já que você não precisará instalar todos os certificados individuais no servidor da web).

Além disso, saiba que todo certificado que você usa NEED para ser válido no servidor: você precisará instalá-los no armazenamento de certificados do sistema do servidor (não do usuário, do sistema) na seção "Pessoas confiáveis" (por certificados auto-assinados e de usuário), na "CA Raiz Confiável" (para raiz de certificado) ou na Autoridade de Certificação Intermediária "(para ICAs).

    
por 18.07.2011 / 10:19
1

Você precisará mapear os certificados do lado do cliente para a Autenticação do Windows (se isso for desejado). Você pode encontrar os seguintes dois artigos da Microsoft úteis. Eles têm um processo passo a passo. Um é um artigo do MSDN. O outro é um artigo da Base de Conhecimento de Suporte da Microsoft.

link

link

Espero que ajude.

    
por 15.07.2011 / 19:45
0

Meus pensamentos iniciais eram que você queria que o SSL fizesse algo para o qual ele não foi projetado, mas é claro que existem certificados de clientes ...

Veja este artigo no iisadmin.co.uk

link

-Lewis

    
por 15.07.2011 / 17:11