Servidor LDAP
Índice
A utilização da forma de logon via LDAP e NTLM consiste no acesso aos sistemas com o mesmo Usuário/Senha de acesso a rede, criado no servidor Active Directory (AD). A autenticação LDAP abre uma conexão com o servidor AD utilizando o usuário/senha cadastrado. Após conectar ao servidor, é executado um Search utilizando o BaseDN, filtro de busca e escopo de busca cadastrados, onde o caracter especial "%s" do filtro de busca será substituído pelo login do usuário. Por exemplo, com o filtro definido e que o nome do usuário seja "Senior", então o filtro de busca utilizado será "(&(objectclass=user)(cn=Senior))". Se o Search não retornar nenhum registro, é exibida mensagem de que o usuário não existe. Caso o search retornar vários registros será exibida uma mensagem de erro, e se o search retornar somente um registro, o atributo DN de retorno será utilizado juntamente com a senha digitada pelo usuário para fazer um novo Bind no servidor AD. Caso este Bind seja executado com sucesso, o usuário estará autenticado. Após autenticar o usuário, é verificado se este usuário existe na base de dados da Senior, se existir então a entrada no sistema prosseguirá normalmente, senão será respeitada a configuração de permitir criar novos usuários automaticamente.
A autenticação NTLM também conecta ao servidor da mesma forma que a autenticação LDAP, porém em vez de executar um Search e um Bind com o login/senha digitado pelo usuário, são utilizados recursos do sistema operacional que retornam se o usuário/senha corrente é válido ou não. Após autenticar o usuário o mesmo procedimento já descrito na autenticação LDAP é executado.
No momento do logon o sistema utiliza algumas API's do Windows para comunicação com o servidor AD, abaixo lista de API's e para que são utilizadas:
•ldap_init(Host, Port): Cria conexão;
•ldap_bind_s(Conexão, Dn=nil, cred=nil, tipo de autenticação): Valida um usuário;
•ldap_simple_bind_s(Conexão, Usuário, Senha): Valida um usuário e sua senha;
•ldap_set_option(Conexão, Tipo=Versão, Valor=Versão): Seta opções para uma conexão.
Para realizar a pesquisa de objetos:
•ldap_search_s(Conexão, Base DN, Scope, Filtro, nil, 0,): Busca os objetos conforme filtros configurados na tela do SGU;
•ldap_first_entry(Conexão, Filtro): Busca o primeiro objeto;
•ldap_first_attribute(Conexão, Objeto, ): Lê atributos do objeto lido;
•ldap_get_values(Conexão, Objeto, atributo): Lê valor do atributo lido;
•ldap_next_attribute(Conexão, Objeto, ): Lê próximo atributo do objeto lido;
•ldap_next_entry(Conexão, Objeto): Lê próximo objeto.
Para realizar a autenticação:
•ldap_simple_bind_s(Conexão, Usuário, Senha): Valida um usuário e sua senha.
Usuários
Imagem 001 - Tela de configuração das opções de LDAP e NTLM - Usuários
Permitir logon através de um servidor LDAP: Marque essa opção para habilitar a utilização do recurso.
Efetuar logon proprietário Senior caso falhar LDAP: Marque essa opção para que, caso o logon em um servidor LDAP falhe, a próxima alternativa seja o logon proprietário Senior.
Logon
Filtro de busca: Filtro utilizado para buscar um usuário no servidor AD. O caracter especial %S será substituído pelo nome do usuário em questão.
Importação de usuários
Filtro de importação (objectClass do usuário): Classe de objeto que representa um usuário no servidor AD.
Atributo usuário: Atributo que representa o usuário.
Atributo nome do usuário: Atributo que representa o nome do usuário.
Atributo descrição do usuário: Atributo que representa a descrição do usuário.
Servidor LDAP
Imagem 001 - Tela de configuração das opções de LDAP e NTLM - Servidor LDAP
Servidor e conexão
Nome: Quando o ambiente possuir apenas um servidor, o nome do servidor ou do domínio de rede deve ser informado. Quando existir mais de um servidor LDAP, o indicado é informar o domínio de rede. Quando o ambiente possuir um Global Catalog, o indicado é informar o nome do Global Catalog.
Global Catalog é um controlador de domínio que armazena uma cópia de todos os objetos do Active Directory.
Porta: Porta correspondente do servidor LDAP. Padrão: 389, Global Catalog: 3268, Conexão segura: 636.
Versão: Deve-se selecionar a versão do servidor LDAP.
Usuário: Usuário de conexão ao servidor LDAP.
Na versão Java recomenda-se utilizar o RDN para configurar este campo.
Senha: Senha de conexão ao servidor LDAP.
Habilitar SSL: Habilita conexão segura com o servidor. É importante ressaltar que alguns servidores requerem certificado digital para esse tipo de conexão.
Validação do usuário no servidor LDAP
Base DN: Ponto inicial para a busca do usuário no LDAP.
Escopo de busca: Representa o escopo de busca no LDAP, pode ser:
- LDAP_SCOPE_BASE: a procura é feita somente no nível definido no parâmetro Base DN.
- LDAP_SCOPE_ONELEVEL: a procura é feita no nível definido no parâmetro Base DN e um nível abaixo dele.
- LDAP_SCOPE_SUBTREE: a procura é feita em todos os níveis a partir do ponto inicial definido em Base DN.
Integração
Atributos e valores padrões
Informe os atributos e valores padrões para a criação de usuários no servidor LDAP: A chamada da função LSP ADCriaUsuario fará uso dos itens apresentados nessa lista, criando os atributos por padrão.