Entendendo o OpenLDAP - GABRIEL STEIN

  • 2,974 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,974
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
158
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Entendendo o OpenLDAP Por GABRIEL STEIN
  • 2. CONCEITOS ABORDADOS Conceito de diretório / Serviço de diretório Organização Hierárquica - Árvore LDAP Histórico Características Atributos ObjectClasses Schemas Entrada DNs Arquivos LDIF Daemons e Configurações Integrações Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 3. CONCEITO DE DIRETÓRIO ● Diretórios são utilizados como centralizadores de dados; ● Dados são: Nome, Email, Telefone, Endereço ... RE DE um cliente do diretório DADOS: Nome, Email Um usuário do diretório Servidor de diretório Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 4. SERVIÇO DE DIRETÓRIO ● Banco de Dados (NÃO RELACIONAL) para rápida leitura; ● Informações descritivas; ● Organização Hierárquica(árvore); ● Otimização para atender um grande número de requisições; ● Exemplos: DNS, OpenLDAP e Novell eDirectory Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 5. Organização Hierárquica: Árvore dn:dc=tchelinux,dc=org dc=org Domain OrganizationalUnit dc=tchelinux ou=palestrantes ou=organizacao cn:Gabriel Stein Person sn:Stein description:Entendendo OpenLDAP Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 6. LDAP ● Interface de Acesso para o X.500 ●Lightweight Directory Acess Protocol(LDAP) – Protocolo Leve para acessar serviços de diretório; ● LDAP = Evolução do DAP = Directory Access Protocol; ●Conjunto de 4 modelos que servem de guia no uso do diretório(Informação,Nomes,Funcional,Segurança) Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 7. LEVE? EVOLUÇÃO DO DAP? DAP(X.500) - OSI Aplicação LDAP - TCP/IP Apresentação Aplicação Sessão Transporte Transporte Enlace Rede Enlace Física Física Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 8. OPENLDAP - Histórico ●Comecou a ser desenvolvido pela Universidade de Michigan, mas foi descontinuado em 1996 (U-Mich LDAP v.3.3); ● AGOSTO 1998:A empresa Net Boolean, que hospedava serviços de e-mails para companhias utilizando software- livre (Apache, FreeBSD,U-Mich LDAP, etc.) fundou o projeto OpenLDAP, com o objetivo: “to provide open source LDAP software and information” ● No mesmo mês, foi lançado o OpenLDAP 1.0; Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 9. Características ● Funcionamento sobre IPV4 e IPV6(LDAPv3) ● Leve e robusto; ● Suporte a vários backends(BDB,SQL,PASSWD); ● Suporte a múltiplas instâncias de dados; ● “Backup” feito através de réplicas; ● Suporte a SASL(Autenticação) e a TLS/SSL; Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 10. Atributos ●São campos que agregam elementos de dados, como nome, telefone, email, endereço; Tipo de Atributo Valor cn: Gabriel Stein sn: Stein mail: gabriel@gabrielstein.org ●Possuem regras para determinar o tipo de valor que será armazenado; Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 11. Atributos(Exemplos) Tipo de Atributo Valor cn commonName sn: surname mail: email telephoneNumber telefone Address Endereço dc domainComponent ou organizationalUnit Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 12. ObjectClasses ● ObjectClasses são compostas por um conjunto de atributos; ●A inclusão de uma ObjectClass em uma entrada determina quais os atributos deverão ser utilizados e quais poderão ser utilizados(MUST e MAY); Ex: A objectclass person exige os atributos cn e sn, mas pode ser utilizado o atributo telephoneNumber ● Possuem derivações, uma ObjectClass pode herdar atributos requeridos de outra; Ex: A objectclass inetorgperson tem como raiz a objectclass person, por isso os atributos cn e sn são obrigatórios Entendendo o OpenLDAP
  • 13. Schemas ● Conjunto de “regras” integradas ao diretório; ●Regras que determinam qual o tipo de dados e como esses dados serão armazenados na base; ●Essas “regras” são compostas de Atributos e ObjectClasses; ●Cada aplicação integrada ao OpenLDAP pode ter o próprio schema(Ex: SAMBA - samba.schema); Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 14. Schemas(Exemplo) Atributo: attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' ) DESC 'RFC2256: street address of this object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} ) ObjectClass: objectclass ( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) ) Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 15. Entrada ● É um conjunto de informações de UM objeto; ● É onde são referenciados atributos e objectclasses; Ex: cn: Gabriel Stein sn: Stein telephoneNumber: 55-5555555 mail:gabriel@gabrielstein.org objectclass:inetorgperson Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 16. DN – Distinguished Name ●São nomes distintos que identificam cada entrada na base; ●A utilização de dn é importante para referenciar itens da base, adicionando, alterando ou removendo itens da base, como atributos e até mesmo entradas; ●São utilizados nos arquivos LDIF e na autenticação de usuários; Ex: dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 17. DN: Representação => Árvore dc=org Domain OrganizationalUnit dc=tchelinux ou=palestrantes ou=organizacao cn:Gabriel Stein Person sn:Stein description:Entendendo OpenLDAP dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 18. Arquivos LDIF ● Arquivos texto utilizados para adicionar, alterar e remover informações de uma base; ● Devem conter sempre DNs referenciando entradas e informações; Ex: dn:uid=gabriel,ou=palestrantes,dc=tchelinux,dc=org objectclass:inetorgperson uid: gabriel cn: Gabriel Stein sn: Stein telephoneNumber:55-123467 Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 19. Daemons e confs Daemons ● Daemon OpenLDAP: slapd ● Daemon para réplica OpenLDAP: slurpd Confs ● Configuração servidor OpenLDAP: slapd.conf ● Configuração cliente OpenLDAP: ldap.conf Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 20. SLAPD.CONF Diretivas principais ● Referencia a schemas include /etc/ldap/schema/meuschema.schema ● Database database bdb ● Sufixo suffix “dc=tchelinux,dc=org” Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 21. SLAPD.CONF - 2 ● DN para autenticação do administrador da base rootdn “cn=manager,dc=tchelinux,dc=org” ● Senha para autenticação do administrador da base rootpw {SSHA}I8QMpde4dJue4pP21+OToT+9WJ9ADtfl ● Diretório da base directory /var/lib/ldap Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 22. SLAPD.CONF - 3 ● Indexes para tornar a consulta mais rápida index objectclass eq ● ACLs para controle de acesso da base access to attrs=userPassword by dn.base=”cn=manager,dc=tchelinux,dc=org” write by self write by * none Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 23. LDAP.CONF ● Possibilita o acesso a base LDAP através de clientes; ● Referência ao servidor OpenLDAP HOST 10.0.0.1 ● Referência a base LDAP BASE dc=tchelinux,dc=org Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 24. INTEGRAÇÕES Gabriel Stein - gabriel@gabrielstein.org Entendendo o OpenLDAP
  • 25. S A M B A O PE NL APACHE SQUID DA P POSTFIX Gabriel Stein - gabriel@gabrielstein.org
  • 26. MUITO OBRIGADO!! PERGUNTAS?? gabriel@gabrielstein.org Entendendo o OpenLDAP