entendendo o openldap - gabriel stein

26
Entendendo o OpenLDAP Por GABRIEL STEIN

Upload: tchelinux-slides

Post on 18-Dec-2014

2.987 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPPor GABRIEL STEIN

Page 2: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAP

CONCEITOS ABORDADOS

Conceito de diretório / Serviço de diretórioOrganização Hierárquica - Árvore

LDAPHistórico

CaracterísticasAtributos

ObjectClassesSchemasEntrada

DNsArquivos LDIF

Daemons e ConfiguraçõesIntegrações

Gabriel Stein - [email protected]

Page 3: Entendendo o OpenLDAP - GABRIEL STEIN

CONCEITO DE DIRETÓRIO

● Diretórios são utilizados como centralizadores de dados;

● Dados são: Nome, Email, Telefone, Endereço ...

Um usuário do diretório

um cliente do diretório

Servidor de diretório

REDE

DADOS: Nome, Email

Entendendo o OpenLDAPGabriel Stein - [email protected]

Page 4: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAP

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 - [email protected]

Page 5: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

Organização Hierárquica: Árvore

dc=org

dc=tchelinux

ou=palestrantes ou=organizacao

cn:Gabriel Steinsn:Steindescription:Entendendo OpenLDAP

OrganizationalUnit

Person

Domain

dn:dc=tchelinux,dc=org

Gabriel Stein - [email protected]

Page 6: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAP

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 - [email protected]

Page 7: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAP

LEVE? EVOLUÇÃO DO DAP?

Física

Enlace

Rede

Transporte

Sessão

Apresentação

Aplicação

Física

Enlace

Transporte

Aplicação

DAP(X.500) - OSILDAP - TCP/IP

Gabriel Stein - [email protected]

Page 8: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAP

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 - [email protected]

Page 9: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 10: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

Atributos

● São campos que agregam elementos de dados, como nome, telefone, email, endereço;

● Possuem regras para determinar o tipo de valor que será armazenado;

Tipo de Atributo Valor

cn: Gabriel Stein

sn: Stein

mail: [email protected]

Gabriel Stein - [email protected]

Page 11: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

Atributos(Exemplos)

Tipo de Atributo Valor

cn commonName

sn: surname

mail: email

telephoneNumber telefone

Address Endereço

dc domainComponent

ou organizationalUnit

Gabriel Stein - [email protected]

Page 12: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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

Page 13: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 14: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 15: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

Entrada● É um conjunto de informações de UM objeto;

● É onde são referenciados atributos e objectclasses;

Ex:

cn: Gabriel Steinsn: SteintelephoneNumber: 55-5555555mail:[email protected]:inetorgperson

Gabriel Stein - [email protected]

Page 16: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 17: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

DN: Representação => Árvoredc=org

dc=tchelinux

ou=palestrantes ou=organizacao

cn:Gabriel Stein

sn:Stein

description:Entendendo OpenLDAP

OrganizationalUnit

Person

Domain

dn:cn=Gabriel Stein,ou=palestrantes,dc=tchelinux,dc=org

Gabriel Stein - [email protected]

Page 18: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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=orgobjectclass:inetorgpersonuid: gabrielcn: Gabriel Steinsn: SteintelephoneNumber:55-123467

Gabriel Stein - [email protected]

Page 19: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 20: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

SLAPD.CONF

Diretivas principais

● Referencia a schemas

include /etc/ldap/schema/meuschema.schema

● Database

database bdb

● Sufixo

suffix “dc=tchelinux,dc=org”

Gabriel Stein - [email protected]

Page 21: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 22: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 23: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

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 - [email protected]

Page 24: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

INTEGRAÇÕES

Gabriel Stein - [email protected]

Page 25: Entendendo o OpenLDAP - GABRIEL STEIN

SQUIDAPACHE

POSTFIX

SAMBA

OPENLDAP

Gabriel Stein - [email protected]

Page 26: Entendendo o OpenLDAP - GABRIEL STEIN

Entendendo o OpenLDAPEntendendo o OpenLDAP

MUITO OBRIGADO!!

PERGUNTAS??

[email protected]