LDAP: Guia Completo, Funcionalidades e Diferenças com Active Directory

Foto do autor

By luis

É frequente que as entidades empresariais dependam do LDAP (Protocolo de Acesso a Diretórios Leve) para a gestão, armazenamento e validação de utilizadores de grande importância.

Contudo, isto pode levar a confusão entre os utilizadores, que podem acabar por misturá-lo com o Active Directory.

Neste artigo, iremos explorar o LDAP, o seu propósito e o seu funcionamento. Em seguida, analisaremos as suas principais características, a estrutura do diretório e os recursos de organização de dados. Por fim, abordaremos a importância do LDAP na gestão de serviços de diretório e na autenticação de utilizadores.

O que é o LDAP?

LDAP, abreviatura de Lightweight Directory Access Protocol, é um protocolo aberto que governa a autenticação segura de utilizadores para diretórios locais. Além disso, é um protocolo de aplicação independente do fornecedor, o que o torna versátil e comum, especialmente em serviços de informações de diretórios distribuídos pela Internet.

O LDAP é eficiente para permitir que aplicações consultem informações de utilizadores. Isto significa que pode ser usado de diversas formas em serviços de infraestrutura de TI, incluindo serviços de e-mail, autorização, gestão de licenças e administração de utilizadores.

No entanto, não deve ser confundido com os serviços de diretório ativo, que são um conjunto de serviços/bases de dados usados pelas empresas para organizar, aceder e proteger ativos de TI. Basicamente, os serviços de diretório permitem que as empresas armazenem dados descritivos, estáticos e valiosos.

Tecnicamente, o LDAP é associado ao processo completo de representação de dados num serviço de diretório. Garante que os utilizadores possam obter dados de uma maneira predefinida. Isto significa que o LDAP permite que as empresas criem entradas de dados nos serviços de diretório através das suas ferramentas.

Assim, dentro de um Active Directory, o LDAP também assegura como as entradas são compostas com base em diferentes elementos primitivos delineados.

Em resumo, o LDAP é:

  • Um protocolo de comunicação
  • Um protocolo de aplicação aberto e independente do fornecedor
  • Um protocolo de software que armazena e organiza dados para facilitar a pesquisa.
  • Compatível com diretórios locais
  • Compatível com o Active Directory, que contém dados estáticos, descritivos e valiosos
  • Um protocolo já existente, lançado em 2003

Qual é o seu propósito?

O propósito do LDAP centra-se em dois pontos:

  • Armazena dados num diretório LDAP/Active.
  • Autentica o acesso do utilizador a esse diretório.
  • Permite que as aplicações usem a linguagem de comunicação adequada para enviar e receber dados dos serviços de diretório.

Em outras palavras, funciona como um protocolo de comunicação que não só permite a autenticação e autorização, mas também organiza os dados de forma pesquisável. Usando o LDAP, as organizações podem armazenar informações cruciais sobre utilizadores e ativos de TI, incluindo credenciais de utilizadores. Além disso, pode garantir acesso seguro, permitindo que os administradores definam regras de acesso de forma proativa.

Como funciona o LDAP?

No núcleo do LDAP, a arquitetura cliente-servidor está em ação.

Portanto, quando ocorre a autenticação LDAP, segue-se um modelo cliente-servidor. Durante este processo, os principais intervenientes incluem:

  • Directory System Agent (DSA): um servidor que executa o LDAP numa rede específica.
  • O Nome Distinto (DN) que contém o caminho para navegar na árvore de informações do diretório (DIT).
  • Directory User Agent (DUA): O DUA é usado para aceder a DSAs como um cliente.
  • Relative Distinguished Name (RDN): O RDN especifica cada componente no caminho do DN.
  • Application Programming Interface (API): Existem APIs que estabelecem a comunicação entre serviços e produtos.

No processo de autenticação LDAP, quando um utilizador inicia um programa cliente LDAP, como uma aplicação de e-mail, o administrador pode definir como o cliente LDAP interage com os serviços de diretório para autenticação. Por exemplo, pode usar um dos dois métodos de autenticação de utilizador disponíveis:

Ao tentar iniciar sessão, é solicitada a autenticação do DN. Depois de o processo ser iniciado, o LDAP atribui o cliente ao Directory System Agent (DSA), que usa o DN para procurar registos correspondentes na base de dados.

O Relative Distinguished Name (RDN) dentro do DN é uma parte crucial da pesquisa LDAP, pois é usado em cada etapa do processo de pesquisa através da Directory Information Tree (DIT).

Se a pesquisa for bem-sucedida, o UID e a senha do utilizador correspondentes são verificados para validar o utilizador. Caso contrário, retorna resultados inválidos.

Finalmente, o cliente é desvinculado do servidor LDAP. Assim que isso é feito, o utilizador autenticado pode então comunicar-se com os serviços através das APIs. Isto significa que ele pode aceder a todas as informações armazenadas – a única restrição são as permissões atribuídas.

