590 likes | 1.13k Views
LDAP. Integrantes: Carlos Fernando Papotti RA: 02131282 José Ricardo M. Bevilacqua RA: 02534626 Júlio César Marcondes RA: 02121069 Raul Baldin RA: 02088243. LDAP - Tópicos. Introdução Definições Funcionamento Segurança Otimizações do LDAP Exemplos Conclusão. Introdução.
E N D
LDAP Integrantes: Carlos Fernando Papotti RA: 02131282 José Ricardo M. Bevilacqua RA: 02534626 Júlio César Marcondes RA: 02121069 Raul Baldin RA: 02088243
LDAP - Tópicos • Introdução • Definições • Funcionamento • Segurança • Otimizações do LDAP • Exemplos • Conclusão
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
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
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.
História do LDAP X.500 A CCITT (atual ITU) cria a versão Standard X.500 , ISO 9594 Data Communications Network Directory 1988 DAS: Directory Assistance Service (RFC 1202) DIXIE: Protocol Specification (RFC1249) LDAP: X.500 Lightweight Access Protocol (RFC 1487) LDAP (RFC 1777) LDAP v2 LDAP v3 (RFC 3377) 1998
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.
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
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
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
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)
Por que usar o LDAP? • Integração entre sistemas Operacionais • Interligação ( Windows , Linux, Unix , MacOS) • 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
Por que usar o LDAP? www.ldap.org.br
Diretório LDAP • Representação gráfica de parte de um diretório LDAP:
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
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> ...
LDIFExemplo 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
LDIFExemplo 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:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVlIGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdGVyIGluIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQgb3V0IG1vcmUu
LDIFExemplo 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
LDIF • Representação gráfica de um arquivo LDIF:
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
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.
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).
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.
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 • 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)
Operação do protocolo LDAP • Troca completa de mensagens entre Cliente e Servidor:
Operação do protocolo LDAP • A combinação de simples operações podem realizar tarefas complexas, exemplo:
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
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.
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).
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)
Método de Criptografia • LDAP usando SASL com SSL/TLS
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.
Otimizações do LDAP • Tipos de otimizações • Replicação de Diretório • Problema • Solução • Resultado • Diretórios Distribuídos • Problema • Solução
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
Replicação de Diretório • Problema: Muitos computadores acessando um servidor ponto de falha. www.ldap.liceu.com.br/img/rep2.jpg
Replicação de Diretório • Solução: Usar o conceito de Diretórios Replicados para usar uma redundância quando for necessário.
Replicação de Diretório • Quando temos uma falha no serviço o outro servidor entra em operação de forma automática.
Diretórios Distribuídos • Problema: Muitos Computadores acessando o local que reside a informação. ( Tempo elevado e utilização do hardware para consulta)
Diretórios Distribuídos • Solução: Utilização de vários computadores na formação na arvore de Diretórios.
Exemplos • Exemplo prático – Windows • Conceitos e nomenclaturas • Cenário • Active Directory – Considerações • Ferramentas - Linux • PHP Admin
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.
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.
Exemplo Prático – Windows - Cenário www.microsoft.com
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.
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/