LDAP. Laboratório de Computação Científica UFMG



Documentos relacionados
Entendendo o OpenLDAP. Por GABRIEL STEIN

Serviço de Diretórios com OpenLDAP. Marcos Sungaila

Segurança da Informação

EXTREME LDAP POR GABRIEL STEIN

Elementos. Setores, departamentos, diretorias etc.

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 5)

Curso de extensão em Administração de redes com GNU/Linux

Sistemas Operacionais de Rede INTRODUÇÃO AO ACTIVE DIRECTORY

O que é LDAP? Protocolo Lightweight Directory Access Protocol Conjunto de critérios, mecanismos e métodos TCP/IP Multiplataforma.

Controle de Acesso em Rede

Lightweight Directory Access Protocol LDAP

Conteúdo Programático

Conceitos de relação de confiança

Introdução ao Active Directory AD

Senado Federal Questões 2012

OpenLDAP. Clodonil Honório Trigo UMA ABORDAGEM INTEGRADA. Novatec

V WSPPD Uma visão geral do OpenLDAP e Active Directory para autenticação de usuários em sistemas heterogêneos e distribuídos

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

ATIVIDADES EM MIDDLEWARE DA RNP

FTIN Formação Técnica em Informática. Sistema Operacional Proprietário Windows Prof. Walter Travassos

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua

BSDDAY - 13 de Agosto SP/Brazil

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

SoftPhone e Integração de diretório ativo

Curso: Redes II (Heterogênea e Convergente)

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 4)

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR. Projeto de Redes de Computadores. 5º PERÍODO Gestão da Tecnologia da Informação GOIÂNIA

LDAP: Usos e Aplicações

Documento de Visão REPOSITÓRIO DE ARQUIVOS V1.0

Roteamento e Comutação

Sistemas Operacionais II. Prof. Gleison Batista de Sousa

Introdução à Banco de Dados. Definição

Network Services Location Manager. Guia para os administradores de rede

O que são Bancos de Dados?

Versão /10. Xerox ColorQube 9301/9302/9303 Serviços de Internet

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Fundamentos de JNDI. Paulo Pires

Gestão de identidades e ICPEDU ou Como implementar uma AR na sua instituição? Jeroen van de Graaf Laboratório de Computação Científica UFMG

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

Configuração do Servidor DHCP no Windows Server 2003

TRBOnet MDC Console. Manual de Operação

Introdução ao Tableau Server 7.0

Manual de Instalação ( Client / Server ) Versão 1.0

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 02. Prof. André Lucio

Instalando software MÉDICO Online no servidor

Sistema de Banco de Dados Distribuídos e DataGrid

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Modelo R02 - Volume 4 - Aplicativo Web Embarcado

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

Guia do laboratório de teste: Configure o SharePoint Server 2010 como um Servidor Único com o Microsoft SQL Server

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Prof. Engº esp Luiz Antonio Vargas Pinto

Servidor DNS. João Medeiros Fatern / 15

Disponibilização do Serviço de Diretório (LDAP) para autenticação de usuários da comunidade UNICAMP

Softwares Aplicativos Banco de Dados

Henry Equipamentos Eletrônicos e Sistemas Ltda.

Engenharia de Software III

MANUAL DO PVP SUMÁRIO

Nokia Internet Modem Manual do Usuário

Integrações com LDAP. Treinamento OTRS Help Desk

Outlook Apresentação

UNIVERSIDADE. Sistemas Distribuídos

Instalação e Configuração do AD DS no Windows Server 2012 R2 INSTALAÇÃO DO SERVIÇOS DE DOMÍNIO DO ACTIVE DIRECTORY (AD DS)

(Capitais e Interior) (Demais Localidades) (Capitais e Interior) Golden Fone (SAC)

Como instalar o Active Directory no Windows Server 2003

GESTÃO DE SISTEMAS E REDES SERVIÇOS DE DIRETÓRIOS MS AD

Rotina de Discovery e Inventário

Redes de Computadores. Ricardo José Cabeça de Souza

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Manual do Visualizador NF e KEY BEST

Configurar o ISE para a integração com um servidor ldap

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

NetWare 6.5. Novell. Instalação e upgrade REQUISITOS MÍNIMOS DE SISTEMA REQUISITOS DE SISTEMA RECOMENDADOS.

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

Gerência de Redes. Arquitetura de Gerenciamento.

