Visão geral
O Lightweight Directory Access Protocol (LDAP) é um protocolo que ajuda os usuários a encontrar dados sobre organizações, pessoas e muito mais. O LDAP tem dois objetivos principais: armazenar dados no diretório LDAP e autenticar usuários para acessar o diretório. Além disso, oferece a linguagem de comunicação que as aplicações exigem para enviar e receber informações dos serviços de diretório. Um serviço de diretório concede acesso ao localonde as informações sobre organizações, indivíduos e outros dados estão em uma rede.
O caso de uso mais comum do LDAP é oferecer um local central para acessar e gerenciar serviços de diretório. O LDAP permite que as organizações armazenem, gerenciem e protejam informações sobre a organização, seus usuários e ativos, como nomes de usuário e senhas. Isso ajuda a simplificar o acesso ao armazenamento com a oferta de uma estrutura hierárquica de informações e pode ser essencial para as empresas conforme crescem e adquirem mais ativos e dados de usuários.
O LDAP também funciona como uma solução de gerenciamento de identidade e acesso (IAM) que tem foco na autenticação dos usuários e inclui suporte para Kerberos e single sign-on (SSO), Simple Authentication Security Layer (SASL) e Secure Sockets Layer (SSL).
LDAP e Active Directory
Também usado em outros serviços, o LDAP é o principal protocolo usado no serviço de diretório Active Directory (AD) da Microsoft, um grande banco de dados que contém informações sobre todas as contas de usuários em uma rede. Mais especificamente, o LDAP é uma versão leve do Directory Access Protocol (DAP) e oferece um local central para acessar e gerenciar serviços de diretório em execução no Transmission Control Protocol/Internet Protocol (TCP/IP). O LDAPv3 é a versão mais recente.
O AD oferece a autenticação e o gerenciamento de usuários e grupos, além de ser o que autentica um usuário ou computador. O banco de dados contém um volume maior de atributos do que o extraído para o LDAP. No entanto, o LDAP é especializado em encontrar um objeto de diretório com poucas informações. Por isso, ele não precisa extrair todos os atributos do AD nem do serviço de diretório de onde estiver fazendo pull.
O principal objetivo do LDAP é se comunicar, armazenar e extrair objetos (ou seja, domínios, usuários, grupos etc.) do AD para um formato utilizável pelo próprio diretório, localizado no servidor LDAP.
Pense assim: o AD é a maior biblioteca do mundo, e você está em busca de um livro com um título que mencione zumbis. No mundo do LDAP, detalhes sobre o local de publicação, se a obra tem mais de 1.000 páginas ou se o livro é um guia prático sobre como sobreviver ao apocalipse zumbi não são importantes, mas ajudam a restringir as opções disponíveis. O LDAP é o bibliotecário experiente que sabe exatamente onde encontrar todas as opções que atendem à sua solicitação e como verificar se você encontrou o que procurava.
Otimize a segurança do Linux com a Red Hat
Processo de autenticação do LDAP
O que aciona uma pesquisa LDAP e como ela funciona?
O processo de autenticação LDAP é um modelo de autenticação cliente-servidor e consiste nos seguintes componentes principais:
- Directory System Agent (DSA): um servidor que executa o LDAP na própria rede
- Directory User Agent (DUA): acessa os DSAs como um cliente (por exemplo, o computador de um usuário)
- Nome diferenciado (DN): contém um caminho na árvore de informações de diretório (DIT) para o LDAP navegar (por exemplo, cn=Susan, ou=users, o=Company)
- Nome diferenciado relativo (RDN): cada componente no caminho dentro do DN (por exemplo, cn=Susan)
- Interface de programação de aplicações (API): permite que sua solução ou serviço se comunique com outras soluções e serviços sem a necessidade de saber como foram implementados
O processo começa quando um usuário tenta acessar um programa cliente com LDAP, como uma aplicação de email corporativo, no computador. Com o LDAPv3, os usuários passam por um de dois possíveis métodos de autenticação: autenticação simples, como SSO com credenciais de login, ou autenticação SASL, que vincula o servidor LDAP a um programa como o Kerberos. A tentativa de login envia uma solicitação para autenticar o DN atribuído ao usuário. O DN é enviado pela API do cliente ou pelo serviço que inicia o DSA.
O cliente é vinculado automaticamente ao DSA, e o LDAP usa o DN para pesquisar o objeto ou conjunto de objetos correspondente em relação aos registros no banco de dados do LDAP. Os RDNs no DN são muito importantes nessa fase, pois fornecem cada etapa da pesquisa do LDAP na DIT para encontrar o indivíduo. Se o caminho não tiver um RDN de conexão no backend, o resultado poderá ser inválido. Nesse caso, o objeto que o LDAP está procurando é a conta de usuário individual (cn=Susan), e ele só poderá validar o usuário se a conta no diretório tiver uid e userPassword correspondentes. Os grupos de usuários também são identificados como objetos no diretório LDAP.
Após o usuário receber uma resposta (válida ou não), o cliente é desvinculado do servidor LDAP. Os usuários autenticados podem acessar a API e seus serviços, como arquivos necessários, informações de usuários e outros dados da aplicação, com base nas permissões concedidas pelo administrador de sistema.
Introdução aos componentes do LDAP
A estrutura leve do LDAP e o uso de uma DIT possibilitam executar uma pesquisa do LDAP rapidamente e gerar resultados com sucesso. Entender a DIT é essencial para navegar com sucesso em um servidor LDAP e entender o funcionamento das pesquisas LDAP.
A DIT possibilita navegar rapidamente pelos diferentes níveis do diretório LDAP para restringir os resultados da pesquisa e dar uma resposta a uma consulta. A DIT começa no diretório raiz, seguido por países, e se ramifica em duas subclasses: o componente de domínio (dc) e o nome da organização (o).
Componente de acesso ao domínio (dc)
O dc (ou seja, dc=com, dc=example) usa o mapeamento do sistema de nomes de domínio (DNS) para localizar nomes de domínio da internet e convertê-los em endereços IP.
A maioria dos usuários não sabe o nome de domínio e/ou o endereço IP da pessoa pesquisada. Nesse caso, o LDAP usa o nome diferenciado (DN) atribuído ao usuário como um caminho para navegar rapidamente pela DIT e encontrar o resultado da pesquisa. É aí que entra a subclasse "o".
Nome da organização (o)
A subclasse "o" (por exemplo, o-Company) é uma das subclasses mais gerais listadas no DN e geralmente é por ela que o LDAP começa ao executar uma pesquisa. Por exemplo, um caminho simples geralmente começa com a subclasse o e se ramifica para a unidade organizacional (ou), seguida por uma conta de usuário ou grupo.
Unidade organizacional (ou)
Como mencionado anteriormente, "ou" é uma subclasse de "o" e é frequentemente visto como ou=users ou ou=group, cada um contendo uma lista de contas de usuários ou grupos. Veja como isso pode ficar em um diretório:
o-Company
ou=groups
cn=developers
ou=users
cn=Susan
Nome comum (cn)
Um nome comum, ou "cn", é usado para identificar o nome de um grupo ou conta de usuário individual (por exemplo, cn=developers, cn=Susan). Um usuário pode pertencer a um grupo. Ou seja, se Susan for desenvolvedora, ela também poderá estar em cn=developers.
Atributos e valores
Cada subclasse na DIT do LDAP (o, ou, cn) contém atributos e valores, ou um esquema que contém informações sobre a estrutura de um diretório do LDAP que pode ajudar a refinar uma pesquisa. Os atributos são semelhantes ao que você encontraria em uma entrada de um catálogo de endereços, com rótulos como nome, número de telefone e endereço, e cada atributo tem valores atribuídos a ele. Por exemplo,Susan seria o valor do atributo name.
Na conta cn=Susan, ID do usuário (uid) e userPassword são atributos, e as credenciais de login de um usuário são os valores. No entanto, em um grupo como cn=developers, Susan teria o atributo uniqueMember (por exemplo, uniqueMember=cn-Susan,ou-Users,o-Company). Isso mapeia um caminho para o local da conta de usuário individual de Susan com as informações que o LDAP está pesquisando. Uma conta de usuário é o final da linha na DIT e é onde o LDAP extrai os resultados da pesquisa.
Existem muitos outros tipos de atributos e sintaxes que podem ajudar a restringir uma pesquisa, como ObjectClasses, por exemplo organizationalPerson (estrutural) ou personal (estrutural). No entanto, o número de atributos no LDAP é limitado para manter o protocolo leve e fácil de usar.
Por que usar o LDAP?
Normalmente, os administradores de redes corporativas gerenciam milhares de usuários por vez. Isso significa que eles são responsáveis por atribuir políticas e controles de acesso com base na função de um usuário e no acesso aos arquivos para tarefas diárias, como uma intranet da empresa.
O LDAP simplifica o processo de gerenciamento de usuários, economiza o tempo dos administradores de rede e centraliza o processo de autenticação. Antes de integrar o LDAP ao seu ambiente, é importante considerar os fatores abaixo:
Capacidade: qual a quantidade de dados de gerenciamento de usuários que você precisa armazenar? Considere se as soluções que implementam soluções LDAP conseguem armazenar e gerenciar todos os dados necessários.
Frequência de pesquisa: existem dados que um usuário precisa acessar diariamente, como a intranet da empresa, uma aplicação de email ou um serviço? Nesse caso, o LDAP pode ser ideal para você.
Organização: a DIT simples no LDAP oferece organização suficiente para os seus dados, ou você precisa de um sistema mais detalhado?
O LDAP é bastante usado no AD, mas também pode ser usado para autenticar usuários em outras ferramentas e ambientes de cliente, como o Red Hat Directory Servers no UNIX e o OpenLDAP, uma aplicação open source, no Windows. Você também pode aproveitar os recursos de gerenciamento de usuários e autenticação do LDAP paragerenciamento de APIs, controle de acesso baseado em função (RBAC) ou outras aplicações e serviços como Docker e Kubernetes.
Autenticação LDAP com o Red Hat Enterprise Linux
O Red Hat® Enterprise Linux® inclui capacidades de gerenciamento centralizado de identidades para você autenticar usuários e implementar RBAC usando uma única interface escalável que abrange todo o seu data center.
O gerenciamento de identidades com o Red Hat Enterprise Linux inclui diversos recursos de autenticação e autorização, como:
- Gerenciamento centralizado de identidades. O Red Hat Enterprise Linux facilita o gerenciamento centralizado de identidades, permitindo que as organizações reforcem os controles de segurança, atendam aos padrões de conformidade e gerenciem as políticas de autenticação a partir de um único local. Assim, é possível ter consistência nas plataformas, melhorar a experiência de usuário e reduzir a sobrecarga da TI.
- Autenticação multifator (MFA) e recursos sem senha. O Red Hat Enterprise Linux oferece autenticação multifator (MFA), proporcionando uma segunda camada de verificação de identidade. O Red Hat Enterprise Linux impulsiona a maturidade da arquitetura de confiança zero (ZTA) ao oferecer suporte à autenticação sem senha, como FIDO2/WebAuthn e tickets Kerberos derivados de passkeys para logins via SSH e GDM, levando a segurança para além da simples MFA e proporcionando autenticação adaptativa e resistente a phishing.
- Integração com provedor de identidade externo. O Red Hat Enterprise Linux permite que os usuários façam autenticação com clientes usando OAuth 2.0 e se integra a provedores de identidade externos, como Keycloak, Entra ID (Azure AD) e GitHub. Isso permite a delegação de processos de autenticação e autorização a entidades externas, aumentando a flexibilidade e a interoperabilidade em diversos ambientes de TI.
- Gerenciamento abrangente de políticas e certificados. O Red Hat Enterprise Linux oferece gerenciamento de políticas de segurança personalizado, com controle de acesso baseado em função para delegar administração de servidor de gerenciamento de identidade (IdM) e regras sudo personalizadas a fim de limitar o escalonamento de privilégios. Além disso, oferece ferramentas robustas de gerenciamento de certificados que automatizam todo o ciclo de vida dos certificados, rastreando expirações, assegurando renovações em tempo hábil e usando autenticação de infraestrutura de chave pública (PKI) para verificar identidades confiáveis, um componente essencial da ZTA.
- Automação e orquestração com funções do sistema. Com as funções do sistema da Red Hat (com tecnologia do Ansible Automation Platform), o Red Hat Enterprise Linux automatiza a configuração e o gerenciamento de segurança. Essa automação é essencial para assegurar consistência e conformidade em grande escala em todos os ambientes, da nuvem ao on-premise, reduzindo o esforço manual e possíveis erros de configuração. As funções do sistema fazem parte da camada de automação e orquestração no framework CISA ZTA.
A Red Hat também oferece o Red Hat Directory Server como um complemento para demandas mais específicas.
O Red Hat Directory Server é um diretório baseado em LDAP escalável para ambientes grandes e diversos. Use uma substituição drop-in para soluções LDAP caras de terceiros e gerencie topologias de diretório distribuídas e complexas com um espectro de opções de replicação. Essa solução oferece flexibilidade com atributos e esquema personalizáveis para dados de diretório.
Blog da Red Hat
Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.