SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
OpenLDAP
Pag 1
Marcio Garcia
marciogarcia@gmail.com
Cronograma
O que é ?
Vantagens
Administração centralizada
Recursos em se utilizar o OpenLDAP
Instalação e configuração
Cases
Pag 2
Introdução
Em quantos lugares diferentes em sua empresa existem
dados sobre seus funcionários ?
Pag 3
Introdução
Rede
AplicaçõesProxy
...E-mail
Panorama atual
Pag 4
Introdução
Panorama ideal
Proxy
Rede
Aplicações
E-mail
LDAP
Pag 5
O que é ?
LDAP
Lightweight Directory Access Protocol
Protocolo Leve de Acesso a Diretório
Diretório ??Leve ?!?!
Pag 6
O que é ?
Leve ?
Foi desenvolvido para o modelo OSI;
O LDAP roda sobre TCP/IP.
Pag 7
O que é ?
Pag 8
O que é ?
Serviço de Diretório:
Um banco de dados otimizado para leitura;
Tende a conter informações descritivas;
Organizado em forma hierárquica (árvore);
Otimizado para dar respostas rápidas;
Suporta um alto volume de procura;
O DNS é um exemplo de um serviço de diretório; ...
Pag 9
O que é ?
Organização dos dados
Pag 10
OpenLDAP
Pag 11
OpenLDAP
Histórico
O protocolo LDAP começou a ser desenvolvido pela
Universidade de Michigan, mas foi descontinuado em 1996
(U-Mich LDAP v.3.3).
Em Agosto de 1998 a empresa Net Boolean, que
hospedava serviços de e-mails para companhias utilizando
software-livre (Apache, FreeBSD, Sendmail, majordomo, e U-
Mich LDAP) fundou o projeto OpenLDAP, com o objetivo: “to
provide open source LDAP software and information”
Pag 12
OpenLDAP
Histórico
Em agosto de 1998 foi lançada a versão 1.0 do OpenLDAP.
O Projeto OpenLdap visa desevolver um servidor robusto,
completo e open-source do protocolo LDAP e suas
ferramentas de desenvolvimento.
O projeto é mantido por uma série de programadores
voluntários no mundo inteiro, que desenvolvem a gama de
Aplicativos OpenLdap.
Pag 13
OpenLDAP
Características
Ldap v3 sobre IPV4 e IPV6;
Autenticação simples e camada de segurança (Cyrus-SASL);
Segurança no Transporte (TLS / SSL);
Controle de topologia da rede (TCP wrappers);
Instâncias múltiplas do Banco de Dados;
Multi-Thread;
ACL;
Réplica (Slurpd / Sync *);
Proxy Cache *
* Disponível somente
na família 2.2
Pag 14
OpenLDAP
Funcionalidades
Catálogo de endereços;
Autenticação;
Armazenamento de certificados digitais (S/MIME);
Armazemanento de chaves públicas (PGP);
Armazenamento de informações do funcionário;
...
Pag 15
OpenLDAP
LDIF – LDAP Data Interchange Format
Arquivo texto utilizado para importar / exportar dados.
Padrão definido na RFC 2849 – (The LDAP Data
Interchange Format (LDIF) - Technical Specification);
Pag 16
Estrutura da base do OpenLDAP
# vi base.ldif
dn: c=BR
objectClass: country
c: BR
dn: o=TheSource,c=BR
objectClass: organization
o: TheSource
dn: ou=Consultoria,o=TheSource,c=BR
objectClass: organizationalUnit
ou: Consultoria
c= BR
o= TheSource
ou= Consultoria
Pag 17
Estrutura do usuário
# vi usuario.ldif
dn: uid=mgarcia, ou=Consultoria, o=TheSource, c=BR
objectClass: inetOrgPerson
uid: mgarcia
cn: Marcio Garcia Marcenari
sn: Marcenari
mail: mgarcia@thesource.com.br
userPassword: {SSHA}ADZXCA!-3210238djk==
c= BR
o= TheSource
ou= Consultoria
uid= mgarcia
Pag 18
Panorama da base LDAP
c= BR
o= TheSource
ou= Consultoria
uid= mgarcia
o= FOO
ou= TI
uid= foo@foo
Base OpenLDAP
Outras Possibilidades
Pag 19
Vantagens
IPV4/IPV6;
SSL/TLS;
ACL's
Réplica;
Cache;
Multi-Thread;
Backup;
Restore;
Indexão;
Administração centralizada...
Pag 20
Administração Centralizada
Pag 21
Administração Centralizada
Pag 22
Administração Centralizada
Pag 23
Administração Centralizada
Pag 24
Catálogo de Endereços
Informações dos funcionários da empresa:
Nome;
Telefone comercial;
Telefone celular;
Ramal;
Endereço de trabalho;
Email;
Departamento;
Cargo, etc...
Pag 25
Principais cuidados com o LDAP
Criptografia;
ACL's;
Senhas,
Firewall, ....
Pag 26
Aplicativos
Pag 27
Aplicativos
BIND
Pag 28
Instalação
Pré-requisitos
openssl
BerkeleyDB
Cyrus-SASL
apache
php4
php4-pear
php4-ldap
Pag 29
Instalação
Pacotes
db-4.x.xx.tar.gz
http://www.sleepycat.com/download/index.shtml
cyrus-sasl-2.1.xx.tar.gz
http://asg.web.cmu.edu/cyrus/download/
openldap-2.3.xx.tar.gz
http://www.openldap.org
Pag 30
Instalação
db-4.x.xx.tar.gz
# tar xzvf db-4.x.xx.tar.gz
# cd db-4.x.xx
# cd build_unix
# ../dist/configure --prefix=/usr/local
# make
# make install
# echo “/usr/local/lib” >> /etc/ld.so.conf
# ldconfig -v
Pag 31
Instalação
cyrus-sasl-2.1.xx.tar.gz
# tar xzvf cyrus-sasl-2.1.xx.tar.gz
# cd cyrus-sasl-2.1.xx
# ./configure
# make
# make install
# ln -s /usr/local/lib/sasl2 /usr/lib
Pag 32
Instalação
openldap-2.3.xx.tar.gz
# tar xzvf openldap-2.3.xx.tar.gz
# cd openldap-2.3.xx
# ./configure
# make depend
# make
# make install
Pag 33
Configuração
Configurando o OpenLDAP – Opções Globais
# cd /usr/local/etc/openldap/
# vi slapd.conf
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args
loglevel 256
Pag 34
Configuração
Configurando o OpenLDAP – Opções do Banco
# cd /usr/local/etc/openldap/
# vi slapd.conf
database bdb
suffix “c=BR”
rootdn “cn=Manager,c=BR”
rootpw {SSHA}Casdkjahs2198!@#sdkjhasd127
directory /usr/local/var/openldap-data
Pag 35
Configuração
Configurando o OpenLDAP – Opções de Pesquisa
# cd /usr/local/etc/openldap/
# vi slapd.conf
index objectClass eq
index cn,sn,mail eq,sub
Pag 36
Iniciando o OpenLDAP
# /usr/local/libexec/slapd
# ps wax | grep slapd
551 ? Ss /usr/local/libexec/slapd
552 ? S /usr/local/libexec/slapd
553 ? S /usr/local/libexec/slapd
Pag 37
# vi base.ldif
dn: c=BR
objectClass: country
c: BR
dn: o=TheSource,c=BR
objectClass: organization
o: TheSource
dn: ou=Consultoria,o=TheSource,c=BR
objectClass: organizationalUnit
ou: Consultoria
c= BR
o= TheSource
ou= Consultoria
Estrutura da base do OpenLDAP
Pag 38
Estrutura do usuário
# vi usuario.ldif
dn: uid=mgarcia, ou=Consultoria, o=TheSource, c=BR
objectClass: inetOrgPerson
uid: mgarcia
cn: Marcio Garcia Marcenari
sn: Marcenari
mail: mgarcia@thesource.com.br
userPassword: {SSHA}ADZXCA!-3210238djk==
c= BR
o= TheSource
ou= Consultoria
uid= mgarcia
Pag 39
Importando as entradas
# ldapadd -x -W -v -D 'cn=Manager,c=BR' -f base.ldif
# ldapadd -x -W -v -D 'cn=Manager,c=BR' -f usuario.ldif
c= BR
o= TheSource
ou= Consultoria
uid= mgarcia
Base OpenLDAP
Outras Possibilidades
Pag 40
o= FOO
ou= TI
uid= foo@foo
Consultando a base OpenLDAP
# ldapsearch -x -b c=BR Consulta toda a base
# ldapsearch -x -b c=BR -u uid=mgarcia Consulta o usuário mgarcia
c= BR
o= TheSource
ou= Consultoria
uid= mgarcia
Base OpenLDAP
Outras Possibilidades
Pag 41
o= FOO
ou= TI
uid= foo@foo
Backup / Restore da base
Backup
# ldapsearch -x -b c=BR -LLL > base_bkp.ldif
Restore
# ldapadd -x -W -v -D 'cn=Manager,c=BR' -f base_bkp.ldif
Pag 42
Indexando a base OpenLDAP
# slapindex -v
Alguns cuidados:
Não cancelar a indexão;
Não pode haver nenhuma alteração na base no momento da indexão;
Não pode haver queda de energia.
Vantagens:
Torna a pesquisa mais rápida... eficaz...
Pag 43
PHPLdapAdmin
Pacotes
phpldapadmin-0.9.x.tar.gz
http://phpldapadmin.sourceforge.net
# tar xzvf phpldapadmin-0.9.x.tar.gz -C /var/www/webmail
# cd /var/www/webmail
# mv phpldapadmin-0.9.x adm
# cd adm
# cp config.php.example config.php
# vi config.php
OBS.: Seguir as instruções do arquivo de configuração.
# cd ..
# chown -R www-data: adm
Pag 44
Tunning
DB_CONFIG
http://www.sleepycat.com/docs/ref/env/db_config.html
http://www.openldap.org/faq/index.cgi?file=2
Onde devo criar o arquivo DB_CONFIG ?
O arquivo deve ser criado no diretório:
# touch /usr/local/var/openldap-data/DB_CONFIG
OBS.: Após criar o arquivo, o LDAP deverá ser reiniciado.
Pag 45
Dúvidas
Marcio Garcia
marciogarcia@gmail.com
Pag 46