Universidade Católica de Brasília Pró-reitoria de Graduação Curso de Ciência da Computação

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX

Curso Básico Sistema EMBI

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

ACL Linux. O que são ACLs e por que usá-las?

OpenLdap: Replicação, disponibilidade e escalabilidade

Servidor, Proxy e Firewall. Professor Victor Sotero

Tutorial de Active Directory Parte 3

Instalação e Configuração do CollabNet Subversion Edge

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Manual de Utilização do TOTVS Restore

Mostrar área de trabalho.scf. Manual do Produto EDI.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Transcrição:

LDAP Laboratório de Computação Científica UFMG

Sumário Diretórios Introdução ao LDAP Modelos do LDAP Formato LDIF Distribuição Replicação

Diretórios

Diretórios Visão Geral O que um diretório faz? O que um diretório permite fazer? Bancos de Dados x Diretórios Por que usar diretórios? Tipos de Diretórios

Visão Geral Base de dados especializada para consulta Serviço de diretório - coleção de software, hardware, processos, políticas, e procedimentos administrativos para disponibilizar a informação do diretório aos seus usuários

O que um diretório faz? Unifica a gerência das informações - Informações de pessoas, serviços, etc - Recursos computacionais - Informações sobre equipamentos e redes Complementa outros serviços - Base de dados para autenticação e autorização - Organiza e facilita o acesso às informações

O que um diretório permite fazer? Organizar as informações hierarquicamente Compartilhar dados entre aplicações Controlar o acesso aos dados Distribuir a gerência dos dados Estender as informações com facilidade

Bancos de Dados x Diretórios Bancos de Dados são usados para armazenar dado que são alterados constantemente. Exemplos Registro de transações bancárias, controle de estoque de um supermercado, armazenar os dados contábeis de uma empresa, etc.

Bancos de Dados x Diretórios Diretórios são usados para armazenar dados que são alterados com pouca freqüência, mas que são consultados constantemente. Exemplos Cadastro de alunos de uma universidade, informações sobre computadores e redes, listas de contatos, etc.

Por que usar diretórios? Permitem que as informações na rede fiquem organizadas de forma mais eficiente Exemplos o uso de de apelidos, o oferecimento de serviço de páginas amarelas, diminuem a dificuldade de encontrar e usar as informações da rede

Tipos de Diretórios Projetados para uma aplicação específica - IBM/Lotus Notes, Microsoft Exchange Projetados para sistemas operacionais de rede - edirectory da Novell e NIS da Sun Projetados para um propósito específico - DNS Projetados para um propósito geral e baseado em padrões - Diretórios baseados no LDAP

O que foi visto O que são diretórios Diferença entre diretórios e bancos de dados Quando usar diretórios Exemplos de diretórios

Introdução ao LDAP

Introdução ao LDAP O que é o LDAP? Histórico - X.500 Histórico - LDAP Exemplos de Servidores LDAP

O que é o LDAP? Lightweight Directory Access Protocol é um protocolo que define o método no qual um diretório é acessado Especificado em 1993 (RFC-1487)

Histórico - X.500 Conjunto completo de padrões propostos pela ITU que definem os aspectos globais do serviço de diretórios Define o DAP (Directory Access Protocol), que consiste em um conjunto de regras para se acessar um diretório X.500

Histórico - X.500 DAP Cliente X.500 Servidor X.500 Cliente X.500 usando DAP para comunicar - se com um servidor X.500

Histórico - LDAP Desenvolvido inicialmente com um front-end do X.500, assim como o DAP Diferenças para o DAP: LDAP usa TCP/IP, enquanto o DAP é baseado nos protocolos de rede OSI Excluídas as funcionalidades obscuras, redundantes e raramente usadas

Histórico - LDAP LDAP DAP Cliente X.500 Tradutor de protocolo LDAP Servidor X.500 LDAP como front-end do X.500

Histórico - LDAP LDAP Cliente LDAP Servidor LDAP LDAP com seu próprio servidor

Servidores LDAP OpenLDAP slapd server Netscape Directory Server Novell edirectory Sun ONE Directory Server IBM Directory Server Oracle Internet Directory Microsoft Active Directory

O que foi visto Breve histórico do LDAP O que é o LDAP Exemplos de servidores LDAP

Modelos do LDAP

