LDAP
Integrantes:
Carlos Fernando Papotti
José Ricardo M. Bevilacqua
Júlio César Marcondes
Raul Baldin
RA: 02131282
RA: 02534626
RA: 02121069
RA: 02088243
LDAP - Tópicos







Introdução
Definições
Funcionamento
Segurança
Otimizações do LDAP
Exemplos
Conclusão
2
Introdução




O que é um diretório?
O que é o LDAP?
História do LDAP
Origem do LDAP







Protocolo X.500
Cliente do X.500
DAP
Pilha de protocolos
Versões
Por que usar o LDAP?
Diretório LDAP
3
O que é um Diretório?

O que é um diretório?


Característica de um diretório:


É um banco de dados especializado com informações
descritivas baseadas em atributos e organizadas em forma de
árvore.
Resposta rápida a grande quantidade de consultas.
Tipos de diretórios:




De aplicações: diretório do MS Exchange, etc.
De sistemas operacionais de rede: NIS (Sun), AD (Microsoft)
De propósito específico: DNS
De propósito geral: LDAP
4
O que é o LDAP?

Lightweight Directory Access Protocol
Protocolo Leve de Acesso a Diretórios.
 Trabalha na camada de aplicação da pilha de
protocolos TCP/IP, como por exemplo o SMTP,
HTTP, FTP, TELNET e tantos outros.
 RFCs 2251 – 2830 e 3377
 Cliente-Servidor.
 Orientado a mensagens.

5
História do LDAP
1988
X.500 A CCITT (atual ITU) cria a versão
Standard X.500 , ISO 9594
Data Communications Network Directory
DAS: Directory Assistance Service (RFC 1202)
DIXIE: Protocol Specification (RFC1249)
LDAP: X.500 Lightweight Access Protocol (RFC 1487)
LDAP (RFC 1777)
1998
LDAP v2
LDAP v3 (RFC 3377)
6
Origem do LDAP – Diretórios X.500

Características Principais do X.500

Conexão de Serviços de Diretórios locais a fim de
formar um diretório global distribuído.

Parte do diretório fica global e sua informação é
disponibilizada através de um Agente do Sistema de
Diretórios

Trabalha com funções de gerenciamento, isto é,
adição, modificação e deleção de entradas.
7
Origem do LDAP – Cliente do X.500

O LDAP foi desenvolvido para ser um cliente
para o X.500, o serviço de Diretório OSI. O
X.500 define o Protocolo de Acesso a Diretório
(DAP) para os clientes usarem quando estiverem
em contato com servidores de Diretório.
www.ldap.org
8
Origem do LDAP - DAP

O DAP era um protocolo difícil de trabalhar e
implementar, e protocolos mais fáceis foram
desenvolvidos com a maior parte de sua
funcionalidade, mas com muito menos
complexidade.
www.ldap.org.br
9
Origem do LDAP – Pilha de Protocolos

O LDAP roda diretamente sobre o TCP e
fornece a maioria das funcionalidades do DAP, a
um custo muito menor.
www.ldap.org.br
10
Origem do LDAP – Versões

Versões LDAP
1993 primeira versão
 1996 LDAP v2



Autenticação forte com Kerberos v4.
1997 LDAP v3 (atual)

Esta última foi desenvolvida para solucionar uma série de
limitações existentes na anterior, incluindo aspectos de segurança,
passando a suportar protocolos de autenticação forte como o
Simple Authentication Security Layer (SASL) e o Transport Layer
Security (TLS)
11
Por que usar o LDAP?

Integração entre sistemas Operacionais


Integração entre Serviços




Interligação ( Windows , Linux, Unix , MacOS)
Serviços de e-mail, FTP , Web etc.
Desempenho nas consultas: Desenvolvido
com ênfase na leitura, ou seja, os dados serão
lidos rapidamente por um número maior de
consultas simultâneas.
Difundido no mercado
Não requer hardware pesado para operações
12
Por que usar o LDAP?
www.ldap.org.br
13
Diretório LDAP

Representação gráfica de parte de um diretório LDAP:
14
Definições

LDIF
O que é LDIF?
 Exemplo simples com 2 entradas
 Exemplo com uma entrada codificada em base-64
 Exemplo com uma entrada referenciando um
arquivo externo
 Representação gráfica de um arquivo LDIF

15
O que é LDIF?

LDAP Data Interchange Format
Formato de intercâmbio de informações para o
LDAP
 Definido na RFC 2849 - The LDAP Data
Interchange Format
 Esse formato de dados descreve o diretório e suas
entradas em formato texto
 Formato básico: dn: <indentificador_único>

