Criando um Arquivo de Configuração do Kerberos

O arquivo de configuração do Kerberos contém informações sobre configuração do cliente, incluindo os locais dos KDCs (Key Distribution Centers) para as regiões de interesse, padrões para a região atual do Kerberos e mapeamentos de nomes do host para regiões do Kerberos. Use o utilitário wsadmin para criar um arquivo de configuração Kerberos para o WebSphere Application Server.

Sobre Esta Tarefa

Nota: Não é possível usar o comando createkrbConfigFile wsadmin se não possuir um arquivo keytab do Kerberos (krb5.keytab).

Definições de configuração do Kerberos, o nome do centro de distribuição de chaves (KDC) do Kerberos, e as configurações de domínio para ambas, a autenticação da Web do Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) e a autenticação Kerberos são fornecidas no arquivo de configuração do Kerberos ou por meio das propriedades do sistema da Java™ virtual machine, java.security.krb5.kdc and java.security.krb5.realm.

Se você não tiver um arquivo de configuração do Kerberos (krb5.ini ou krb5.conf), deverá primeiro criar um arquivo de configuração do Kerberos e colocá-lo em cada instância em uma célula usando um comando wsadmin. Consulte os seguintes arquivos de configuração padrão do Kerberos e seus locais:
  • [Windows]O local padrão é c:\winnt\krb5.ini.
    Nota: Se o arquivo krb5.ini não estiver localizado no diretório c:\winnt, talvez esteja em c:\windows.
  • [Linux]O local padrão é /etc/krb5.conf.
  • [AIX][HP-UX][IBM i][Solaris][z/OS]Em outras plataformas Unix, o local padrão é /etc/krb5/krb5.conf.

