Ativando e Configurando a Autenticação da Web SPNEGO Usando o Console Administrativo

É possível ativar e configurar o Simple and Protected GSS-API Negotiation (SPNEGO) como o autenticador da Web para o servidor de aplicativos usando o console administrativo.

Antes de Iniciar

Nota: Você deve ter concluído as etapas descritas no Criando uma Conexão Única para Pedidos de HTTP Utilizando a Autenticação da Web SPNEGO antes de ativar a autenticação da Web SPNEGO usando o console administrativo.

É necessário ter um arquivo keytab Kerberos (krb5.keytab) contendo o service principal name Kerberos, HTTP/<fully qualified hostname>@KerberosReam, para qualquer WebSphere Application Server que processa um pedido de HTTP.

Procedimento

  1. No console administrativo, clique em Segurança > Segurança Global.
  2. Em Autenticação, expanda Segurança da Web e do SIP e, em seguida, clique em Autenticação da Web de SPNEGO.
    Nota: Você deve configurar o filtro antes de ativar a autenticação da Web SPNEGO.
  3. Opcional: Selecione a opção Atualizar o SPNEGO dinamicamente se você desejar atualizar dinamicamente o tempo de execução do SPNEGO quando ocorrerem alterações do SPNEGO sem reiniciar o servidor de aplicativos.
  4. Selecione Ativar SPNEGO para ativar o Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) como o autenticador da Web para o WebSphere Application Server. As opções Atualizar o SPNEGO dinamicamente e Permitir alternar para o mecanismo de autenticação do aplicativo estão desativadas, a menos que você selecione Ativar o SPNEGO.
  5. Opcional: Quando você selecionar Permitir alternar para o mecanismo de autenticação do aplicativo, se a autenticação SPNEGO falhar, o mecanismo de autenticação definido durante o tempo de montagem do aplicativo será utilizado.
  6. Digite o nome do arquivo de configuração do Kerberos com seu caminho completo, ou clique em Procurar para localizá-lo. O arquivo de configuração do cliente do Kerberos, krb5.conf ou krb5.ini, contém informações de configuração do Kerberos, incluindo os locais dos KDCs (Key Distribution Centers) para a região de interesse. O arquivo krb5.conf é o nome padrão para todas as plataformas, exceto o sistema operacional Windows, que utiliza o arquivo krb5.ini.
  7. Opcional: Digite o nome do arquivo keytab do Kerberos com seu caminho completo, ou clique em Procurar para localizá-lo. O arquivo keytab do Kerberos contém um ou mais nomes e chaves de proprietário de serviço Kerberos. O arquivo keytab padrão é krb5.keytab. É importante para os hosts protegerem seus arquivos keytab Kerberos armazenando-os no disco local, o que os torna legíveis apenas aos usuários autorizados. Consulte Criação de um Nome do Principal Serviço Kerberos e um Arquivo keytab para obter mais informações. Se você não especificar esse parâmetro, o nome de região do Kerberos padrão no arquivo de configuração do Kerberos será utilizado.
  8. Em filtros do SPNEGO, selecione um nome de host existente para ser editado ou selecione Novo para criar um novo. Por convenção, um nome de proprietário de serviço (SPN) Kerberos é dividido em três partes: o nome principal, o da instância e o da região do Kerberos. O nome do serviço SPNEGO deve ser HTTP, de modo que o nome do principal de serviço Kerberos para a Web SPNEGO seja HTTP/<nome completo do host>@KERBEROS_REALM. O SPN é utilizado para validar o token SPNEGO de entrada e para estabelecer o contexto de segurança com um solicitante.
    1. Necessário: Na próxima página, digite um nome completo de host no campo Nome do Host. O nome do host faz parte do service principal name (SPN) do Kerberos, HTTP/<fully qualified host name>, utilizado pelo SPNEGO para estabelecer um contexto seguro Kerberos. Para cada entrada de filtro, o código de configuração forma o service principal name Kerberos como HTTP/<fully qualified host name>@KERBEROS_REALM, a região do Kerberos que você deve especificar na próxima etapa. O keytab Kerberos deve conter esse proprietário do serviço Kerberos e suas chaves.
    2. Opcional: No campo Nome da Região do Kerberos, digite o nome da região do Kerberos. Na maioria dos casos, a região é o nome do domínio em letras maiúsculas. Por exemplo, uma máquina com o nome de domínio de test.austin.ibm.com possui um nome de região do Kerberos de AUSTIN.IBM.COM. Se você não especificar esse parâmetro, o nome da região do Kerberos padrão no arquivo de configuração do Kerberos será utilizado.
    3. Digite um critério de filtragem no campo Critério de Filtragem. O critério de filtragem é o parâmetro de filtragem utilizado pela classe Java™ utilizada pelo SPNEGO. Ele define os critérios arbitrários que são significativos para a classe de implementação utilizada.

      A classe de implementação padrão com.ibm.ws.security.spnego.HTTPHeaderFilter utiliza essa propriedade para definir uma lista de regras de seleção que representam condições que são correspondidas com os cabeçalhos de um pedido de HTTP para determinar se ele está selecionado, ou não, para autenticação SPNEGO.

      Cada condição é especificada com um par chave-valor, separados um do outro por um ponto-e-vírgula. As condições são avaliadas da esquerda para a direita, à medida que são exibidas na propriedades especificada. Se todas as condições forem satisfeitas, o pedido HTTP será selecionado para a autenticação SPNEGO.

      A chave e o valor no par chave-valor são separados por um operador que define qual condição será verificada. A chave identifica um cabeçalho de pedido HTTP a ser extraído do pedido e seu valor é comparado com o valor especificado no par chave-valor de acordo com a especificação do operador. Se o cabeçalho identificado pela chave não estiver presente no pedido HTTP, a condição será tratada como não sendo satisfeita.

      Qualquer um dos cabeçalhos de pedido HTTP padrão pode ser utilizado como chave nos pares chave-valor. Consulte a especificação HTTP para a lista de cabeçalhos válidos. Além disso, duas chaves são definidas para extrair informações do pedido, também útil como um critério de seleção, que não está disponível por meio dos cabeçalhos do pedido HTTP padrão. A chave de endereço remota é utilizada como um pseudo cabeçalho para recuperar o endereço TCP/IP remoto do aplicativo cliente que enviou o pedido HTTP. A chave pedido-URL é utilizada como um pseudo cabeçalho para recuperar a URL utilizada pelo aplicativo cliente para fazer o pedido. O interceptor utiliza o resultado da operação getRequestURL na interface javax.servlet.http.HttpServletRequest para construir o endereço da Web. Se uma cadeia de consulta estiver presente, o resultado da operação getQueryString na mesma interface também será utilizada. Nesse caso, a URL é construída como segue:
      String url = request.getRequestURL() + ‘?' + request.getQueryString();
      Tabela 1. Condições e Operações do Filtro.

      Essa tabela descreve as condições e operações de critério de filtragem.

      Condition Operador Por exemplo:
      Corresponder exatamente ==

      Os argumentos são comparados como iguais.

      host==host.my.company.com
      Corresponder parcialmente (inclusões) %=

      Os argumentos são comparados com uma correspondência parcial como válidos.

      user-agent%=IE 6
      Corresponder parcialmente (inclui um de muitos) ^=

      Os argumentos são comparados com uma correspondência parcial como válidos para um de muitos argumentos especificados.

      request-url^=webApp1|webApp2|webApp3
      Não corresponder !=

      Os argumentos são comparados como não iguais.

      request-url!=noSPNEGO
      Maior que >

      Os argumentos são comparados lexograficamente como maiores que.

      remote-address>192.168.255.130
      Menor que <

      Os argumentos são comparados lexograficamente como menores que.

      remote-address<192.168.255.135
    4. No campo Classe de Filtro, digite o nome da classe Java que é usada pelo SPNEGO para selecionar quais solicitações de HTTP estão sujeitos à autenticação da Web SPNEGO. Se você não especificar esse parâmetro, a classe de filtro padrão, com.ibm.ws.security.spnego.HTTPHeaderFilter, será utilizada.
    5. Opcional: No campo URL da página de erro de SPNEGO não suportado, você pode opcionalmente digitar a URL de um recurso que possui o conteúdo que o SPNEGO inclui na resposta de HTTP exibida pelo aplicativo cliente (navegador) se não suportar a autenticação SPNEGO. Essa propriedade pode especificar um recurso da Web (http://) ou um arquivo (file://).
      Se o campo URL da página de erro SPNEGO não suportada não for especificado, ou o SPNEGO autenticado não puder localizar o recurso especificado, o seguinte conteúdo será utilizado:
      <html><head><title>A
      autenticação SPNEGO não é suportada</title></head>
      <body>SPNEGO authentication is not supported on this client</body></html>;
    6. Opcional: No campo URL da página de erro de token NTLM recebido, você pode opcionalmente digitar a URL de um recurso que possui o conteúdo que o SPNEGO inclui na resposta de HTTP, exibida pelo aplicativo cliente do navegador. O aplicativo cliente do navegador exibe essa resposta de HTTP quando o cliente do navegador envia um token NTLM (NT LAN Manage) em vez do token SPNEGO esperado durante o handshake de contestação/resposta.
      Se o campo URL da página de erro de token NTLM recebido não for especificado, ou o SPNEGO autenticado não puder localizar o recurso especificado, o seguinte conteúdo será utilizado:
      <html><head><title>Um Token NTLM foi recebido. </title></head>
      <body>Sua configuração do navegador está correta, mas você não
      efetuou login num
      Microsoft(R) Windows(R) Domain suportado.
      <p>Efetue login no aplicativo utilizando a página de login normal. </html>
    7. Opcional: Selecione Eliminar Região do Kerberos do Nome do Proprietário para especificar se o SPNEGO removerá o sufixo do nome do usuário do proprietário, começando pelo @ que antecede o nome da região do Kerberos. Se essa opção for selecionada, o sufixo do nome do usuário proprietário será removido. Se esse atributo não for selecionado, o sufixo do nome do proprietário será mantido. O padrão é essa opção não ser selecionada.

    8. Opcional: Selecione Ativar Delegação de Credenciais Kerberos para indicar se as credenciais delegadas pelo Kerberos são armazenadas pela autenticação da Web de SPNEGO. Se o cliente for enviado para a credencial da delegação Kerberos, o SPNEGO extrairá GSSCredential e salvará no assunto. O KRBAuthnToken será criado com o nome Kerberos principal do cliente e delegará um ticket Kerberos se o cliente enviou a credencial da delegação Kerberos como parte do pedido. A GSSCredential não é serializável, portanto, não pode ser propagada para o servidor de recebimento de dados e é perdida durante a serialização e a desserialização. Entretanto, o KRBAuthnToken é serializável e pode ser propagado para um servidor de recebimento de dados. Se um aplicativo customizado precisar da credencial GSSCredential para autenticação com recursos backend ou um servidor de recebimento de dados, ele deverá recuperá-la do KRBAuthnToken utilizando o método com.ibm.wsspi.wssecurity.platform.token.KRBAuthnToken.getGSSCredential() e colocá-la no assunto.
      Nota: Se você não marcar essa opção, o KRBAuthnToken terá apenas o nome do Kerberos principal.
  9. Clique em Aplicar. Os critérios de filtragem e a classe de filtro serão validados se tiverem sido especificados.
  10. Clicar em OK. Isso conclui a página Autenticação da Web de SPNEGO.

Resultados

O SPNEGO está agora ativado como o autenticador da Web para o servidor de aplicativos.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_SPNEGO_config
Nome do arquivo: tsec_SPNEGO_config.html