<atributo>: <valor>
<atributo>:: <valor codif. em base-64>
<atributo>: < <URL>
...
16
LDIF
Exemplo Simples com 2 entradas
version: 1
dn: cn=Barbara Jensen, ou=Product Development, dc=airius, dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
cn: Barbara Jensen
cn: Barbara J Jensen
cn: Babs Jensen
sn: Jensen
uid: bjensen
telephonenumber: +1 408 555 1212
description: A big sailing fan.
dn: cn=Bjorn Jensen, ou=Accounting, dc=airius, dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
cn: Bjorn Jensen
sn: Jensen
telephonenumber: +1 408 555 1212
17
LDIF
Exemplo com uma entrada
codificada em base-64
version: 1
dn: cn=Gern Jensen, ou=Product Testing, dc=airius, dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
cn: Gern Jensen
cn: Gern O Jensen
sn: Jensen
uid: gernj
telephonenumber: +1 408 555 1212
description::
V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVlIGlzIGJhc
2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdGVyIG
luIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQ
gb3V0IG1vcmUu
18
LDIF
Exemplo com uma entrada
referenciando um arquivo externo
version: 1
dn: cn=Horatio Jensen, ou=Product Testing, dc=airius, dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
cn: Horatio Jensen
cn: Horatio N Jensen
sn: Jensen
uid: hjensen
telephonenumber: +1 408 555 1212
jpegphoto:< file:///usr/local/directory/photos/hjensen.jpg
19
LDIF

Representação gráfica de um arquivo LDIF:
20
Funcionamento

Operação do protocolo LDAP
Recebimento de uma única entrada (Pesquisa)
 Recebimento de várias entradas(Pesquisa)
 Requisição de várias operações
 Tipos de operações do LDAP
 Troca completa de mensagens entre Cliente e Servidor
 Combinação de simples operações  Tarefa
complexa

21
Operação do protocolo LDAP

Recebimento de uma única entrada:


Caso o LDAP Server ache apenas um valor para a operação
de Search realizada, esse valor é retornado.
Na requisição, o cliente envia um ID único (msgid). Esse ID
é usado nas respostas para identificar as mensagens.
22
Operação do protocolo LDAP

Recebimento de várias entradas:


Caso o LDAP Server ache diversos valores para a operação
de Search realizada, eles são retornados em mensagens
separadas.
Cada entrada retornada tem um nome único chamado de
distinguished name (DN).
23
Operação do protocolo LDAP

Requisição de várias operações:


Como o LDAP é orientado a mensagem, é possível realizar
diversas operações ao mesmo tempo.
Isto torna o protocolo mais flexível e eficiente, pois não há a
necessidade de esperar uma resposta do server antes de
realizar outra operação, como no HTTP.
24
Operação do protocolo LDAP

Tipos de operações do LDAP, divididas em 3 classes:

Operações de pergunta:



Operações de atualização:





Search
Compare
Add
Delete
Modify
Modify DN (Rename)
Operações de autenticação e controle:



Bind (Cliente se autentica com o Servidor)
Unbind (Cliente termina sessão com o Servidor)
Abandon (Cliente não está mais interessado nas respostas da
requisição anteriormente enviada)
25
Operação do protocolo LDAP

Troca completa de mensagens entre Cliente e
Servidor:
26
Operação do protocolo LDAP

A combinação de simples operações podem realizar
tarefas complexas, exemplo:
27
Segurança



A Segurança no LDAP
Métodos de Autenticação
Método de Criptografia
Transport Layer Security
 LDAP usando SASL com SSL/TLS
 Comunicação pela Internet


Modelo de Controle de Acesso
28
A Segurança no LDAP

Protegendo informações de acessos indevidos:

Autenticação.
LDAP, só autenticação simples (texto aberto)
 LDAPv2, autenticação simples e pode utilizar Kerberos
v4 e v5
 LDAPv3, utiliza framework SASL (Simple Authentication
and Security Layer) – múltiplos mecanismos de autenticação

Transmissão de dados segura (criptografia).
 Modelos de controle de acesso.

29
Métodos de Autenticação


LDAPv3: métodos de autenticação definidos na RFC
2829 (Authentication Methods for LDAP).
Nessa RFC, os servidores foram quebrados em 3
grupos:



Servidores LDAP públicos Somente-leitura (permitem login
anônimo, sem senha).
Servidores com autenticação usando senhas (usa mecanismo
SASL DIGEST-MD5).
Servidores com autenticação e criptografia de dados (usa
StartTLS para camada de transporte segura e certificados
com chaves públicas para autenticação de ambos os lados).
30
Método de Criptografia


Transport Layer Security (TLS)
TLS proporciona:


Autenticidade, Integridade e Criptografia de dados
Clientes que usam TLS na comunicação:




Suas mensagens não serão decifradas caso sejam capturadas.
Suas mensagens não serão alteradas (homem do meio)
Podem autenticar o servidor (usando certificados com chaves
públicas)
Podem verificar a autenticidade de servidores nos quais ele já
está conectado (usando certificados com chaves públicas)
31
Método de Criptografia