Mais conteúdo relacionado

Semelhante a Workshop_OpenLDAP

Servidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPServidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPThiago Finardi
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiTchelinux
 
Integrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAPIntegrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAPelliando dias
 
LDAP: Usos e Aplicações
LDAP: Usos e AplicaçõesLDAP: Usos e Aplicações
LDAP: Usos e Aplicaçõeselliando dias
 
Fluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaFluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaCésar Araújo
 
Open ldap linuxcon_working
Open ldap linuxcon_workingOpen ldap linuxcon_working
Open ldap linuxcon_workingLeandro Mendes
 
Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012paulo_graca
 
Circuito_Openldap_Avançado
Circuito_Openldap_AvançadoCircuito_Openldap_Avançado
Circuito_Openldap_AvançadoMarcio Garcia
 
Entendendo o OpenLDAP - GABRIEL STEIN
Entendendo o OpenLDAP - GABRIEL STEINEntendendo o OpenLDAP - GABRIEL STEIN
Entendendo o OpenLDAP - GABRIEL STEINTchelinux
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Gabriel Machado
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Mario Guedes
 
Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...
Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...
Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...Pedro Príncipe
 
Uma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active DirectoryUma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active Directoryelliando dias
 
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchUma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchLuiz Henrique Zambom Santana
 

Semelhante a Workshop_OpenLDAP (20)

