OpenLDAP

OpenLDAP é uma suíte de aplicativos LDAP open-source, que inclui todas as ferramentas necessárias para fornecer um serviço de diretório LDAP em um ambiente de rede (clientes, servidores, utilitários e ferramentas de desenvolvimento), disponível para várias plataformas (Linux, Solaris, MacOS). É uma solução considerada madura hoje em dia e possui amplo suporte, sendo largamente utilizada como alternativa às implementações comerciais existentes (Microsoft Active Directory, Novell eDirectory, Sun Java System Directory Server, etc.).

Ele implementa a versão 3 do LDAP, a versão mais recente do protocolo e que é o padrão atualmente, e suporta LDAP em IPv4, IPv6 e Unix IPC. O projeto OpenLDAP é uma continuação do servidor LDAP da Universidade de Michigan.

O OpenLDAP possui suporte a threads para aumentar a performance de seu servidor, reduzindo o overhead requerido para atender as múltiplas requisições que chegam dos clientes.

O daemon que implementa o servidor LDAP é o slapd. Além desse daemon, existe um outro, o slurpd, que é usado quando se deseja fornecer um serviço replicado de diretório. Ele é explicado em mais detalhes na próxima seção.

O OpenLDAP fornece várias opções para segurança, como suporte a TLS, SSL e SASL. Além disso, o acesso às informações pode ser restrito baseado na topologia da rede, endereços IP, nome de domínio e outros critérios.

O slapd pode ser configurado para servir a múltiplos bancos de dados ao mesmo tempo, ou seja, um único servidor slapd pode responder a requisições de várias porções diferentes da árvore LDAP, usando o mesmo ou vários backends de base de dados.

O OpenLDAP vem com várias opções de backends de armazenamento. Eles incluem BDB, um backend transacional de alta performance; HDB, um backend transacional hierárquico de alta performance; LDBM, um backend leve baseado no DBM; SHELL, uma interface de backend para scripts shell arbitrários; e PASSWD, uma interface simples de backend para o arquivo /etc/passwd. Os backends BDB e HDB utilizam o BD Sleepycat Berkeley. O LDBM utiliza o Berkeley ou o GDBM.