INTRODUO LDAP Professor Claudio Cavalcante LDAP Tpicos Introduo




















































- Slides: 52
INTRODUÇÃO LDAP Professor: Claudio Cavalcante
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? – É um banco de dados especializado com informações descritivas baseadas em atributos e organizadas em forma de árvore. • Característica de um diretório: – 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 (RFC 1249) LDAP: X. 500 Lightweight Access Protocol (RFC 1487) LDAP (RFC 1777) 1998 LDAP v 2 LDAP v 3 (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 v 2 • Autenticação forte com Kerberos v 4. – 1997 LDAP v 3 (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 • Interligação ( Windows , Linux, Unix , Mac. OS) • Integração entre Serviços • 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: organizational. Person 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: organizational. Person 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: organizational. Person cn: Gern Jensen cn: Gern O Jensen sn: Jensen uid: gernj telephonenumber: +1 408 555 1212 description: : V 2 hhd. CBh. IGNhcm. Vmd. Wwgcm. Vh. ZGVy. IHlvd. SBhcm. Uh. ICBUa. Glz. IHZhb. HVl. IGlz. IGJhc 2 Ut. Nj. Qt. ZW 5 jb 2 Rl. ZCBi. ZWNhd. XNl. IGl 0 IGhhcy. Bh. IGNvbn. Ryb 2 wg. Y 2 hhcm. Fjd. GVy. IG lu. IGl 0 IChh. IENSKS 4 NICBCe. SB 0 a. GUgd 2 F 5 LCB 5 b 3 Ugc 2 hvd. Wxk. IHJl. YWxse. SBn. ZXQ gb 3 V 0 IG 1 vcm. Uu 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: organizational. Person 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: • Search • Compare – Operações de atualização: • • Add Delete 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) • LDAPv 2, autenticação simples e pode utilizar Kerberos v 4 e v 5 • LDAPv 3, 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 • LDAPv 3: 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-MD 5). – Servidores com autenticação e criptografia de dados (usa Start. TLS 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/rep 2. 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
php. LDAPadmin - Criação 50
php. LDAPadmin - Edição 51
php. LDAPadmin - Buscas 52