Modelo de Nomes DIT DN e RDN Modelo de Informação Objetos Classes de objetos Atributos Schemas Modelo Funcional Leitura e Pesquisa Alteração Autenticação Modelo de Segurança Modelos do LDAP

Modelos do LDAP O LDAP especifica os seguintes modelos Modelo de Nomes Modelo de Informação Modelo Funcional Modelo de Segurança

Modelo de Nomes Como a informação pode ser organizada e referenciada Objetivos Organizar e referenciar as informações no diretório Facilitar a manutenção dos dados Flexibilizar a política de controle de acesso Permitir a partição e a replicação Permitir uma navegação mais simples

Modelo de Nomes Entradas são dispostas hierarquicamente Hierarquia representada por uma Directory Information Tree - DIT Cada entrada é identificada unicamente por um distinguished name -DN

Directory Information Tree root dc=empresa ou=programadores cn=paulo Lara ou=coordenadores cn=maria Helena

DN e RDN DN (Distinguished Name) identifica unicamente uma entrada no DIT Contém a informação do nível em que a entrada está na árvore Exemplo cn=paulo Lara,ou=programadores, dc=empresa RDN (Relative Distinguished Name) é um nome que é único naquele nível de hierarquia Exemplo cn=paulo Lara

Modelo de Informação Tipo de dados e unidades básicas de informação que podem ser armazenados Baseia-se em entradas, que são compostas por atributos Entrada- coleção de informações sobre um objeto

Entradas (ou objetos) Cada entrada possui um nome único (DN) Implementam uma ou mais classes de objetos Em geral, toda entrada implementa uma classe abstrata, pelo menos uma classe estrutural e zero ou mais classes auxiliares Possuem apenas atributos definidos nas classes de objetos implementadas

Entradas (ou objetos) dn: cn=edre Moreira,ou=LCC,ou=ATI,ou=REITORIA,o=UFMG,ou=people,DC=UFMG,DC=BR homephone: +55 031 34435622 givenname: Teste objectclass: top objectclass: person objectclass: organizationalperson objectclass: inetorgperson postalcode: 31255800 userpassword:: e2nyaxb0fvjuvlz2v2w2wwpxcti= uid: edre cn: Edre Moreira street: Belo Horizonte st: MG l: Belo Horizonte sn: Moreira

Classes de Objetos Definem os atributos opcionais e obrigatórios das entradas Podem ser abstratas, estruturais ou auxiliares Possuem um nome único São definidas em um Schema Podem estar presentes em mais de uma entrada Podem herdar propriedades de outras classes de objetos

Classes de Objetos Sintaxe objectclass ( <OID da classe de objeto> [ "NAME" <nome da classe de objetos> ] [ "DESC" <descrição da classe de objeto> ] [ "OBSOLETE" ] [ "SUP" <OID da classe de objeto ancestral> ] [ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) ] [ "MUST" <OID dos atributos obrigatórios> ] [ "MAY" <OID dos atributos não obrigatórios> ] )

Classes de Objetos Exemplo objectclass ( 1.3.6.1.4.1.15996.1.2.1 NAME objpessoa SUP top STRUCTURAL DESC Dados de pessoas MUST ( pessoaid $ nome $ sobrenome $ cpf) MAY ( endereco $ telefone $ nascimento $ naturalidade ) )

Atributos Possuem nomes, às vezes abreviações ou apelidos Definem o tipo de dados que podem conter Podem possuir um ou mais valores Podem estar presentes em uma ou mais classes de objetos Alguns atributos funcionam como RDN, por exemplo cn, ou, dc, o

