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
Schemas(Exemplo)
6
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 nervosao@nervoso.com
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
Classes de Objetos
10
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
Modelos LDAP
12
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=br
objectClass: domain
dc: ime dn:
dn: cn=admin,dc=nervosao,dc=com,dc=br
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: admin
description: Administrador do LDAP
userPassword: {CRYPT}NHiC2OYs6eym2
dn: ou=Users,dc=nervosao,dc=com,dc=br
objectClass: organizationalUnit
ou: Users
description: Usuários da organização
dn: ou=Groups,dc=ime,dc=usp,dc=br
objectClass: organizationalUnit
ou: Groups
description: Grupos do sistema
Comandos
17
Integrações
18
Integrações
19
Referências
• Gerald Carter, LDAP System Administration
• www.openldap.org
20

Aula03 - protocolo ldap

  • 1.
    Centro Universidade Anhanguera deCampo Grande – Unidade 1 Superint. CENTRO-OESTE Tec. em Redes de Computadores Aula 03 – Protocolo LDAP
  • 2.
    Protocolo LDAP • Lightweight 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
  • 3.
    Características • Funcionamento sobreIPV4 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
  • 4.
    Backend que armazenaos 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
  • 5.
    Schema • Todas asinformaçõ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
  • 6.
  • 7.
    Atributos • Semelhantes acampos 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 nervosao@nervoso.com telefone (67)1234 -2334
  • 8.
    Atributos • temos alguns,tais como: – cn: common name (nome comum); – sn: surname (sobrenome); – telephoneNumber: número de telefone; – objectClass: classe de objeto. 8
  • 9.
    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
  • 10.
  • 11.
    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
  • 12.
  • 13.
    DN – Distintinguishedname • 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
  • 14.
    Atributo DC • OobjectClass 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
  • 15.
    Arquivo LDIF • OLDIF é 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
  • 16.
    LDIF - Exemplo 16 dn:dc=nervosao,dc=com,dc=br objectClass: domain dc: ime dn: dn: cn=admin,dc=nervosao,dc=com,dc=br objectClass: organizationalRole objectClass: simpleSecurityObject cn: admin description: Administrador do LDAP userPassword: {CRYPT}NHiC2OYs6eym2 dn: ou=Users,dc=nervosao,dc=com,dc=br objectClass: organizationalUnit ou: Users description: Usuários da organização dn: ou=Groups,dc=ime,dc=usp,dc=br objectClass: organizationalUnit ou: Groups description: Grupos do sistema
  • 17.
  • 18.
  • 19.
  • 20.
    Referências • Gerald Carter,LDAP System Administration • www.openldap.org 20