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
É 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
- No console administrativo, clique em Segurança > Segurança Global.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 - 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.
- 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>;
- 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>
- 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.
- 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.
- Clique em Aplicar. Os critérios de filtragem e a classe de filtro serão validados se tiverem sido especificados.
- 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.
Subtópicos
Incluindo ou Modificando Filtros de Autenticação da Web de SPNEGO Utilizando o Console Administrativo
Os valores de filtro do SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) controlam os diferentes aspectos do SPNEGO. Você pode especificar diferentes valores de filtro para cada servidor de aplicativos utilizando o console administrativo.Ativação de Autenticação da Web de SPNEGO
É possível ativar o Simple and Protected GSS-API Negotiation (SPNEGO) como o autenticador da Web para o WebSphere Application Server.Valores do Filtro de Autenticação da Web de SPNEGO
Os valores do filtro de autenticação da Web de Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) controlam diferentes aspectos do SPNEGO. Utilize essa página para especificar diferentes valores de filtro para cada servidor de aplicativos.


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