Configurando a autenticação do Kerberos

Kerberos é um protocolo de autenticação seguro, baseado em tickets, projetado para fornecer autenticação de rede robusta para aplicações cliente-servidor utilizando criptografia de chave secreta.

Antes de começar

Observação: O recurso “ Kerberos ” pode ser solicitado em VDEV-196042 ( Kerberos Desktop SSO via krb5 ). Para solicitar esse recurso, entre em contato com seu representante de vendas da IBM ou com o contato da IBM e indique seu interesse em ativar essa funcionalidade. Você também pode criar um ticket de suporte com o número do recurso, caso tenha permissão para isso. IBM® Verify As assinaturas de avaliação não permitem a criação de tickets de suporte.
  • Deve-se ter permissão administrativa para concluir esta tarefa.
  • Faça login no console IBM Verify de administração como administrador. Para obter mais informações, consulte Acessando IBM Verify.

Sobre esta tarefa

Kerberos oferece três serviços essenciais de segurança: autenticação, autorização e contabilização. Isso ajuda a autenticar usuários em uma rede não segura sem transmitir senhas em texto simples. Isso permite que os usuários comprovem sua identidade uma única vez e, em seguida, acessem vários serviços sem precisar digitar novamente suas credenciais.

Vantagens de usar o site Kerberos :
  • Impede a transmissão de senhas pela rede.
  • Protege contra ataques de repetição (os carimbos de data e hora garantem que os ingressos sejam válidos por um período limitado).
  • Permite o login único, sendo, portanto, uma opção escalável para redes de grandes empresas.
Principais componentes do Kerberos
  1. Centro de Distribuição de Chaves (KDC)
    • Autoridade central de certificação
    • Contém dois componentes lógicos:
      • Servidor de autenticação (AS): Verifica a identidade do usuário
      • Servidor de Concessão de Bilhetes (TGS): Emite bilhetes de serviço
  2. Cliente: O usuário ou aplicativo que solicita acesso.
  3. Servidor de serviços: o recurso ao qual o cliente deseja acessar (por exemplo, servidor de arquivos, servidor de e-mail).
Como o SPNEGO funciona com o Kerberos
O SPNEGO (Mecanismo Simples e Protegido de Negociação GSS-API) é um protocolo complementar essencial que amplia a funcionalidade d Kerberos em ambientes heterogêneos.
A seguir, descreve-se o processo de autenticação quando um navegador acessa uma aplicação web protegida por Kerberos utilizando o SPNEGO:
  1. O cliente solicita acesso à aplicação web para um recurso da web.
  2. A solicitação é analisada pelo SPNEGO, que verifica se ela contém o cabeçalho de autorização exigido. Se a solicitação não contiver o cabeçalho ou se o cabeçalho não estiver de acordo com as especificações do GSS, será enviada uma resposta ao navegador indicando o próximo algoritmo de autenticação compatível. O processo continua até que o token necessário seja recebido automaticamente.
  3. O navegador agora solicita um bilhete de serviço d Kerberos e ao TGS no KDC.
  4. O TGS se conecta internamente aos usuários d Active Directory e retorna um ticket com validade limitada ao navegador.
  5. O ticket gerado pelo TGS agora é enviado no cabeçalho de autorização e analisado pelo SPNEGO. O SPNEGO obtém as informações do usuário e chama a API do GSS.
  6. A API carrega a configuração do Kerberos (Configuração do KRB5 ) e valida o bilhete. Se a validação for aprovada, a solicitação é enviada ao recurso da aplicação web.
  7. O recurso da aplicação web processa a solicitação e a resposta é enviada ao navegador.

Procedimento

  1. Faça login como administrador no Verify. Vá até o ícone do perfil e clique em “Alternar para administrador ”.
  2. Selecione Segurança > Kerberos.
  3. Faça o upload do .keytab arquivo. Consulte “Configurando o arquivo keytab” para obter mais detalhes.
    Um arquivo keytab (arquivo de tabela de chaves) é um arquivo que armazena entidades d Kerberos e e suas chaves criptografadas associadas. Isso permite que serviços e aplicativos se autentiquem automaticamente no Kerberos sem a necessidade de digitar senhas de forma interativa ou armazená-las em texto simples.

    O conteúdo do arquivo pode incluir entidades do Kerberos, chaves de criptografia, números de versão das chaves (KVNO) e tipos de criptografia.

  4. Digite o nome principal do serviço (SPN) no campo fornecido. Você pode adicionar vários SPNs. Consulte “Configurando o Nome do Entidade de Serviço” para obter mais detalhes.
    Um Nome Principal de Serviço (SPN) é um identificador exclusivo para uma instância de serviço em um ambiente do Serviço de Domínio Ativo ( Kerberos ). É basicamente o endereço que os clientes utilizam para solicitar tickets de autenticação para um serviço específico em execução em um servidor específico. Ele identifica os serviços de forma exclusiva e permite que os clientes solicitem os tickets de serviço corretos ao KDC.
    Nota:
    • Uma conta pode ter vários SPNs.
    • Cada SPN só pode ser registrado em uma conta.
    • SPNs duplicados causam falhas na autenticação.
  5. Selecione o provedor de identidade compatível no menu suspenso.
    Observação: O sistema lista todos os provedores de identidade, exceto IBMid e identidades sociais.
  6. Ative o provisionamento JIT (just-in-time) para criar ou atualizar uma conta de usuário no provedor de serviços na primeira vez que um usuário se autenticar com IBM Verify. Utilize o provisionamento JIT nos casos em que o provedor de serviços não exija que as informações de identidade do usuário sejam criadas ou conhecidas por ele antes de o usuário tentar acessar o provedor de serviços.
  7. Regra de mapeamento de usuários : Você pode usar o editor CELx para definir uma expressão que transforme o Kerberos userPrincipalName durante o provisionamento de usuários, utilizando o formato: {"p": {"username": [$expression$]}} onde $expression representa sua expressão personalizada.
    Por exemplo,
    {"p": {"username": [requestContext.userPrincipalName[0].split('@')[0]]}}
    Regras de Avaliação do CEL
    • A expressão CEL deve retornar JSON. Se for retornado qualquer outro tipo de dados, a solicitação falhará
    • Se a expressão CEL for inválida ou incorreta, a avaliação falhará.
    Nota:
    • Por padrão, se o provedor de identidade for selecionado como “Cloud directory” e a expressão CEL não modificar explicitamente a fonte, o provedor de identidade selecionado será considerado.
    • Se o provedor de identidade for definido explicitamente por meio do CEL, ele terá prioridade sobre o provedor de identidade selecionado.
    • O mesmo comportamento se aplica a outras fontes de identidade, como o SAML ou o OIDC.
    Consulte “Funções de atributos” para obter mais detalhes.
  8. Certifique-se de que a regra funcione.
    1. Selecione Exibir.
      Um exemplo de editor de JSON mostra o userPrincipalName.
    2. Selecione “Executar teste ”.
    3. Verifique se um valor correto é retornado na seção Resultados.
      Para obter mais informações sobre como criar regras personalizadas, consulte Funções de atributos.
    4. Selecione “Salvar ”.