LDAP
LDAPLDAP
LDAP
 
Servidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPServidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAP
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
 
OpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-loOpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-lo
 
Integrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAPIntegrando FreeBSD com Active Directory e OpenLDAP
Integrando FreeBSD com Active Directory e OpenLDAP
 
LDAP: Usos e Aplicações
LDAP: Usos e AplicaçõesLDAP: Usos e Aplicações
LDAP: Usos e Aplicações
 
Fluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaFluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibana
 
Cliente Servidor
Cliente ServidorCliente Servidor
Cliente Servidor
 
Apresentação3
Apresentação3Apresentação3
Apresentação3
 
Open ldap linuxcon_working
Open ldap linuxcon_workingOpen ldap linuxcon_working
Open ldap linuxcon_working
 
Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012Epidemic Marketplace DrupalCamp Porto 2012
Epidemic Marketplace DrupalCamp Porto 2012
 
Circuito_Openldap_Avançado
Circuito_Openldap_AvançadoCircuito_Openldap_Avançado
Circuito_Openldap_Avançado
 
Entendendo o OpenLDAP - GABRIEL STEIN
Entendendo o OpenLDAP - GABRIEL STEINEntendendo o OpenLDAP - GABRIEL STEIN
Entendendo o OpenLDAP - GABRIEL STEIN
 
Treinamento hadoop - dia3
Treinamento hadoop - dia3Treinamento hadoop - dia3
Treinamento hadoop - dia3
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
 
Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...
Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...
Os Repositórios no Ciclo de vida dos dados - workflows de curadoria, publicaç...
 
Uma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active DirectoryUma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active Directory
 
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e ElasticsearchUma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
Uma visão sobre Fast-Data: Spark, VoltDB e Elasticsearch
 
Spring Data Neo4j
Spring Data Neo4jSpring Data Neo4j
Spring Data Neo4j
 

Workshop_OpenLDAP