Implementando a Conexão Única Usando o SPNEGO em um Domínio do Active Directory

Um mecanismo Simple and Protected GSS-API Negotiation (SPNEGO) é fornecido para implementar conexão única em domínios do Active Directory

Antes de Iniciar

Esta tarefa requer os seguintes elementos em sua rede:

Os procedimentos a seguir incluem exemplos baseados na seguinte configuração:
  • mycompany.com é o nome do domínio TCP/IP usado por todos os hosts no domínio.
  • ITDEV.COM é o nome do domínio do Active Directory.
  • it_directory.mycompany.com é o host em que o servidor de diretório é executado. Ele executa também o Kerberos KDC.
  • it_domain.mycompany.com é o host em que o controlador de domínio do Active Directory é executado.
  • it_buildforge.mycompany.com é o host em que o Build Forge está instalado.
  • bfuser é o nome de usuário do domínio para o sistema do Build Forge.
  • happy_user é o nome de usuário do domínio para um exemplo de usuário que usará o SSO em um navegador da Web para acessar o Build Forge.

Sobre Esta Tarefa

Execute as tarefas a seguir para implementar o SPNEGO SSO em um domínio do Active Directory e no KDC. Cada uma recebe uma seção com procedimentos detalhados.
Nota: O interceptor SPNEGO pode ser usado com KDCs diferentes do Active Directory.

Procedimento

  1. Configure os usuários e os proprietários de serviço do Active Directory.
  2. Configure os arquivos do Kerberos.
  3. Configure o Build Forge para usar Active Directory e SPNEGO.
  4. Configure os clientes do navegador para acesso seguro.
  5. Acesse o Build Forge por meio de SSO.

Configurando Usuários e Proprietários de Serviço do Active Directory

O servidor e os clientes do Build Forge devem ser configurados em um domínio do Active Directory.

Antes de Iniciar

Ferramentas de suporte para Windows 2003 SP2 são necessárias para o procedimento a seguir. Elas contêm o comando setspn, que é necessário para definir um proprietário de serviço no Active Directory. Instale as Ferramentas de Suporte pelo CD do produto Windows Server 2003 ou pelo Centro de Download da Microsoft.

Sobre Esta Tarefa

Quando o cliente e o servidor do Build Forge estão em um domínio do Active Directory, um usuário gera uma token de credenciais do Kerberos ao efetuar login em um host do Windows. Quando o usuário tenta acessar o servidor Build Forge, o interceptor SPNEGO recebe o token do usuário e o valida. A identidade validada é transmitida ao Build Forge para executar um login por meio do servidor LDAP configurado do Microsoft Active Directory.

Procedimento

  1. Efetue logon no host do controlador de domínio. No exemplo, o host é it_example.mycompany.com.
  2. Inclua o host do Build Forge no domínio do Active Directory se ele não for um membro ainda. Nesse exemplo, inclua o host it_buildforge no domínio ITDEV.COM. O host agora tem um nome completo no domínio: it_buildforge.ITDEV.COM
  3. Inclua um usuário do Build Forge no domínio do Active Directory. Nesse exemplo, crie o usuário bfuser.
    Importante:
    • Selecione A senha nunca expira. Você pode selecionar outro gerenciamento de senha. Porém, você precisará inserir uma nova senha para o servidor Build Forge sempre que ela expirar.
    • Na guia Contas, selecione A conta é confiável para delegação
  4. Se elas não existirem, crie contas do usuário no Microsoft Active Directory para todos os clientes. Nesse exemplo, há um usuário a ser criado, happy_user.
  5. Crie um nome de proprietário de serviço (SPN) para o Build Forge. No exemplo, o usuário do Active Directory bfuser está associado ao nome do serviço HTTP/it_buildforge.mycompany.com para criar o SPN para o servidor do Build Forge, it_buildforge.
    setspn -A HTTP/it_buildforge.mycompany.com bfuser

    HTTP é o nome do serviço do Build Forge.

Configurando Arquivos para Autenticação do Kerberos

Um arquivo de inicialização (arquivo de configuração do cliente Kerberos) e um arquivo keytab precisam ser configurados no host do Build Forge.

