10.12.2. Uso do LDAP para Autenticação das Interfaces de Gerenciamento


Para uso do servidor do diretório LDAP como fonte de autenticação para o Console de Gerenciamento, CLI de Gerenciamento ou API de Gerenciamento, você precisa executar os seguinte procedimentos:
  1. Criação de uma conexão outbound para o servidor LDAP.
  2. Crie um realm de segurança habilitado LDAP.
  3. Referencie o novo security domain na Interface de Gerenciamento.
Criação da Conexão Outbound a um Servidor LDAP

A conexão outbound LDAP permite os seguintes atributos:

Expand
Tabela 10.1. Atributos de uma Conexão Outbound LDAP
Função Solicitado Descrição
url sim
O endereço URL do servidor do diretório.
search-dn sim
O distinguished name (DN - nome distinguido) do usuário autorizado a executar as buscas.
search-credentials sim
A senha do usuário autorizado a executar as buscas.
initial-context-factory não
A criação do contexto inicial para uso quando estabelecendo a conexão. O default é com.sun.jndi.ldap.LdapCtxFactory.
security-realm não
O security realm de referência para obter um SSLContext configurado para uso quando estabelecendo a conexão.

Exemplo 10.13. Adição de uma Conexão Outbound LDAP

Esta amostra adiciona uma conexão outbound com o seguinte conjunto de propriedades:
  • DN de busca: cn=search,dc=acme,dc=com
  • Credencial de busca: myPass
  • URL: ldap://127.0.0.1:389
O primeiro comando adiciona o security realm.
/host=master/core-service=management/security-realm=ldap_security_realm:add
Copy to Clipboard Toggle word wrap
O segundo comando adiciona a conexão LDAP.
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com")
Copy to Clipboard Toggle word wrap
Criação de um Realm de Segurança Habilitado LDAP

As Interfaces de Gerenciamento podem autenticar em relação ao servidor LDAP ao invés do arquivo de propriedade baseado nos realms de segurança configurados por default. O autenticador LDAP opera primeiramente estabelecendo uma conexão ao servidor do diretório remoto. Ele então executa uma busca usando o nome do usuário que o usuário passou ao sistema de autenticação, com o objetivo de encontrar o distinguished name (DN - nome distinguido) inteiramente qualificado. Uma nova conexão é estabelecida usando o DN do usuário como credencial e senha suprida pelo usuário. Caso esta autenticação ao servidor LDAP for bem sucedida, o DN é confirmado como válido.

O realm de segurança LDAP precisa dos seguintes atributos de configuração e elementos com o objetivo de executar suas funções.
conexão
O nome da conexão definido no <outbound-connections> para uso da conexão ao diretório LDAP.
base-dn
O nome distinguido do contexto para iniciar a busca pelo usuário.
recursivo
Se é que a busca deve ser recursiva através da árvore do diretório LDAP ou apenas buscar o contexto especificado. O default é false.
user-dn
O atributo do usuário que mantém o nome distinguido. Isto é subsequentemente usado para testar a autenticação assim que usuário puder completar. O default é dn.
Um dos username-filter ou advanced-filter como um elemento filho
O username-filter leva um atributo único chamado attribute, cujo valor é o nome do atributo LDAP que mantém o nome do usuário, tal como o userName ou sambaAccountName.
O advanced-filter leva um único atributo chamado filter. Este atributo contém uma fila de filtro na sintaxe do LDAP default. Recomendamos cuidado ao sair de qualquer caractere & alterando-os pelo &amp;. Segue abaixo uma amostra de um filtro:
(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))
Copy to Clipboard Toggle word wrap
Após sair do caractere ampersand, o filtro aparece como:
(&amp;(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))
Copy to Clipboard Toggle word wrap

Exemplo 10.14. Representação XML de um Realm de Segurança habilitado LDAP

Essa amostra usa os seguintes parâmetros:
  • connection - ldap_connection
  • base-dn - cn=users,dc=acme,dc=com.
  • username-filter - attribute="sambaAccountName"
<security-realm name="ldap_security_realm">
   <authentication>
      <ldap connection="ldap_connection" base-dn="cn=users,dc=acme,dc=com">
         <username-filter attribute="sambaAccountName" />
      </ldap>
  </authentication>
</security-realm>	


Copy to Clipboard Toggle word wrap

Atenção

É importante certificar-se de que você não permita as senhas LDAP vazias (a não ser que você as deseje especificamente no seu ambiente, uma vez que elas implicam em sérios critérios de segurança).
O EAP 6.1 inclui um caminho para o CVE-2012-5629, que determina a opção allowEmptyPasswords para os módulos de login LDAP para falso, caso esta opção já não esteja configurada. Para as versões antigas, esta opção deve ser configurada manualmente.

Exemplo 10.15. Adição de um Realm de Segurança LDAP

