Pular para o conteúdo

O LDAP tem sido um protocolo de identidade fundamental desde o início da década de 1990, quando foi desenvolvido como uma alternativa mais leve ao Protocolo de Acesso a Diretórios X.500. Ele continua integrado à maioria dos ambientes corporativos atualmente e continua a servir de base para serviços de autenticação e diretório, mesmo à medida que as organizações adotam soluções de identidade na nuvem.

Como funciona o LDAP?

O LDAP opera em um modelo cliente-servidor no qual um cliente LDAP envia solicitações a um servidor de diretório, que armazena e retorna informações a partir de um diretório centralizado. A comunicação ocorre por meio do protocolo TCP/IP, normalmente na porta 389 para conexões padrão ou na porta 636 para LDAPS (LDAP sobre SSL/TLS).

Em linhas gerais, uma troca de dados LDAP segue quatro etapas:

  1. Conecte-se:O cliente abre uma sessão TCP com o servidor LDAP.
  2. Encadernação: O cliente se autentica no servidor, seja de forma anônima, seja com credenciais.
  3. Solicitação:O cliente emite uma operação, como uma solicitação de busca ou modificação, no diretório.
  4. Resposta:O servidor retorna os dados solicitados ou um código de status, e o cliente, por fim, emite um comando de desligamento para encerrar a sessão.

O servidor organiza seus dados em uma árvore hierárquica e responde a um conjunto definido de operações, incluindo bind, search, compare, add, modify, delete e unbind. Esse modelo de acesso compartilhado em tempo real é o que torna o LDAP adequado para ambientes em que muitos aplicativos precisam consultar a mesma fonte autorizada para obter dados de identidade.

A estrutura do diretório LDAP

Um diretório LDAP armazena informações em uma árvore hierárquica conhecida como Árvore de Informações do Diretório (DIT). Cada entrada na árvore representa um objeto (como um usuário, grupo ou dispositivo) e é identificada por um Nome Distinto (DN) exclusivo que descreve sua posição na hierarquia.

O DN é composto por uma série de componentes, listados do mais específico ao mais geral:

  • cn(nome comum), como o nome completo de uma pessoa
  • ou(unidade organizacional), como um departamento
  • dc(componente do domínio), como partes de um nome de domínio

Por exemplo, o DN cn=John Smith,ou=Engenharia,dc=example,dc=com identifica um usuário chamado John Smith na unidade organizacional Engenharia, dentro do domínio example.com.

Operações LDAP

O LDAP define um pequeno conjunto de operações padronizadas que abrangem todo o ciclo de vida da interação de um cliente com um diretório, desde a autenticação até as operações de leitura, gravação e encerramento da sessão.

  • Encadernar: autentica o cliente no servidor de diretório e estabelece uma sessão autenticada. A operação de bind é o que torna o LDAP utilizável como mecanismo de autenticação, uma vez que um bind bem-sucedido confirma que as credenciais enviadas correspondem a uma entrada válida no diretório.
  • Pesquisa: consulta o diretório em busca de entradas que atendam a critérios específicos, utilizando uma sintaxe de filtro para definir quais atributos e valores devem ser retornados. A pesquisa é a operação LDAP mais utilizada e está por trás de casos de uso como consultas de usuários, verificações de pertencimento a grupos e navegação pelo diretório.
  • Comparar: verifica se um determinado valor de atributo corresponde ao valor armazenado em uma entrada, retornando uma resposta “verdadeira” ou “falsa” sem expor o próprio valor armazenado. O método `compare` é frequentemente utilizado para tarefas de verificação simples, nas quais uma pesquisa completa não é necessária.
  • Adicionar: cria uma nova entrada no diretório em um local especificado na árvore. As operações de adição são comumente utilizadas durante o provisionamento de usuários, quando novas contas, grupos ou dispositivos precisam ser registrados no diretório.
  • Modificar: atualiza os atributos de uma entrada existente, permitindo alterações como redefinições de senha, atualizações de associação a grupos ou edições de perfil. A função “Modificar” permite adicionar, substituir e excluir valores de atributos individuais dentro de uma entrada.
  • Modificar DN: renomeia uma entrada ou a move para um local diferente na árvore de diretórios. A função “Modificar DN” é utilizada quando ocorrem mudanças nas estruturas organizacionais, como, por exemplo, quando um usuário muda de departamento ou quando uma unidade organizacional é reestruturada.
  • Excluir: remove uma entrada do diretório. A função “Excluir” é normalmente utilizada durante o processo de cancelamento de provisionamento, quando contas ou recursos são desativados e seus registros no diretório precisam ser removidos.
  • Desvincular: encerra a sessão do cliente e interrompe a conexão com o servidor. Embora o nome sugira que ele reverta uma ligação, o comando “unbind” na verdade sinaliza que o cliente encerrou sua atividade e libera os recursos do servidor associados.
  • Operações Estendidas: é uma estrutura que permite que fornecedores e órgãos de padronização definam operações adicionais além do conjunto básico. O StartTLS, que transforma uma conexão LDAP padrão em uma conexão criptografada, é uma das operações estendidas mais utilizadas.
Para que serve o LDAP?