Procedimento

  1. Configure o arquivo de inicialização no host em que o Build Forge é executado.
    • Sistemas Windows:
      • Nomeie o arquivo krb.ini e coloque-o em C:\winnt. Crie C:\winnt se ele não existir.
      • Defina default_keytab_name como FILE:C:\winnt\krb5.keytab.
    • Sistemas UNIX e Linux:
      • Nomeie o arquivo krb.conf e coloque-o em C:\winnt.
      Defina default_keytab_name como FILE:/etc/krb5.keytab.

    O arquivo de exemplo a seguir foi configurado para o Windows usando as configurações de domínio e região dos sistemas de exemplo.

    [libdefaults]
    	default_realm = ITDEV.COM
    	default_keytab_name = FILE:C:\winnt\krb5.keytab
    	default_tkt_enctypes = rc4_hmac
    	default_tgs_enctypes = rc4_hmac
    #	kdc_default_options = 0x40800000
    	forwardable  = true
    	renewable  = true
    	noaddresses = true
    	clockskew  = 300
    [realms]
    	ITDEV.COM = {
    		kdc = it_directory.itdev.com:88
    		default_domain = mycompany.com
    [domain_realm]
    	.mycompany.com = ITDEV.COM
    Nota: Os tokens não funcionarão se a diferença de relógio entre os hosts do cliente e o host do servidor Build Forge for superior a 300 segundos. Defina a hora, a data e o fuso horário dentro dos limites de diferença nos hosts de cliente e servidor.
  2. Configure um arquivo keytab do Kerberos. O arquivo keytab é usado pelo servidor Build Forge para validar tokens Kerberos quando um cliente tenta acessar a URL do servidor Build Forge. Use o comando ktpass no host do Controlador de Domínio para criar o arquivo. O comando ktpass é incluído no kit de ferramentas de recursos de pré-requisito do Windows. O exemplo a seguir usa o nome de proprietário do serviço do Build Forge e o nome de usuário do Active Directory configurado para o Build Forge no cenário de exemplo. Substitua sua própria senha por -pass Rat1onal. Quebras de linha são mostradas no exemplo para maior clareza. Não use-as em seu comando ktpass.
    ktpass -out C:\it_buildforge.keytab 
    -princ HTTP/it_buildforge.mycompany.com@ITDEV.COM 
    -mapuser bfuser -mapop set 
    -pass Rat1onal /crypto RC4-HMAC-NT /rndpass /ptype KRB5_NT_SRV_HST
    Renomeie it_buildforge.keytab para krb5.keytab e coloque-o no host do Build Forge no diretório que contém o arquivo de inicialização do Kerberos.
    • Windows: C:\winnt\
    • UNIX e Linux: /etc

Configurando o Build Forge para Usar Active Directory e SPNEGO

Procedimento

  1. No Build Forge, configure o LDAP para apontar para o controlador de domínio do Active Directory.
    1. No Build Forge, clique em Administração > LDAP.
    2. Configure o acesso ao controlador de domínio criando uma nova configuração LDAP e definindo as propriedades conforme a seguir.
      • Nome: defina como o nome do domínio do Active Directory. No ambiente de exemplo, seria itdev.
      • DN do administrador: defina como um usuário administrador no domínio.
      • Mapear Grupos de Acesso: Não
      • Host: defina como o endereço IP do host do controlador de domínio.
      • Ligar Conta do Usuário: Sim
      • Protocolo: LDAP
      • Nome de Exibição: displayname
      • Nome Distinto: distinguishedname
      • Nome do Grupo: memberof
      • Nome de Correio: displayname
      • Base de Procura: on=users,do=domainname,do=domainextension. No ambiente de exemplo, seria on=users,do=itdev,do=.com
      • Identificador Exclusivo: sAMAccountNames=%
    3. Clique em Tornar Padrão. Essa configuração precisa ser a configuração LDAP padrão.
  2. Defina as variáveis de ambiente do Build Forge para SPNEGO.
    1. No Build Forge, acesse Ambientes > Ambiente para SPNEGO SSO.
    2. Defina bf_spnego_service_name como HTTP Isso corresponde ao nome do proprietário de serviço.
    3. Defina bf_spnego_server_name como it_buildforge.mycompany.com, o nome completo do host do servidor Build Forge. Se essa variável não for definida, as APIs INetAddress tentarão localizar o nome do host.
    4. Defina bf_spnego_realm como ITDEV.COM, o nome da região do Kerberos. Se essa variável não for definida, o valor no arquivo de inicialização do Kerberos será usado.
  3. Ative o interceptor do SPNEGO.
    1. No Build Forge, vá para Administração > Segurança > SSO > Interceptor do SPNEGO SSO.
    2. Configure a propriedade Ativa como Sim e, em seguida, clique em Salvar.
    3. Em Administração > Segurança > SSO, mova Interceptor do SPNEGO SSO para o início da lista. Use a seleção Mover para Cima no menu Opções de SSO para Interceptor do SPNEGO SSO; em seguida, clique em Salvar.

Configurando Navegadores do Cliente para SSO

Os navegadores do cliente devem ter as configurações de segurança definidas para usar o SPNEGO.

Sobre Esta Tarefa

Use as instruções de configuração do cliente para o navegador usado para acessar o Build Forge, Microsoft Internet Explorer ou Mozilla Firefox.

Procedimento

Acessar o Build Forge Usando SSO

Digite a URL do servidor para testar o login usando SSO.

Procedimento

  1. Efetue logon em um host que esteja no domínio do Active Directory, usando um nome de usuário que esteja na lista de usuários do Active Directory.
  2. Abra seu navegador.
  3. Digite a URL para o host do servidor Build Forge. Usando a configuração de exemplo, seria http://it_buildforge.mycompany.com. Se o SSO estiver configurado corretamente, você verá o console de gerenciamento do Build Forge.
  4. Verifique se o nome do usuário mostrado na parte superior direita do console do Build Forge corresponde ao nome de login do Windows do cliente.

Feedback