Por GABRIEL STEIN
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
CONCEITO DE DIRETÓRIO Diretórios são utilizados como centralizadores de dados; Dados são: Nome, Email, Telefone, Endereço... REDE um cliente do diretório Um usuário do diretório DADOS: Nome, Email Servidor de diretório
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
Organização Hierárquica: Árvore dn:dc=tchelinux,dc=org OrganizationalUnit dc=org dc=tchelinux Domain ou=palestrantes ou=organizacao cn:gabriel Stein sn:stein description:entendendo OpenLDAP Person
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)
LEVE? EVOLUÇÃO DO DAP? DAP(X.500) - OSI Aplicação Apresentação Sessão Transporte Rede Enlace LDAP - TCP/IP Aplicação Transporte Enlace Física Física
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 softwarelivre (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;
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;
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;
Atributos(Exemplos) Tipo de Atributo Valor cn commonname sn: surname mail: email telephonenumber telefone Address Endereço dc domaincomponent ou organizationalunit
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
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);
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 ) )
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
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
DN: Representação => Árvore dc=org Domain OrganizationalUnit dc=tchelinux ou=palestrantes ou=organizacao cn:gabriel Stein sn:stein description:entendendo OpenLDAP Person dn:cn=gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org
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
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
SLAPD.CONF Diretivas principais Referencia a schemas include /etc/ldap/schema/meuschema.schema Database database bdb Sufixo suffix dc=tchelinux,dc=org
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
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
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
INTEGRAÇÕES
S A M B A OPENLDAP APACHE SQUID POSTFIX
MUITO OBRIGADO!! PERGUNTAS?? gabriel@gabrielstein.org