O LDAP é utilizado em ambientes corporativos para centralizar dados de identidade e permitir o acesso consistente a esses dados a partir de diversos aplicativos e serviços. Entre os casos de uso mais comuns estão:

  • Autenticação centralizada: validar as credenciais dos usuários para diversos aplicativos a partir de um único diretório, reduzindo a proliferação de senhas e a carga administrativa
  • Gerenciamento de usuários e grupos: armazenamento e organização de registros de funcionários, prestadores de serviços e contas do sistema, bem como dos grupos e permissões a eles associados
  • Agenda de endereços e pesquisa de contatos: permitir que clientes de e-mail e ferramentas de colaboração consultem um diretório corporativo para obter informações de contato
  • Gerenciamento de dispositivos e recursos: monitoramento de recursos de rede, como impressoras, servidores e armazenamento compartilhado
  • Fundamentos do logon único: atuando como a fonte de identidade subjacente que os sistemas de SSO utilizam para verificar os usuários e recuperar os atributos do perfil
Como funciona a autenticação LDAP

A autenticação LDAP é o processo pelo qual um aplicativo verifica a identidade de um usuário ao estabelecer uma conexão com um diretório LDAP usando as credenciais enviadas pelo usuário. Se o diretório confirmar que as credenciais correspondem a uma entrada válida, o usuário é autenticado e recebe permissão de acesso ao aplicativo solicitante.

O fluxo típico de autenticação LDAP ocorre da seguinte forma:

  1. O usuário insere suas credenciais (geralmente um nome de usuário e uma senha) em um aplicativo.
  2. O aplicativo envia uma solicitação de ligação LDAP ao servidor de diretório contendo essas credenciais.
  3. O servidor LDAP localiza a entrada do usuário na árvore de diretórios usando o identificador fornecido.
  4. O servidor compara a senha enviada com a credencial armazenada para essa entrada.
  5. O servidor retorna uma resposta de sucesso ou falha ao aplicativo.
  6. Se a operação for bem-sucedida, o aplicativo concede ao usuário acesso ao recurso solicitado.

Bind simples vs. Bind SASL

O LDAP oferece suporte a dois mecanismos principais de ligação, e a escolha entre eles tem implicações significativas em termos de segurança no que diz respeito à forma como as credenciais são transmitidas e verificadas durante a autenticação.

A encadernação simples transmite o nome de usuário e a senha diretamente ao servidor, que envia as credenciais em texto simples, a menos que a conexão esteja protegida por TLS (como no caso do LDAPS ou do StartTLS).

A Bind SASL (Camada Simples de Autenticação e Segurança) oferece mecanismos de autenticação mais robustos, incluindo Kerberos, certificados de cliente e outros métodos plugáveis, sendo a opção preferida em ambientes em que a exposição de credenciais é uma preocupação.

LDAP x Active Directory

O LDAP e o Active Directory são frequentemente confundidos, mas não são tecnologias concorrentes. O LDAP é um protocolo aberto para acessar informações de diretório, enquanto o Active Directory é um produto de serviço de diretório Microsoft que utiliza o LDAP como um de seus métodos de acesso compatíveis.

Atributo
LDAP
Active Directory
Tipo
Protocolo aberto
Produto de serviço de diretório
Fornecedor
Padrão aberto (IETF)
Microsoft
Escopo
Protocolo de acesso e consulta para dados de diretório
Serviço completo de diretório, incluindo autenticação, política de grupo e ferramentas de gerenciamento
Relacionamento
Independente de qualquer implementação específica de diretório
Oferece suporte a LDAP, além de Kerberos, DNS e outros protocolos
Tipo
LDAP
Protocolo aberto
Active Directory
Produto de serviço de diretório
Fornecedor
LDAP
Padrão aberto (IETF)
Active Directory
Microsoft
Escopo
LDAP
Protocolo de acesso e consulta para dados de diretório
Active Directory
Serviço completo de diretório, incluindo autenticação, política de grupo e ferramentas de gerenciamento
Relacionamento
LDAP
Independente de qualquer implementação específica de diretório
Active Directory
Oferece suporte a LDAP, além de Kerberos, DNS e outros protocolos

Em termos simples, o Active Directory utiliza o LDAP, mas o LDAP não é o Active Directory. Muitos serviços de diretório que não são do tipo Microsoft, incluindo o OpenLDAP, o 389 Directory Server e o Oracle Internet Directory, também implementam o protocolo LDAP.

LDAP x SAML x OAuth

LDAP, SAML e OAuth são protocolos relacionados, mas distintos, que resolvem problemas diferentes no contexto mais amplo da gestão de identidade e acesso.

  • LDAPgerencia o acesso a diretórios e a autenticação, geralmente para recursos locais e aplicativos internos. Trata-se de um protocolo para consultar e modificar um diretório, podendo realizar a autenticação por meio da operação “bind”.
  • SAML (Security Assertion Markup Language) permite a autenticação federada para o login único (single sign-on) na web, por meio da troca de asserções de autenticação e autorização entre um provedor de identidade e um provedor de serviços. É comumente utilizada para que os usuários acessem aplicativos na nuvem e SaaS.
  • OAuth é um protocolo de autorização que permite que aplicativos de terceiros obtenham acesso limitado aos recursos de um usuário sem expor suas credenciais. Ele define o que um aplicativo pode fazer em nome do usuário, e não quem é o usuário.