Se desejar saber mais sobre como o LDAP funciona, consulte o artigo publicado em 2003 por Greg Vaneder e Mark Wahl. E, se quiser saber mais sobre como funcionam as operações de pesquisa LDAP, consulte A operação de pesquisa do LDAP.

Principais funcionalidades do LDAP

As principais funcionalidades do LDAP podem ser resumidas da seguinte forma:

  • Autenticação de sessões de utilizador: pode ser usado para autenticar sessões de utilizador num serviço de base de dados, como o Active Directory.
  • Diversos tipos de operações: Também pode executar operações numa base de dados de servidor de diretório, incluindo
    • Sessões de vinculação
    • Excluir entradas LDAP
    • Modificar entradas existentes
    • Pesquisar e comparar entradas.
    • Pedidos de cancelamento
    • Desvincular operações
  • Leve: O LDAP é leve, o que garante uma pequena sobrecarga na rede e nos recursos do sistema.
  • Independente de fornecedor e protocolo: O LDAP também é independente de fornecedor e protocolo. Isto significa que funciona com qualquer fornecedor/solução/protocolo. Por exemplo, pode usar LDAP sobre TCP/IP ou X.25. No entanto, a versão mais recente do LDAP, LDAPv3, usa TCP/IP.
  • Estrutura de diretório: O LDAP usa uma estrutura de árvore de diretório para armazenar e aceder a ativos numa base de dados de diretório. A relação pai-filho significa pesquisa e recuperação mais rápidas.
  • Padronização: O LDAP é padronizado pela IETF (Internet Engineering Task Force). A padronização garante que o LDAP funcione em diferentes fornecedores.
  • Segurança: O LDAP é seguro. Obtém segurança usando TLS seguro sobre a camada TCP/IP. Também pode usar Secure Socket (SSL) para encriptar, desencriptar e transferir informações remotamente com total integridade e confidencialidade.
  • Replicação: O LDAP também oferece suporte à replicação em vários servidores. Garante a redundância de dados e fornece disponibilidade de dados em caso de falhas. Usa Syncrepl – um mecanismo de replicação de sincronização.

Estrutura do Diretório LDAP

O diretório LDAP possui uma estrutura clara e bem definida. Isto permite fácil acesso aos dados e melhora a capacidade de pesquisa do conteúdo do diretório LDAP.

Como o LDAP segue uma estrutura semelhante a uma árvore, é hierárquico. E é por isso que é principalmente preferido como Directory Information Tree (DIT).

Os diferentes níveis da estrutura de diretório LDAP incluem:

  • Diretório raiz
  • Organização

Como pode ver, existe uma estrutura de árvore no diretório LDAP. O diretório “raiz” é uma entrada de nível superior que inclui todas as outras entradas no nível do diretório. Abaixo dele, encontra o País (países) que se ramifica para a Organização (ões). Em seguida, ramifica-se em Unidades Organizacionais (OU) e, por fim, em Indivíduos e Grupos.

Para compreender a estrutura do diretório LDAP, vamos analisar o exemplo abaixo.

 - Raiz (entrada de nível superior)
   |
   +-- País: "dc=com" (por exemplo, dc=exemplo,dc=com)
         |
         +-- Organização: "dc=exemplo" (por exemplo, dc=exemplo)
               |
               +-- Unidade Organizacional (OU): "ou=Utilizadores"
               |      |
               |      +-- Utilizador: "cn=Nitish Singh"
               |      |
               |      +-- Utilizador: "cn=Oliver Green"
               |
               +-- Unidade Organizacional (OU): "ou=Grupos"
                      |
                      +-- Grupo: "cn=Admins"
                      |
                      +-- Grupo: "cn=Utilizadores"
		|
		+-- Grupo: “cn=Superutilizadores”

A entidade Raiz é identificada com DC, que significa atributo de Componente de Domínio. Portanto, se “dc=com”, a entrada raiz é identificada como o domínio “com”.

Abaixo da raiz, pode ter várias organizações ou domínios. É representado por “dc=organização”, abaixo do domínio “com”.

Da mesma forma, cada organização pode ter uma ou várias Unidades Organizacionais (OU). O administrador pode organizá-las logicamente em subdivisões. Por exemplo, pode definir OU como “utilizadores”, “grupos” ou “superutilizadores”.

Finalmente, em cada OU, pode listar diversas entradas, incluindo grupos, dispositivos, utilizadores, etc. No nosso exemplo, dois valores de utilizadores de OU incluem “Nitish Singh” e “Oliver Green”. Da mesma forma, em OU Grupos, temos “Admins”, “Utilizadores” e “Superutilizadores”.