LDAP usando SASL com SSL/TLS
32
Método de Criptografia
33
Modelo de Controle de Acesso

Define os direitos de acesso as informações do
diretório para cada usuário ou grupo:

Ex:




Somente leitura de nomes para usuário Administrator;
Alteração de descrição para todos os usuários;
Leitura de informações básicas do diretório para usuário Anônimo;
Não foi padronizado pela IETF (ainda estão definindo
um padrão).

Cada fabricante tem um padrão distinto  muito trabalho de
migração caso seja necessário mudar de fabricante.
34
Otimizações do LDAP


Tipos de otimizações
Replicação de Diretório
Problema
 Solução
 Resultado


Diretórios Distribuídos
Problema
 Solução

35
Tipos de Otimizações


Replicação do serviço de diretórios  Conceito de
prover mecanismos de tolerância a falhas afim que
manter o acesso as informações dos usuário sempre
integra.
Diretórios distribuídos  Conceito que visa reduzir
os pontos de falhas , alem de prover menor consumo
de banda e tempo quando uma consulta é realizada. O
principal benefício é a possibilidade de redução de
custos com hardware
36
Replicação de Diretório

Problema: Muitos computadores acessando um
servidor  ponto de falha.
www.ldap.liceu.com.br/img/rep2.jpg
37
Replicação de Diretório

Solução: Usar o conceito de Diretórios
Replicados para usar uma redundância quando
for necessário.
38
Replicação de Diretório

Quando temos uma falha no serviço o outro
servidor entra em operação de forma automática.
39
Diretórios Distribuídos

Problema: Muitos Computadores acessando o
local que reside a informação. ( Tempo elevado e
utilização do hardware para consulta)
40
Diretórios Distribuídos

Solução: Utilização de vários computadores na
formação na arvore de Diretórios.
41
Exemplos

Exemplo prático – Windows
Conceitos e nomenclaturas
 Cenário
 Active Directory – Considerações


Ferramentas - Linux

PHP Admin
42
Exemplo Prático – Windows

Conceitos e Nomenclaturas:
Forest Root  Principal Servidor da Floresta.
 Global Catalog  Arquivo que reúne todas as
informações sobre os Componentes do Domínio
computadores, usuários , impressoras e seus
atributos.
 Member Server : Servidor membro, roda
aplicações (Banco de Dados, Controle de Versões,
Servidor de Arquivos etc)
 Domain Controler  Controlador do Domínio,
controla os objetos do domínio.

43
Exemplo Prático – Windows - Cenário
44
Exemplo Prático – Windows - Cenário

Nesta paste do Exemplo temos o Forest Root ,
onde fica armazenado o Global Catalog(Arquivo
de Diretórios) principal da Floresta.
45
Exemplo Prático – Windows - Cenário
www.microsoft.com
46
47
Active Directory – Considerações

Interface LDAP para Windows  Atualmente ADFS

Cada Domain Controler tem o Active Directory
Instalado para controlar os objetos do seu Domínio.

As informações são replicadas de tempos em tempos
para manter a consistência dos dados. Informações
Urgentes são replicadas no momento da alteração.
48
Ferramentas Linux

php LDAP admin
Módulo Web para administração do servidor
LDAP
 Visualização hierárquica da árvore LDAP
 Intuitivo, fácil e LIVRE!
 Funciona também em outros SOs
 Suporte internacional (8 línguas)
 Mais informações:
http://phpldapadmin.sourceforge.net/

49
phpLDAPadmin - Criação
50
phpLDAPadmin - Edição
51
phpLDAPadmin - Buscas
52
Conclusão

Protocolo leve – não necessita de muitos recursos
computacionais;

Padrão aberto – é possível a construção de produtos para várias
plataformas (OpenLDAP);

Expansível – podem ser adicionadas novas funcionalidades para
atender às necessidades dos serviços de diretório e de segurança
(framework SASL);

Porém não é a solução para todos os problemas, pois não
substitui tão eficientemente serviços como Servidores FTP,
Servidores WEB ou Sistemas de Arquivos, por exemplo.
53
Bibliografia







Timothy A. Howes Ph.D., Mark C. Smith, Gordon S.
Good, Understanding and Deploying LDAP
Directory Services, 2nd Edition, 2003, Ed. Addison
Wesley
http://www.ldap.org.br/
http://penta2.ufrgs.br/~mfiorese/tutorial_quipu/x500
.htm
http://www.openldap.com
http://www.rnp.br/newsgen/0203/processamento_din
amico.html#ng-2-2
http://phpldapadmin.sourceforge.net/
http://www.microsoft.com
54
Dúvidas?
?
55
Download

LDAP - cesarkallas.net