Muitos ambientes modernos dependem desses três elementos: LDAP como diretório subjacente para dados de usuários, SAML para o SSO federado em aplicativos na nuvem e OAuth para acesso delegado à API. Para uma análise mais aprofundada de como as camadas de autenticação e governança funcionam em conjunto, consulte o artigo da RSA sobre governança de identidade e IAM .

LDAP na gestão moderna de identidade e acesso

O LDAP continua amplamente utilizado e não está sendo substituído de forma generalizada, mesmo com as organizações adotando provedores de identidade na nuvem e aplicativos SaaS. A maioria dos ambientes corporativos continua a contar com os diretórios LDAP existentes como fonte oficial de dados de usuários, e as plataformas modernas de IAM são, em geral, projetadas para se integrar a esses diretórios, em vez de substituí-los.

A tendência predominante é em direção a arquiteturas híbridas, nas quais diretórios LDAP coexistem com provedores de identidade na nuvem, plataformas de SSO e camadas de autenticação multifatorial. Em vez de realizar uma simples ligação (bind) e conceder acesso, as organizações estão, cada vez mais, complementando a autenticação LDAP com controles adicionais, incluindo autenticação multifatorial, autenticação sem senha, autenticação adaptativa, decisões de acesso baseadas em risco e verificação contínua. Essa abordagem em camadas preserva os investimentos existentes em diretórios, ao mesmo tempo em que aborda os riscos relacionados a credenciais que uma simples ligação LDAP não consegue mitigar.

da RSA soluções de gerenciamento de identidade e acesso integrar-se aos diretórios LDAP existentes para adicionar controles modernos de autenticação e acesso à infraestrutura legada. A RSA amplia a autenticação baseada em LDAP com autenticação multifatorial (MFA), opções sem senha e acesso baseado em risco, permitindo que as organizações reforcem a segurança de identidade sem precisar substituir os serviços de diretório dos quais já dependem.

Perguntas frequentes
O LDAP é seguro?

O LDAP, por si só, não criptografa o tráfego por padrão, e as conexões LDAP padrão transmitem as credenciais de ligação em texto simples. O LDAP se torna seguro quando implantado com LDAPS ou StartTLS para criptografar a conexão, combinado com mecanismos robustos de autenticação, como o SASL, e controles adicionais, como a autenticação multifatorial. Sem essas proteções, o LDAP fica vulnerável a ataques de interceptação e injeção de credenciais.

Qual porta o LDAP utiliza?

O LDAP utiliza a porta TCP 389 para conexões padrão não criptografadas e a porta TCP 636 para o LDAPS, que criptografa a comunicação por meio de SSL/TLS. O StartTLS é uma alternativa que inicia na porta 389 e atualiza a conexão para uma sessão criptografada. Os serviços de catálogo global no Active Directory utilizam as portas 3268 e 3269 para suas versões criptografadas.

Qual é a diferença entre LDAP e LDAPS?

O LDAP transmite dados por meio de uma conexão TCP não criptografada na porta 389, o que expõe credenciais e consultas ao diretório ao risco de interceptação. O LDAPS envolve o mesmo protocolo LDAP em um canal criptografado por SSL/TLS na porta 636, protegendo a conexão contra escutas e adulterações. O LDAPS é geralmente necessário em ambientes onde dados confidenciais de diretório ou tráfego de autenticação atravessam redes não confiáveis.

O LDAP ainda é usado hoje em dia?

Sim, o LDAP continua sendo amplamente utilizado em ambientes corporativos. Ele continua servindo como o protocolo de diretório subjacente para o Active Directory, o OpenLDAP e outros serviços de diretório, e ainda é utilizado para autenticação, provisionamento de usuários e consultas de diretório em arquiteturas locais e híbridas. As plataformas de identidade na nuvem geralmente se integram ao LDAP, em vez de substituí-lo.

O que é uma consulta LDAP?

Uma consulta LDAP é uma solicitação de pesquisa enviada por um cliente LDAP a um servidor de diretório para recuperar entradas que atendam a critérios específicos. As consultas utilizam uma sintaxe de filtro definida, como (&(objectClass=user)(department=Engineering)), para especificar quais atributos e valores devem ser retornados. Os aplicativos utilizam consultas LDAP para localizar usuários, grupos e outros objetos de diretório em grande escala.

O LDAP é compatível com aplicativos em nuvem?

Sim, o LDAP pode oferecer suporte a aplicativos em nuvem por meio da sincronização de diretórios, de ofertas de LDAP como serviço ou da integração com provedores de identidade na nuvem que federam a autenticação de volta aos diretórios LDAP locais. Muitas organizações utilizam SAML ou SCIM em conjunto com o LDAP para conectar diretórios locais a aplicativos SaaS, mantendo o LDAP como a fonte de identidade oficial.

Iniciar uma avaliação gratuita

Obrigado por seu interesse na RSA.
Inscreva-se