Centro Universidade Anhanguera
de Campo Grande – Unidade 1
Superint. CENTRO-OESTE
Tec. em Redes de Computadores
Aula 03 – Protocolo LDAP
Protocolo LDAP
• L ightweight D irectory A ccess P rotocol - Protocolo padronizado e largamente
suportado, hoje na versão 3 Iniciou seu desenvolvimento na Universidade de
Michigan no início dos anos 90, tendo como objetivo:
– Prover um acesso leve a diretórios padrão X.500 usando redes TCP/IP.
Implementado em vários produtos de diretório. Especificação mantida por
grupo de trabalho do IETF (http://en.wikipedia.org/wiki/LDAP)
2
Características
• Funcionamento sobre IPV4 e IPV6(LDAPv3)
• Leve e robusto;
• Suporte a vários backends(BDB, HDB,
MDB,SQL,PASSWD);
• Suporte a múltiplas instâncias de dados;
• “Backup” pode ser realizado pelos servidores slaves;
• Suporte a SASL(Autenticação) e a TLS/SSL;
3
Backend que armazena os dados
• O protocolo LDAP não determina em qual backend seus dados serão
armazenados, com isso, cada implementação pode escolher sua própria base
onde serão armazenados seus dados.
4
Schema
• Todas as informações armazenadas em um diretório precisam obedecer a
um conjunto de definições chamado schema. O schema de um diretório
define:
• Classes de objetos;
• Atributos;
• Regras de ordenação e índice para atributos;
• Qual o OID(Object Identifier) dos objetos/Atributos;
• Herança de classes de objetos.
5
Atributos
• Semelhantes a campos em tabelas de um
banco de dados.
• São campos que agregam elementos de
dados, como nome, telefone, email, endereço;
7
Tipo de atributo Valor
cn Carlos Veiga
sn Veiga
mail [email protected]
telefone (67)1234 -2334
Atributos
• temos alguns, tais como:
– cn: common name (nome comum);
– sn: surname (sobrenome);
– telephoneNumber: número de telefone;
– objectClass: classe de objeto.
8
Classes de Objetos
• São definições que determinam que tipos de atributos podem fazer parte
entrada do diretório e que atributos devem obrigatoriamente fazer parte
do diretório.
– Ex: A objectclass person exige os atributos cn e sn, mas pode ser
utilizado o atributo telephoneNumber
• Podem ser divididas em:
– Estruturais: Representam um objeto do mundo real.
– Auxiliares: Agregam informações a uma entrada.
• Uma ObjectClass pode herdar atributos de outra classe;
– Ex: A objectclass inetorgperson tem como raiz a objectclass person,
por isso os atributos cn e sn são obrigatórios
9
Modelos LDAP
• Funcional: é o protocolo em si e prove meios de acesso aos dados na
árvore de diretório. O acesso é implementado por operações de
autenticação (bindings), operações de consultas (searchs and reads) e
atualizações (updates).
• Segurança: prove mecanismos para clientes provarem sua identidade
(autenticação) e para o servidor controlar o acesso aos dados de clientes
autenticados (autorização). O LDAPv3 prove vários métodos de
autenticação incluindo o Simple Authentication and Security Layer (SASL).
11
DN – Distintinguished name
• São nomes distintos que identificam cada entrada no
backend;
• Representa o caminho completo desde a raiz do diretório até
o elemento que estamos referenciando.
• Ex: cn=carlos,ou=pessoas,dc=carlosveiga,dc=com,dc=br
• O DN deve ser único em toda a árvore LDAP
13
Atributo DC
• O objectClass Domain possui um atributo chamado dc
utilizado para mapear domínios como o DNS;
– Exemplo: dc=foo,dc=com - referencia o domínio foo.com.
14
Arquivo LDIF
• O LDIF é um formato para armazenar de arquivo com o objetivo de armazenar
informações que compõem a base LDAP
• A sintaxe de um arquivo LDIF é simples, obedecendo as seguintes regras:
– Uma linha identificando o DN
– Atributos no formato: “atributo: valor”
15
LDIF - Exemplo
16
dn: dc=nervosao,dc=com,dc=brobjectClass: domaindc: ime dn:
dn: cn=admin,dc=nervosao,dc=com,dc=brobjectClass: organizationalRoleobjectClass: simpleSecurityObjectcn: admindescription: Administrador do LDAP userPassword: {CRYPT}NHiC2OYs6eym2
dn: ou=Users,dc=nervosao,dc=com,dc=brobjectClass: organizationalUnitou: Usersdescription: Usuários da organização
dn: ou=Groups,dc=ime,dc=usp,dc=brobjectClass: organizationalUnitou: Groupsdescription: Grupos do sistema