Procedimento

  1. Inicie o utilitário de linha de comandos executando o comando wsadmin a partir do diretório app_server_root/bin.
  2. No prompt do wsadmin, digite o seguinte comando:
    $AdminTask help createKrbConfigFile 
  3. Especifique os parâmetros do comando createKrbConfigFile.
    Tabela 1. Parâmetros de Comando createKrbConfigFile.

    Esta tabela lista os parâmetros que podem ser usados com o comando createKrbConfigFile:

    Opção Descrição
    <krbPath> Necessário. Fornece o local completo do sistema de arquivos do arquivo de configuração do Kerberos (krb5.ini ou krb5.conf).
    <região> Necessário. Fornece o nome da região do Kerberos. O valor desse atributo é utilizado pelo SPNEGO para formar o nome do proprietário de serviço Kerberos para cada um dos hosts especificados com a propriedade com.ibm.ws.security.spnego.SPN<id>.hostName.
    <kdcHost> Necessário. Fornece o nome do host do KDC (Key Distribution Center) do Kerberos.
    <kdcPort> Opcional. Fornece o número da porta do Key Distribution Center do Kerberos. Se essa porta for omitida, o valor padrão será 88.
    <dns> Necessário. Uma lista de DNSs (domain name services) padrão, separada por uma barra vertical, que é usada para produzir um nome completo do host. O primeiro na lista é o serviço de nomes de domínio padrão.
    <keytabPath> Necessário. Fornece o local do sistema de arquivos do caminho e nome do arquivo keytab do Kerberos.
    <criptografia> Opcional. Identifica a lista de tipos de criptografia suportados, separada por uma barra vertical. O valor padrão é des-cbc-md5.
  4. Especifique um tipo de criptografia.
    Os seguintes tipos de criptografia são suportados:
    • des-cbc-md5
    • des-cbc-crc
    • des3-cbc-sha1
    • rc4-hmac
    • arcfour-hmac
    • arcfour-hmac-md5
    • aes128-cts-hmac-sha1-96
    • aes256-cts-hmac-sha1-96
    Atenção: Nem todas as soluções KDC disponíveis suportam todos os tipos de criptografia listados anteriormente. Antes de escolher um tipo de criptografia, certifique-se de que o KDC suporte o tipo de criptografia que você deseja utilizar, consultando o Guia do Administrador e do Usuário do Kerberos.

    Assegure-se de que você tenha um tipo de criptografia comum para o arquivo de configuração do Kerberos, o arquivo keytab do Kerberos, o nome do proprietário do serviço Kerberos e o cliente Kerberos. Por exemplo, se o cliente Kerberos usar o tipo de criptografia RC4-HMAC, o servidor de destino também deverá suportar o tipo de criptografia RC4-HMAC e o arquivo de configuração do Kerberos deverá listar o RC4-HMAC primeiramente em default_tgt_enctypes e default_tkt_enctypes.

  5. Especifique os tipos de locais krbPath e krbKeytab.
    O seguinte código é um exemplo do comando createKrbConfigFile:
    $AdminTask createKrbConfigFile {-krbPath c:/winnt/krb5.ini 
                                    -realm WSSEC.AUSTIN.IBM.COM 
                                    -kdcHost host1.austin.ibm.com 
                                    -dns austin.ibm.com|raleigh.ibm.com 
                                    -keytabPath c:/winnt/krb5.keytab}
    Nota: As variáveis do WebSphere também podem ser usadas para especificar os caminhos dos locais krbPath e krbKeytab para o comando createKrbConfigFile.
    Use este exemplo para criar o arquivo c:/winnt/krb5.ini:
    [libdefaults]
    	default_realm = WSSEC.AUSTIN.IBM.COM
    	default_keytab_name = FILE:c:\winnt\krb5.keytab
    	default_tkt_enctypes = rc4-hmac des-cbc-md5
    	default_tgs_enctypes = rc4-hmac des-cbc-md5
    	forwardable  = true
    	renewable  = true
    	noaddresses = true
    	clockskew  = 300
    [realms]
    	WSSEC.AUSTIN.IBM.COM = {
    		kdc = host1.austin.ibm.com:88
    		default_domain = austin.ibm.com
    	}
    [domain_realm]
    	.austin.ibm.com = WSSEC.AUSTIN.IBM.COM
    	.raleigh.ibm.com = WSSEC.AUSTIN.IBM.COM

    O comando createKrbConfigFile cria um arquivo de configuração simples do Kerberos. É possível editar esse arquivo, conforme necessário, para especificar uma preferência TCP ou UDP, ou quando você tiver um ambiente de região cruzada ou confiável.

    Na seção [libdefaults], é possível especificar uma preferência de protocolo TCP ou UDP. Por padrão, a configuração Java Kerberos usa o protocolo UDP. No entanto, Java Kerberos suporta uma configuração de protocolo TCP ou UDP usando o parâmetro udp_preference_limit. Se você precisar usar o protocolo TCP, especifique o parâmetro udp_preference_limit com um valor 1 para sempre usar o protocolo TCP. Exemplo:
    udp_preference_limit =1
    Se você não especificar esse parâmetro, a biblioteca de Java Kerberos usará o protocolo TCP apenas se o pedido de ticket Kerberos que está usando o protocolo UDP falhar e o KDC retornar o código de erro KRB_ERR_RESPONSE_TOO_BIG.
    Evitar Problemas Evitar Problemas: Quando o servidor de aplicativos recebe um pedido do cliente, a configuração do Kerberos no servidor poderá retornar uma reconfiguração de Conexão, uma IOException ou uma exceção de Canal Interrompido se você usar o protocolo TCP e o KDC retornar um pacote inválido. O servidor de aplicativos faz três tentativas para capturar o pacote Kerberos correto. Se um pacote Kerberos correto for retornado como resultado de uma das três tentativas, o pedido do cliente será processado com êxito e você poderá ignorar as exceções. Se o servidor de aplicativos não puder obter o pacote Kerberos correto depois de três tentativas, o pedido do cliente falhará. Neste ponto, revise as configurações do KDC, da rede e do servidor de aplicativos para determinar o problema.gotcha
  6. Conclua a seção [domain_realm] do arquivo de configuração do Kerberos para um ambiente de região cruzada
    • [domain_realm]: Fornece uma conversão de um nome de domínio ou nome de host para um nome de região. O nome da tag pode ser um nome de host ou nome de domínio. Os nomes de domínio são indicados por um prefixo ou ponto ('.'). O valor da relação é o nome da região para esse host ou domínio específico. Os nomes de host e de domínio devem estar em minúsculas.
      Se nenhuma entrada de conversão se aplicar, a região do host será considerada a parte de domínio do nome do host convertida em maiúsculas. Por exemplo, a seção [domain_realm] a seguir mapeia tech.ibm.com para a região TEST.AUSTIN.IBM.COM:
      [domain_realm]
      	.austin.ibm.com = WSSEC.AUSTIN.IBM.COM
      	.raleigh.ibm.com = WSSEC.AUSTIN.IBM.COM

      Todos os outros hosts nos domínios austin.ibm.com e .raleigh.ibm.com são mapeados para WSSEC.AUSTIN.IBM.COM, por padrão.

      O exemplo a seguir contém mais de um nome de região do Kerberos:
      [domain_realm]
             .ibm.com =AUSTIN.IBM.COM
             ibm.com =AUSTIN.IBM.COM
             tech.ibm.com =TEST.AUSTIN.IBM.COM
             .fubar.org =FUBAR.ORG

      Todos os outros hosts no domínio ibm.com são mapeados por padrão a região AUSTIN.IBM.COM e todos os hosts no domínio fubar.org são mapeados por padrão para a região FUBAR.ORG.

    Anote as entradas para os hosts, ibm.com e fubar.org. Sem essas entradas, esses hosts são mapeados para as regiões COM e ORG, respectivamente.

    Para autenticação de região cruzada confiável no mesmo nível, consulte o Guia do Administrador e do Usuário do Kerberos para obter informações sobre como configurar a autenticação de região cruzada confiável no KDC.

  7. Inclua informações sobre a região externa para as regiões e seções domain_realm do arquivo de configuração do Kerberos:
    [realms]
           AUSTIN.IBM.COM = {
                 kdc = kdc.austin.ibm.com:88
                 default_domain = austin.ibm.com
           }
           FUBAR.ORG = {
                 kdc = kdc.fubar.org:88
                 default_domain = fubar.org
           }
    [domain_realm]
           austin.ibm.com = AUSTIN.IBM.COM
           .austin.ibm.com = AUSTIN.IBM.COM
           fubar.org = FUBAR.ORG
           .fubar.org = FUBAR.ORG

    Em uma confiança transitiva, duas regiões confiarão uma na outra, se confiarem nas regiões intermediárias envolvidas na concessão de um bilhete. Se cada região envolvida na concessão do bilhete de serviço estiver presente no caminho confiável, o bilhete será confiável. Consulte o Guia do Administrador e do Usuário do Kerberos para obter informações sobre como configurar a confiança transitiva no KDC.

    Para configurar a confiança transitiva, regiões separadas com autenticação de região cruzada devem ser definidas entre A e B e entre B e C, mas não entre A e C. Com a confiança transitiva, REALMA e REALMC podem se comunicar, mas apenas por meio de REALMB.
    REALMA	<->	REALMB	<->	REALMC
  8. Inclua dados nas sub-rotinas. Inclua uma sub-rotina [capaths] em cada arquivo krb5.conf.
    Os arquivos krb5.conf em todas as máquinas devem listar todas as três regiões na sub-rotina [realms]. O REALMA deve listar a si mesmo e o REALMB e REALMC; o REALMB deve listar a si mesmo e o REALMA e REALMC; o REALMC deve listar a si mesmo e o REALMA e REALMB. Na sub-rotina [domain_realm] dos arquivos krb5.conf, liste todos os três nomes de host e nomes de região para que possa executar de REALMA para REALMC e de REALMC para REALMA.
    [capaths]
           REALMA.AUSTIN.IBM.COM = {
           		REALMB.AUSTIN.IBM.COM = .
           		REALMC.AUSTIN.IBM.COM = REALMB.AUSTIN.IBM.COM
                }
           REALMB.AUSTIN.IBM.COM = {
           		REALMC.AUSTIN.IBM.COM = .
           		REALMA.AUSTIN.IBM.COM = .
                }
           REALMC.AUSTIN.IBM.COM = {
           		REALMB.AUSTIN.IBM.COM = .
           		REALMA.AUSTIN.IBM.COM = REALMB.AUSTIN.IBM.COM
                }
  9. Configure a permissão de arquivo krb5.conf como 644.

    Isso significa que o arquivo permite leitura e gravação. Entretanto, os membros do grupo aos quais o arquivo pertence e todos os outros usuários podem apenas ler o arquivo.

    Como a configuração e o arquivo keytab do Kerberos são definidos pelas propriedades do sistema JVM, java.security.krb5.conf e KRB5_KTNAME, respectivamente, se a autenticação da Web do SPNEGO e a autenticação Kerberos estiverem ambas ativadas, use a mesma configuração e arquivos keytab do Kerberos para ambas.

Resultados

Você acabou de criar um arquivo de configuração Kerberos.

Í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_kerb_create_conf
Nome do arquivo: tsec_kerb_create_conf.html