Sintaxe attributetype ( <OID do atributo> [ "NAME" <nome do atrituto> ] [ "DESC" <descrição do atributo> ] [ "OBSOLETE" ] [ "SUP" <OID do atributo ancestral> ] [ "EQUALITY" <regra de comparação> [ "ORDERING" <regra de comparação> [ "SUBSTR" <regra de comparação> ] [ "SYNTAX" <OID da SYNTAX> ] [ "SINGLE-VALUE" ] [ "COLLECTIVE" ] [ "NO-USER-MODIFICATION" whsp ] [ "USAGE" whsp AttributeUsage ] ")" Atributos

Regras de Comparação Define os métodos de comparação de atributos São definidas nas propriedades IGUALITY, SUBSTR e ORDERING Utilizadas para indexação

Atributos Exemplo attributetype ( 1.3.6.1.4.1.15996.1.1.1 NAME nome DESC Nome da pessoa EQUALITY caseignorematch SUBSTR caseignoresubstringsmatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

OID (Object Identifer) Exigidos para identificar unicamente um atributo ou classe de objeto São hierárquicos 1.3.6.1.4.1.15996 RNP/GT-Dir work 1.3.6.1.4.1.15996.1 video related work 1.3.6.1.4.1.15996.1.1 attributes 1.3.6.1.4.1.15996.1.2 objectclass Qualquer empresa pode solicitar um OID para os seus próprios objetos e atributos Obtidos junto à IANA Internet Assigned Numbers Authority Não deve-se usar um OID existente para um novo atributo ou classe de objeto

Schemas Arquivos com definições das classes de objetos, atributos usados e regras de comparação Servidor LDAP deve conhecer os Schemas usados pelas entradas

Modelo Funcional Determina o que pode ser feito com a informação, como pode ser acessada e alterada Categorias Pesquisa Alteração Autenticação

Pesquisa Leitura (read) - retorna os atributos de um DN Listagem (list) - retorna os DNs dos descendentes do DN informado Pesquisa (search) - seleciona entradas de acordo com um filtro de consulta

Filtros de Consulta Operadores: & e ou! não ~= aproximadamente igual >= maior ou igual <= menor ou igual * qualquer

Filtros de Consulta Exemplos (cn=paulo C*) Retorna entradas que possuem o atributo cn com valor iniciado com Paulo C (&(uid=paulo)(sn=lara)) Retorna entradas com o atributo uid com valor igual a paulo e o atributo sn com valor igual a lara

Filtros de Consulta ( (ou=mg)(ou=sp)) Seleciona entradas que possuem o atributo ou com valor igual a mg ou sp (&(objectclass=inetorgperson)(cn=a*)) Retorna entradas que possuem o objectclass inetorgperson e o atributo cn com valor iniciado com A*

Pesquisa Comparação (compare) - recebe um DN, um nome de atributo e uma suposição de valor Indica se o valor corresponde ao valor contido no atributo ou não Usado para validação de senhas, dentre outras aplicações

Alteração Alteração (modify) - modifica entradas existentes. Permite adicionar, excluir e alterar o valor de atributos Adicionar (add) - insere entradas no diretório Apagar (delete) - remove entradas do diretório Alteração RDN (modify RDN) - muda o nome das entradas

Autenticação bind - promove a autenticação do usuário e inicia uma sessão unbind - encerra a sessão

Modelo de Segurança Como a informação pode ser protegida de acessos não autorizados Autenticação Controle de Acesso e Autorização Integridade de Dados Privacidade de dados

O que foi visto Operações do LDAP Organização dos dados Filtros de busca Definição de classes e atributos

Formato LDIF

Formato LDIF Forma de representação criada para promover o intercambio de informações para o LDAP Dois tipos: Descrição de conjunto de entradas Descrição de sentenças de atualização

Formato LDIF Exemplo: descrição de conjunto de entradas: # empresa,com dn: dc=empresa,dc=com dc: example objectclass: dcobject objectclass: organization o: Empresa LTDA. # programadores,empresa,com dn: ou=programadores,dc=empresa,dc=com ou: programadores description: Programadores da empresa objectclass: organizationalunit

Formato LDIF Exemplo: descrição de sentença de atualização: # apagando múltiplos atributos dn: cn=paulo Lara,ou=programadores,dc=empresa,dc=com changetype: modify # apaga todos os números de telefone delete: telephonenumber # acrescentando novos atributos para uma nova entrada dn: cn=maria Helena,ou=analistas,dc=empresa,dc=com changetype: add objectclass: inetorgperson cn: Maria Helena cn: Maria Helena Silva telephonenumber: 88487755

O que foi visto Formato do arquivo LDIF para descrever entradas Formato do arquivo LDIF para descrever atualizações

URLs do LDAP

URLs do LDAP Utilizadas para Identificação: registros ou consultas a atributos de um serviço Localização: pode incluir a localização do serviço sendo registrado, como endereço IP ou nome do servidor

Forma geral URLs do LDAP <ldapurl> ::= "ldap://" [ <hostport> ] "/" <dn> [ "?" <attributes> [ "?" <scope> "?" <filter> ] ] <hostport> ::= <hostname> [ ":" <portnumber> ] <attributes> ::= NULL <attributelist> <attributelist> ::= <attributetype> <attributetype> [ "," <attributelist> ] <scope> ::= "base" "one" "sub"

URLs do LDAP dn - Distinguished Name attribute list - Lista de atributos retornados scope base: Pesquisa na base do diretório one: Pesquisa no nível de diretório expecificado sub: Pesquisa nas sub-árvores do diretório filter - Um string contendo um filtro de consulta

URLs do LDAP Exemplos ldap://grude.com/dc=ufmg,dc=br?cn?sub?sn= silva Retorna o atributo cn de todas as entradas da sub-árvore cujo atributo sn é silva ldap://ldap.ufrj.com/ou=people,dc=br, dc=com??one?(&(cn=m*)(mail=*)) Retorna todos os atributos das entradas imediatamente descendentes da entrada people cujo atributo cn inicia-se com M e que possua o atributo mail

O que foi visto Como construir URLs para LDAP

Distribuição

Distribuição Referrals Chaining

Distribuição LDAP permite distribuição da informação entre vários servidores Objetivos Melhorar o desempenho Aumentar a disponibilidade Permitir um bom gerenciamento

Esquema Básico partição 1 partição 2 Representa uma entrada do diretório

Exemplo dc=br dc=ufmg dc=ufpr ou=alunos ou=professores ou=alunos cn=paulo cn=carlos cn=luiz Servidor UFMG Servidor UFPR

União de patições Referrals O servidor requisitado indica em qual servidor procurar as informações requisitadas Bibliotecas do cliente podem implementar o acesso aos diferentes servidores automaticamente Chaining Servidor entra em contato com outros servidores antes de retornar a resposta para o cliente

Cliente Referrals dc=br dc=ufmg 4 dc=ufpr ref:ldap://serivdor/ dc=br,dc=ufpr 3 1 2 dc=ufpr ou=alunos ou=professores ou=alunos cn=paulo cn=carlos cn=luiz Servidor UFMG Servidor UFPR

Referrals Referência é feita pelo atributo ref no servidor UFMG e pela configuração do servidor UFRJ O atributo ref contém a URL do servidor que possui a sub-árvore do diretório que se deseja referenciar O atributo ref é definido na classe de objeto referral

Cliente Chaining dc=br 4 1 dc=ufmg 2 dc=ufpr ou=alunos ou=professores 3 ou=alunos cn=paulo cn=carlos cn=luiz Servidor UFMG Servidor UFPR

O que foi visto Como LDAP suporta distribuição Mecanismo de referral Mecanismo de chaining

Replicação

Replicação Cópia do conteúdo do diretório (total ou parcial) Não existe um modelo padrão Melhora o desempenho e a confiabilidade Aproxima o dado dos usuários Distribui melhor a carga dos servidores Garante redundância do serviço

Replicação dc=br dc=br dc=ufrj dc=ufpr dc=ufmg Replicação dc=ufmg Mestre Replica

O que foi visto Suporte à replicação pelo LDAP

Recaptulação Histórico do LDAP Utilidade de diretórios Organização da informação no LDAP Operações em LDAPs Definição de classes de objetos e atributos Formato LDIF Distribuição Replicação

LDAP Referências RFC1558: A String Representation of LDAP Search Filters RFC2251: Lightweight Directory Access Protocol (v3) RFC2252: Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions RFC2254: The String Representation of LDAP Search Filters RFC2255: The LDAP URL Format RFC3296: Named Subordinate References in Lightweight Directory Access Protocol (LDAP) Directories http://www.zytrax.com/books/ldap/ch2/index.html http://www.developer.com/java/data/article.php/10932_2197131_3 http://www.lc.leidenuniv.nl/awcourse/oracle/network.920/a96577/ concepts.htm#726741 http://www.wdvl.com/authoring/languages/php/pro/prophp1_5.ht ml http://msdn.microsoft.com/library/default.asp?url=/library/enus/adsi/adsi/search_filter_syntax.asp

Referências X.500 e Diretórios http://www.isi.salford.ac.uk/staff/dwc/version.web/contents.htm http://planeta.terra.com.br/informatica/silvello/openldap/capitulo1.html http://penta2.ufrgs.br/aplicosi/x500/x5001.html http://www.pr.gov.br/batebyte/edicoes/1995/bb45/x500.htm