A estrutura do diretório LDA depende muito do Nome Distinto (DN), uma vez que é usado para identificar cada entrada. Isto acontece porque contém um nome exclusivo e é usado para recuperar o Relative Distinguished Name (RDN).

Elementos comuns do LDAP

Para compreender a organização dos dados do LDAP, precisaremos de entender os elementos comuns do LDAP, que levam à construção das entradas do sistema LDAP.

Os componentes básicos de dados do LDAP incluem:

  • Atributos:
  • Entradas:
  • Árvores de informações de dados

Atributos

Os atributos no LDAP são pares chave-valor. Armazenam dados no sistema LDAP. Por exemplo, o atributo mail deve ser usado para armazenar email dentro do sistema LDAP.

correspondência: [email protected]

Entradas

As entradas no sistema LDAP associam-se à atribuição para fornecer significado. Pode pensar nas entradas como uma coleção de atributos relacionados.

Por exemplo, os dados no formato LDIF (LDAP Data Interchange Format) terão o seguinte aspeto:

dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction

objectclass: wizard

sn: Hogwarts

cn: Harry Potter

Árvores de informações de dados

Data Information Trees, ou DITs, representam e acedem a dados dentro de um sistema LDAP. Como a maioria dos dados se ramifica, faz sentido representá-los por meio de árvores. É semelhante a um sistema de arquivos com uma associação pai-filho.

Organização de dados LDAP

Agora, com a ideia básica de entidades, podemos explorar a organização de dados dentro do sistema LDAP.

Aqui, o LDAP utiliza o DIT para organizar e estruturar os dados. No entanto, como é que consegue isso? Vamos discutir abaixo.

Colocar entradas numa DIT que estejam hierarquicamente relacionadas entre si. Portanto, quando uma nova entrada é criada, ela é adicionada à estrutura semelhante a uma árvore como filha de uma entrada existente.

Tudo começa no topo da árvore hierárquica no DIT. Como abrange todas as entradas filhas, é principalmente rotulado como uma organização como “dc=com ou exemplo”. Isto é feito usando componentes de domínio para garantir uma gestão fácil. Desta forma, o administrador pode definir a localização usando l=nome_da_localização ou segmentos organizacionais, como ou=tech, marketing, etc.

As entradas usam objectClass de Unidade Organizacional (OU). Isto acontece porque as entradas podem usar o rótulo de atributo ou=. São simples e oferecem uma excelente maneira de categorizar e localizar informações no DIT.

Em seguida, surge outro conceito importante conhecido como Nome Distinto Relativo. É o nome relativo de um elemento, dependendo do seu nível hierárquico DIT. Portanto, para aceder a uma entrada, precisa de inserir os valores RDN da entidade juntamente com o valor RDN do pai.

Isto cria uma cadeia de valores RDN, que vai de baixo para cima, criando um caminho para essa entrada. E esta cadeia de valores RDN é conhecida como “Nome distinto ou DN”.

Em outras palavras, deve mencionar o DN durante a criação da entrada para que o LDAP saiba exatamente onde precisa de colocar o novo ativo ou informação. Portanto, o RDN funciona como um valor relativo, enquanto o DN é mais como um caminho absoluto.

Importância do LDAP

Nesta secção, vamos examinar a importância do LDAP de duas perspetivas:

  • Gerir o serviço de diretório: o protocolo LDAP possui os meios adequados para armazenar e aceder aos dados do diretório LDAP. Já os discutimos nas secções “Como funciona o LDAP e os componentes de dados” e “Organização”. O LDAP é uma forma de gerir, armazenar, aceder e proteger dados. Também garante a recuperação eficiente de informações. Além disso, oferece escalabilidade e replicação também.
  • Autenticação do utilizador: além de gerir serviços de diretório, o LDAP destaca-se na autenticação e autorização do utilizador. Depois de a conexão ser estabelecida, o utilizador pode aceder aos ativos armazenados com base nas regras de acesso definidas pelo administrador.

LDAP vs. Active Directory

É comum que as pessoas confundam LDAP e Active Directory. O LDAP e o Active Directory da Microsoft trabalham em conjunto para fornecer às organizações uma forma de armazenar e aceder de forma segura a dados organizacionais entre departamentos.

Portanto, o LDAP é um protocolo, enquanto o Active Directory é um produto de serviço de diretório que armazena dados organizacionais numa estrutura semelhante a uma árvore.

O LDAP funciona como um protocolo de comunicação para aceder a servidores de diretório, como o Active Directory.

Conclusão

O LDAP é um protocolo essencial para trabalhar com serviços de diretório ativo. É um protocolo leve que não sobrecarrega os serviços e servidores com os quais trabalha. Além disso, a sua natureza padronizada, independente de fornecedor e de código aberto significa que pode ser facilmente integrado em soluções já existentes.

Pode também explorar a autenticação multifator (MFA).