O comando adiciona o realm de segurança e determina seus atributos para o servidor autônomo.
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap:add(base-dn="DC=mycompany,DC=org", recursive=true, username-attribute="MyAccountName", connection="ldap_connection")
Copy to Clipboard Toggle word wrap
Aplicação do Novo Realm de Segurança à Interface de Gerenciamento

Após você criar um realm de segurança, você precisa referenciá-lo na configuração de sua interface de gerenciamento. A interface de gerenciamento usará o realm de segurança para a autenticação de resumo HTTP.

Exemplo 10.16. Aplicação do Realm de Segurança à Interface HTTP

Após esta configuração estiver pronta e você restaurar o controlador do host, o Console de Gerenciamento baseado na web usará o LDAP para autenticação de seus usuários.
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap-security-realm)
Copy to Clipboard Toggle word wrap
Configuração de um Managed Domain Associado para Autenticação usando o Microsoft Active Directory

Com o objetivo de configurar um managed domain para autenticação ao Microsoft Active Directory, siga este procedimento, que cria um security domain e mapeia as funções aos grupos Active Directory usando a autenticação JAAS. Este procedimento Microsoft Active Directory permite o binding com uma senha vazia. Este procedimento previne que uma senha vazia seja usada com uma plataforma do aplicativo.

Antes de executar este procedimento, você precisa saber o nome de seu host controller. Esta amostra assume que o host controller é nomeado master.
  1. Adicione um <security-realm> nomeado ldap_security_realm e configure-o para uso do JAAS.

    Os seguintes comandos do CLI de Gerenciamento adicionam um novo realm de segurança e determinam o mecanismo de autenticação. Altere o nome do host conforme solicitado.
    /host=master/core-service=management/security-realm=ldap_security_realm/:add
    Copy to Clipboard Toggle word wrap
    /host=master/core-service=management/security-realm=ldap_security_realm/authentication=jaas/:add(name=managementLDAPDomain)
    Copy to Clipboard Toggle word wrap
  2. Configuração do <http-interface> para uso do novo realm de segurança.

    O seguinte comando do CLI de Gerenciamento configura a interface HTTP.
    /host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap_security_realm)
    Copy to Clipboard Toggle word wrap
  3. Configuração do JBoss Enterprise Application Platform para adição da configuração JAAS personalizada aos seus parâmetros de inicialização.

    Edite o arquivo EAP_HOME/bin/domain.conf. Busque pela variával HOST_CONTROLLER_JAVA_OPTS. Isto é aonde você adiciona as diretivas para o JVM que são necessárias antes do JBoss Enterprise Application Platform iniciar. Segue abaixo uma amostra dos conteúdos default deste parâmetro:
    HOST_CONTROLLER_JAVA_OPTS="$JAVA_OPTS"
    
    Copy to Clipboard Toggle word wrap
    Adicione a seguinte diretiva à linha: -Djava.security.auth.login.config=/opt/jboss-eap-6.0/domain/configuration/jaas.conf"
    A linha editada é parecida ao seguinte:
    -Djava.security.auth.login.config=/opt/jboss-eap-6.0/domain/configuration/jaas.conf"
    
    Copy to Clipboard Toggle word wrap
  4. Adicione o módulo de login às opções do módulo.

    No mesmo arquivo, encontre a linha contendo o seguinte:
    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman"
    Copy to Clipboard Toggle word wrap
    Altere a linha para leitura conforme abaixo. Certifique-se de não inserir quaisquer espaços extra.
    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.sun.security.auth.login"
    Copy to Clipboard Toggle word wrap
    Salve e encerre o arquivo domain.conf.
  5. Crie a configuração JAAS que será adicionada ao classpath.

    Crie um novo arquivo na seguinte localização: EAP_HOME/domain/configuration/jaas.conf
    O arquivo deve conter os seguintes conteúdos. Edite os parâmetros para coincidirem com o seu ambiente.
    managementLDAPDomain {
        org.jboss.security.auth.spi.LdapExtLoginModule required
            java.naming.factory.initial="com.sun.jndi.ldap.LdapCtxFactory"
            java.naming.provider.url="ldap://your_active_directory_host:389"
            java.naming.security.authentication="simple"
            bindDN="cn=Administrator,cn=users,dc=domain,dc=your_company,dc=com"
            bindCredential="password"
            baseCtxDN="cn=users,dc=domain,dc=redhat,dc=com"
            baseFilter="(&(sAMAccountName={0})(|(memberOf=cn=Domain Guests,cn=Users,dc=domain,dc=acme,dc=com)(memberOf=cn=Domain Admins,cn=Users,dc=domain,dc=acme,dc=com)))"
            allowEmptyPasswords="false"
            rolesCtxDN="cn=users,dc=domain,dc=acme,dc=com"
            roleFilter="(cn=no such group)"
            searchScope="SUBTREE_SCOPE";
    };
    
    Copy to Clipboard Toggle word wrap
  6. Reinicie o JBoss Enterprise Application Platform e sua interface HTTP usará o seu servidor LDAP para autenticação.
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat