Você está na página 1de 72

UNIVERSIDADE FEDERAL DE LAVRAS

INTEGRANDO LDAP COM SAMBA PARA UTILIZAO COMO SOLUO DE PDC NA REDE

ADRIANO PINHEIRO MOTA

2008

ADRIANO PINHEIRO MOTA

INTEGRANDO LDAP COM SAMBA PARA UTILIZAO COMO SOLUO DE PDC NA REDE

Monografia Departamento

apresentada de Computao

ao da

Universidade Federal de Lavras, como condio prvia para a concluso do Curso de Ps-Graduao Lato Sensu em Administrao de Redes Linux.

Orientador Prof. Samuel Pereira Dias

LAVRAS MINAS GERAIS BRASIL 2008

ADRIANO PINHEIRO MOTA

INTEGRANDO LDAP COM SAMBA PARA UTILIZAO COMO SOLUO DE PDC NA REDE

Monografia Departamento

apresentada de Computao

ao da

Universidade Federal de Lavras, como condio prvia para a concluso do Curso de Ps-Graduao Lato Sensu em Administrao de Redes Linux.

Aprovada em 20 de abril de 2008.

Prof. __________________ Prof.__________________

Prof. Samuel Pereira Dias (Orientador) LAVRAS MINAS GERAIS BRASIL

Resumo

Esta monografia descreve como configurar e operar o software OpenLDAP que prover servios de diretrio. O LDAP est se tornando uma ferramenta importante na vida de um administrador de redes, ento necessrio entende-lo para ser utilizado como soluo dentro da rede, no caso especifico esta sendo abortado sua utilizao para configurao de um servidor PDC (Personal Domain Controller ), operando com o Samba integrado com o OpenLDAP, funcionando no sistema operacional Linux. Para centralizar a base de usurios da rede em um nico servidor e privilegiar solues opensource, sem custo adicional de conexes e/ou licenas.

SUMRIO
1. INTRODUO 2.1 SISTEMA OPERACIONAL 3. SAMBA 3.1 CONTROLADOR DE DOMNIO (PDC) 4. LDAP 4.1 AVALIAO DO PROTOCOLO 4.2 COMO TRABALHA O LDAP 4.3 O QUE UM DIRETRIO? 4.3.1 INFORMAES ARMAZENADAS EM UM DIRETRIO 4.3.2 ORGANIZAO DAS INFORMAES 4.3.3 SERVIDORES DE DIRETRIO 4.3.4 OPERAO 4.4 MOTIVOS PARA SE USAR O LDAP 4.5 MOTIVOS PARA NO UTILIZAR BANCO DE DADOS RELACIONAL 4.6 ORIGEM DO LDAP 4.7 LDIF (Lightweight Data Interchange Format) 4.8 DIRETRIO REPLICADO 4.8.1 DIRETRIO DISTRIBUIDO 4.9 MODELOS LDAP 4.9.1 MODELO DE INFORMAO 4.9.2 MODELO DE NOMES 4.9.3 MODELO FUNCIONAL 4.9.4 MODELO DE SEGURANA 4.10 SLAPD 4.11 SLURPD 4.12 DIRETIVAS DO ARQUIVO DE CONFIGURAO 4.12.1 DIRETIVAS GLOBAIS 4.12.2 DIRETIVAS DE BANCOS DE DADOS 4.13 LDAP BACKENDS, OBJETOS E ATRIBUTOS. 4.14 STARTLS 4.15 BIND (autentique) 4.16 PROCURA E COMPARA 4.17 ATUALIZAO DAS OPERAES 4.18 OPERAO EXTENDIDA 4.18.1 ABANDONO 4.18.2 UNBIND 1 2 2 3 6 6 7 8 8 9 9 10 10 10 11 12 13 13 14 14 14 15 15 16 17 18 19 19 20 21 22 23 23 24 24 24 25

2. SOFTWARE LIVRE GNU

4.18.3 SCHEMA 4.18.4 VARIAES 4.19 OUTROS MODELOS DE DADOS 4.19.1 APLICATIVOS 4.19.2 NOMEANDO ESTRUTURA 4.19.3 TERMINOLOGIA 4.19.4 ACL's 4.19.5 THREADS 4.19.6 TCP WRAPPERS 4.20 CONFIGURANDO O SERVIDOR LDAP 4.20.1 DIRETIVAS GLOBAIS 4.20.2 DIRETIVAS GERAL DE BACKEND 4.20.3 BANCO DE DADOS GERAL DE DIRETIVAS 4.20.4 BDB BANCO DE DADOS DE DIRETIVAS 4.20.5 LDBM BANCO DE DADOS DE DIRETIVAS 4.20.6 CONTROLE DE ACESSOS 4.20.7 ARQUIVO DE CONFIGURAO 4.20.8 EXECUO DO SERVIDOR LDAP 4.20.9 OPES DE LINHAS DE COMANDOS 4.20.10 CRIAO DE BANCO DE DADOS E MANUTENO 4.20.11 CRIANDO BANCO DE DADOS ON-LINE 4.20.12 CRIANDO UM BANCO DE DADOS OFFLINE 4.20.13 FORMATO DO LDIF 4.20.14 O LDAPSEARCH, LDAPDELETE E LDAPMODIFY 4.21 AUTENTICAO USANDO LDAP 4.22 LOGS 5. RESULTADO DO PDC CONFIGURADO 5.1 CONFIGURAO DO SAMBA 5.2 CONFIGURAO DO LDAP 5.3 UTILIZAO DO SERVIDOR DE DIRETRIO PELO LDAPADMIN 6. CONCLUSO 7. REFERNCIA BIBLIOGRFICA

25 26 26 26 26 27 27 28 28 28 29 31 32 35 36 37 39 41 41 42 42 44 46 48 50 51 52 52 55 56 63 64

LISTAS DE FIGURA

5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9

Primeira parte do smb.conf.................................................. Segunda parte do smb.conf................................................. Terceira parte do smb.conf.................................................. Arquivo smbldap.conf........................................................... Arquivo smbldap-bind.conf.................................................. Arquivo samba4wins.conf.................................................... Arquivo ldap.conf.................................................................. Primeira parte do arquivo mazombo.ldif............................ Segunda parte do arquivo mazombo.ldif........................... Primeira parte do arquivo slapd.conf................................. Segunda parte do arquivo slapd.conf................................ Tela inicial do LDAPAdmin................................................. Acesso base do diretrio Computadores....................... Cadastro de computador..................................................... Acesso a base do diretrio Usurio................................... Primeira etapa para cadastrar um usurio........................ Segunda etapa para cadastrar um usurio....................... Terceira etapa para cadastrar um usurio........................ Quarta etapa para cadastrar um usurio........................... Acesso base do diretrio Grupos...................................

52 53 53 54 54 54 55 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62

5.3.10 Primeira etapa de cadastro do grupo................................ 5.3.11 Segunda etapa de cadastro do grupo...............................

1. INTRODUO
O propsito principal deste projeto demonstrar a configurao e operao um Servidor de Diretrio LDAP integrado com o servio Samba, rodando sobre plataforma o sistema operacional Linux. Incluindo detalhes de configurao e execuo do LDAP e o processo slapd, e atualizar o processo de replicao slurpd. Tambm sero consideradas as tarefas de armazenamento, recuperao e atualizao das informaes do diretrio usado pelos clientes do LDAP. Que seja til para os administradores de redes. O LDAP (Lightweight Directory Access Protocol), pode ter sua utilidade realada em uma instalao leve, sua funcionalidade til para o administrador de redes, que ajuda a evitar que usurios o incomodem perguntando o e-mail de outros usurios. O LDAP foi projetado para armazenar informaes e responder consultas por TCP/IP. Com somente um pouco de informao sobre um usurio registrado (por exemplo, sobrenome ou login) um cliente pode recuperar o nmero do telefone, endereo de email, etc. Existe um mtodo para distribuir senhas e outras informaes por uma rede o NIS (Network Information Service - Servio de Informaes de Rede). O NIS permite que tenham-se um servidor central para distribuir informaes de usurios, incluindo aliases de email e informao de automount. Entretanto, o NIS no apropriado para administrar grandes objetos binrios (BLOBs) como imagens JPEG ou outra coisa que no seja o velho texto plano ASCII. Por outro lado, o LDAP feito para este tipo de tarefa. Como resultado, o LDAP est sendo usado para substituir servios NIS no Linux completamente. De fato, o LDAP possui vrias vantagens sobre o NIS. O LDAP possui suporte para listas de controle de acesso (ACLs) para permitir que usurios no-root acrescentem ou modifiquem dados. Suporta criptografia SSL dos clientes, possui chamadas para a codificao das suas prprias aplicaes em C ou Perl. A informao do LDAP pode ser utilizada fora do domnio LDAP. O lanamento do OpenLDAP, oferece aos usurios e administradores de redes, a possibilidade de testar a versatilidade do protocolo LDAP com um cdigo atualizado. OpenLDAP foi codificado para ser escalvel, fornecendo suporte para replicao de servidores, e uma escolha de servidores de bancos de dados de backend (como o GDBM). O projeto do LDAP hierrquico (como o DNS) ao invs de um banco de dados relacional, o que significa que no necessrio ter nenhum suporte para o mySQL ou o PostgreSQL. Usar uma base de dados relacional diminui um pouco a performance quando se est consultando informaes hierarquizadas. A diferena pode no ser muita, mas aumenta conforme a taxa de consultas aumenta.

2. SOFTWARE LIVRE GNU


As licenas de muitos softwares so desenvolvidas para cercear a liberdade de uso, compartilhamento e mudanas. A GNU (Licena Pblica Geral), ao contrrio, pretende garantir a liberdade de compartilhar e alterar softwares de livre distribuio, tornando-os de livre distribuio tambm para quaisquer usurios. A Licena Pblica Geral aplica-se maioria dos softwares da Free Software Foundation e a qualquer autor que esteja de acordo com suas normas em utiliz-la. Quando nos referimos a software de livre distribuio, referimos liberdade e no ao preo. Licena Pblica Geral foi criada para garantir a liberdade de distribuio de cpias de softwares de livre distribuio (e cobrar por isso, caso seja do interesse do distribuidor), o qual recebemos cdigos-fontes, que pode ser alterados ou utilizados em parte em novos programas. Para assegurar os direitos dos desenvolvedores, algumas restries so feitas, proibindo a todas as pessoas a negao desses direitos ou a solicitao de sua abdicao. Essas restries aplicam-se ainda a certas responsabilidades sobre a distribuio ou modificao do software. Finalmente, qualquer programa de livre distribuio constantemente ameaado pelas patentes de softwares. Buscando evitar o perigo de que distribuidores desses programas obtenham patentes individuais, tornando-se seus donos efetivos. Para evitar isso, foram feitas declaraes expressas de que qualquer solicitao de patente deve ser feita permitindo o uso por qualquer indivduo, sem a necessidade de licenas de uso.

2.1 SISTEMA OPERACIONAL


O Linux um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinky na Finlndia. um sistema operacional de cdigo aberto distribudo gratuitamente pela Internet, ento praticamente todo mundo pode ter em mos os cdigos-fontes do sistema operacional Linux. Seu cdigo-fonte liberado como Free Software (software livre), o aviso de copyright do kernel (ncleo do sistema) feito por Linus descreve detalhadamente isto e mesmo ele est proibido de fazer a comercializao do sistema. [Bonan, 2002. pg.03]. Isso quer dizer que voc no precisa pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores. Ser um sistema de cdigo aberto pode explicar a performance, estabilidade e velocidade em que novos recursos s adicionados ao sistema. [Bonan, 2002. pg.04]. Por ser um sistema operacional de cdigo aberto, possvel ver o que cdigo-fonte faz e adapt-lo s suas necessidades ou de sua empresa. Essa caracterstica uma segurana a mais para empresas srias. Rede TCP/IP mais rpida que no Windows e tem sua pilha constantemente melhorada. O Linux tem suporte nativo a redes TCP/IP 2

e no depende de uma camada intermediria como o Winsock. Em acessos via modem Internet, a velocidade de transmisso dez por cento a vinte por cento maior. [Bonan, 2002. pg.05]. O Debian est atento para detalhes que permitem produzir programas de alta qualidade e estabilidade. As instalaes podem ser facilmente configuradas para servir mltiplos propsitos , como firewall com poucos pacotes, estaes desktop cientficas e servidores de rede de alta performance. Esta distribuio especialmente popular entre usurios avanados por causa de sua excelncia tcnica e ateno s necessidades e expectativas da comunidade Linux. O Debian tambm introduziu muitas caractersticas como instalao e remoo fcil de softwares, e tambm a possibilidade de permitir a atualizao do sistema sem requerer a reinstalao. [Uira, 2004. pg.181]. Por razes de estabilidade, segurana e custo, o sistema operacional Linux foi escolhido para ser instalado no servidor em questo. Para manter a configurao mnima, sem recursos adicionais e desnecessrios, a distribuio Linux escolhida foi o Debian, que oferece, alm da simplicidade de configurao e manuteno, a flexibilidade de manter-se apenas o mnimo necessrio no sistema. Para o mesmo procedimento poderia ser utilizada outra distribuio do sistema operacional Linux.

3. SAMBA
O SMB Server Message Block utilizado pela Microsoft e IBM como padro de compartilhamento de arquivos. A implementao deste padro feita por um pacote de software livre chamado SAMBA. O Samba um servidor, um conjunto de ferramentas que permite que mquinas Linux e Windows se comuniquem e compartilhem arquivos e impressoras. Com ele, possvel construir a topologia de domnios, fazer controle de acesso, compartilhamento, servio de WINS e outros. [Uira, 2004. pg.295]. A primeira verso do Samba, disponibilizada em 1992, foi escrita por Andrew Tridgell, um australiano ento estudante de cincias da computao. Como na poca a especificao do SMB utilizada pela Microsoft ainda era fechada, Andrew desenvolveu um pequeno programa, batizado de clockspy, para examinar os pacotes de dados enviados por uma mquina Windows e, assim, ir implementando uma a uma as chamadas de sistema utilizadas, um trabalho bastante complexo. O resultado foi um programa que rodava no Solaris (o sistema Unix desenvolvido pela Sun) e era capaz de responder s chamadas SMB como se fosse um servidor Windows. Este arquivo ainda pode ser encontrado em alguns dos ftps do http: //samba.org, com o nome Server-0.5. O objetivo desta primeira verso era apenas resolver um problema domstico: interligar um PC rodando o Windows 3.1 Workstation Sun que ele tinha em casa. Na poca isso j era possvel utilizando um dos clientes NFS comerciais para DOS, mas Andrew precisava de suporte a NetBIOS para um aplicativo que pretendia 3

utilizar, o WindX, um servidor X para Windows, que permitia rodar aplicativos via rede a partir do servidor Unix. [Morimoto, 2006. pg.216]. At ento o objetivo era apenas fazer o programa funcionar, no criar um sistema de compartilhamento de arquivos. Depois de algum tempo, Andrew recebeu um e-mail contando que o programa tambm funcionava com o LanManager da Microsoft, permitindo compartilhar arquivos de um servidor Unix com mquinas rodando o DOS. Andrew s acreditou depois de testar, mas ficou to maravilhado com o que havia conseguido que criou o projeto NetBios for Unix e comeou a recrutar voluntrios atravs da Usenet. Mais tarde o projeto passou a usar o nome Samba, que foi adotado no em apologia ao carnaval, mas apenas porque uma das poucas palavras do dicionrio do Aspell que possui as letras S, M, B, de Server Message Blocks. Em 1994 a Microsoft liberou as especificaes do SMB e do NetBios, o que permitiu que o desenvolvimento do Samba desse um grande salto, tanto em recursos quanto em compatibilidade, passando a acompanhar os novos recursos adicionados ao protocolo da Microsoft, que mais tarde novamente deixou de ser aberto. Hoje, alm de ser quase 100% compatvel com os recursos de rede do Windows 98, NT e 2000, o Samba reconhecido por ser mais rpido que o prprio Windows na tarefa se servidor de arquivos. Um dos pontos fortes do Samba que o projeto foi todo desenvolvido sem precisar apelar para qualquer violao de patentes. Todas as chamadas (com exceo das que a Microsoft tornou pblicas em 1994) foram implementadas monitorando as transmisses de dados atravs da rede, uma espcie de engenharia reversa que no tem nada de ilegal. E como se descobrisse como funciona um cdigo de encriptao apenas examinando arquivos encriptados por ele. Matemticos fazem isso a todo instante e muitas vezes so bem pagos para isso. Graas a este detalhe, o Samba no corre o perigo de sofrer restries devido a aes judiciais. De qualquer forma, no existem sinais de que a Microsoft pretenda declarar guerra ao Samba. Pelo contrrio, foi a existncia do Samba que permitiu que a Microsoft conseguisse colocar PCs rodando o Windows em muitos micros onde s entravam Workstations Unix, j que com o Samba os servidores Unix existentes passaram a ser compatveis com as mquinas Windows. Ou seja: de certa forma, o Samba foi vantajoso at mesmo para a Microsoft. O Samba dividido em dois mdulos. O servidor propriamente dito e o cliente, que permite acessar compartilhamentos em outras mquinas (tanto Linux quanto Windows). Os dois so independentes, permitindo que mantenha apenas o cliente instalado num desktop e instale o servidor apenas nas mquinas que realmente forem compartilhar arquivos. Isso permite melhorar a segurana da rede de uma forma geral. [Morimoto, 2006. pg.217]. Toda a configurao relacionada com nomes, grupo de trabalho, tipo de servidor, log, compartilhamento de arquivos e impresso do samba est localizada no arquivo /etc/samba/smb.conf. Este arquivo dividido em sees e parmetros. As sesses utilizam nomes reservados para configuraes especficas. So elas:

[global] Define configuraes que afetam o comportamento de todo o servidor Samba, com efeitos em todas os compartilhamentos. [homes] Especifica opes de acesso aos diretrios HOME dos usurios. [printers] Define opes gerais para controle das impressoras do sistema. Este compartilhamento mapeia os nomes de todas as impressoras encontradas no /etc/printcap. [profile] Define um perfil quando o servidor Samba usado como controlador de domnio. Outros nomes de sesses podem ser utilizados para definir compartilhamentos de impressoras ou arquivos. [Uira, 2004 pg.296]. O Samba possui dois processos que atuam como servidor: SMBD Responsvel pelos servios de compartilhamento de arquivos, impressoras e autenticao. [Uira, 2004 pg.296]. O processo SMBD verifica a porta 139 (porta usada no samba) e replica-se a cada solicitao do cliente na realizao de tarefas de impresso e compartilhamento de arquivos. Se dispem a cobrir os aspectos de segurana de forma direta. Todo o recurso compartilhado pode estar protegido por uma senha, a qual pode ser implementada de duas distintas: [Bonan, 2002. pg.373]. Senhas por compartilhamento: Onde cada item compartilhado como discos, diretrios, impressora etc. tem uma senha prpria. Senhas por usurio: Neste caso todo o usurio deve identificar-se no servidor atravs de um nome e de uma senha. Aps uma validao positiva, o servidor fornecer os acessos de acordo com as permisses predefinidas para o usurio. [Bonan, 2002. pg.374]. NMBD Responsvel pelo servio de Wins e resoluo de nomes em redes SMB. [Uira, 2004 pg.296]. O processo NMBD recebe todo o trfego da porta UDP/137 e UDP/138 para os servios de nomes, registros e browsing (navegao). A diferena entre os dois mtodos e definida no prprio servidor, no podendo coexistir para um mesmo recurso compartilhado atravs da rede. [Bonan, 2002. pg.374]. Os pacotes do Samba recebem nomes um pouco diferentes nas distribuies derivadas do Debian e no Fedora o outras distribuies derivadas do Red Hat. Pacote Servidor: Cliente: Documentao: Swat: Debian samba smbclient samba-doc swat Fedora samba samba-client samba-doc samba-swat

3.1 CONTROLADOR DE DOMNIO (PDC)


Em uma pequena rede, manter as senhas dos usurios sincronizadas entre as estaes Windows e o servidor Samba no chega a ser um grande problema. No entanto, em redes de grande porte, pode se tornar um procedimento trabalhoso, consumindo tempo considervel em ajustes nas configuraes. Para solucionar o problema, existe a opo de usar o servidor Samba como um controlador primrio de domnio (PDC), onde ele passa a funcionar como um servidor de autenticao para os clientes Windows e (opcionalmente) armazena os perfis de cada usurio, permitindo que eles tenham acesso a seus arquivos e configuraes a partir de qualquer mquina onde faam logon. Ao cadastrar um novo usurio no servidor Samba, ele automaticamente pode fazer logon em qualquer uma das estaes configuradas. Ao remover ou bloquear uma conta de acesso, o usurio automaticamente bloqueado em todas as estaes. Isso elimina o problema de sincronismo entre as senhas no servidor e nas estaes e centraliza a administrao de usurios e permisses de acesso no servidor, simplificando bastante o trabalho de administrao. [Bonan, 2002. pg.233].

4. LDAP
LDAP significa Lightweight Directory Access Protocol, ou seja, Protocolo Leve de Acesso a Diretrios. Como o nome sugere, um protocolo leve para acessar servios de diretrio. O LDAP roda em cima do protocolo TCP/IP ou outras conexes de transferncia de servios. Basicamente LDAP um protocolo, que trabalha na camada de aplicao da pilha de protocolos TCP/IP, como o SMTP, HTTP, FTP, TELNET e tantos outros. S que esses protocolos so bem conhecidos, seus nomes, suas funcionalidades, os processos que os implementam. O LDAP uma definio de protocolo para acesso a bancos de dados especializados nos chamados diretrios. similar ao SQL no sentido que uma linguagem para interagir com bancos de dados sem especificar um banco de dados particular. De fato, o banco de dados de suporte ao LDAP quase sempre um sistema RDBMS geral, como o LDBM ou o Oracle. Um diretrio um conjunto de informaes com atributos semelhantes organizados em uma maneira lgica e hierrquica. O exemplo mais comum a lista telefnica, que consiste em uma srie de nomes (ou de uma pessoa ou organizao) organizou alfabeticamente, com um endereo e nmero de telefone agregados. Um diretrio de LDAP freqentemente reflete vrias polticas, limites geogrficos, e/ou organizacionais, dependendo do modelo escolhido. De acordo com o desenvolvimento do LDAP atualmente tendem a usar (DNS) nomes para estruturar os nveis mais altos da hierarquia. Dentro do diretrio poderia aparecer entrada representando 6

pessoas, unidades organizacionais, impressoras, documentos, agrupadas pessoas ou qualquer outra coisa que representa uma entrada da rvore (ou entradas mltiplas). LDAP um protocolo cliente-servidor leve para acessar servios de diretrio, especificamente baseado em X.500, que prioriza o TCP/IP ou outra conexo similar. Um diretrio semelhante a um banco de dados, mas tende a conter mais descritivo, informaes baseadas em atributo. As informaes em um diretrio esto geralmente lida muito mais freqentemente que escrito. Os diretrios so afinados para dar resposta rpida a pesquisa de volume ou operaes de procura alta. Eles podem ter a habilidade de reproduzir informaes extensamente a fim de acrescentar disponibilidade e confiabilidade, enquanto reduzindo tempo de resposta. Existem muitos caminhos diferentes para prover um servio de diretrio. Os mtodos distintos permitem tipos diferentes de informaes para serem armazenados no diretrio, requisitos de lugar diferente em como aquelas informaes podem ser referenciadas e atualizadas, como protegido de acesso sem autorizao, etc. Um pouco de servios de diretrio so locais, provendo servio para um contexto restringido. Outros servios so globais, provendo servio para um contexto muito mais abrangente.

4.1 AVALIAO DO PROTOCOLO


Um diretrio um conjunto de informaes com atributos semelhantes organizados em uma maneira lgica e hierrquica. Um diretrio de LDAP freqentemente reflete vrias polticas, limites geogrficos, e/ou organizacionais, dependendo do modelo escolhido. Desenvolvimentos do LDAP atualmente tendem a usar (DNS) nomes para estruturar os nveis o mais altos da hierarquia. Mais fundo, dentro do diretrio poderia parecer entradas representando pessoas, unidades organizacionais, impressoras, documentos, agrupa das pessoas ou qualquer outra coisa que representa uma entrada de rvore dada. Procura por e/ou recupera entradas no diretrio; Compara, testa se uma chamada e entrada contm um valor de atributo dado; Adiciona uma nova entrada; Apaga uma entrada; Modifica uma entrada; Modifica a DN, reposicionar ou mencionar novamente uma entrada; Aborta um pedido prvio; Operao Estendida, operao genrica usada para definir outras operaes; Desconectar, fecha a conexo.

Alm do servidor pode enviar "notificaes no solicitadas", isso so respostas para qualquer solicitao e houver a necessidade de um aviso prvio. Um mtodo comum alternado para assegurar a comunicao do LDAP o uso de um tnel de SSL. Isto denotado em LDAP URLs usando o esquema de URL "ldaps". A porta default para LDAP acima de 636. O uso de LDAP acima de SSL era comum em Verso de LDAP 2 (LDAPv2) mas nunca estava padronizado em qualquer especificao formal. LDAP definido em termos, mensagens de protocolo so codificadas no formato binrio onde usa representaes textuais para vrios ASN.

4.2 COMO TRABALHA O LDAP


O servio de diretrio de LDAP baseado em um modelo cliente-servidor. Um ou mais servidores de LDAP contm os dados compondo a rvore de diretrio de LDAP ou LDAP backend banco de dados. Um cliente de LDAP conecta a um servidor de LDAP e pergunta. O servidor responde com a resposta, ou com um ponteiro para onde o cliente pode conseguir mais informaes (tipicamente, outro servidor de LDAP). No importa que servidor de LDAP um cliente conecta , ter a mesma viso do diretrio, um nome apresentado para uma referncias de servidor de LDAP a mesma entrada iria em outro servidor de LDAP. Isto uma caracterstica importante de um servio de diretrio global, como LDAP.

4.3 O QUE UM DIRETRIO?


Servio de diretrio um banco de dados otimizado para ler, navegar e procurar. Os diretrios tendem a conter descritivos, atributos, caractersticas e um suporte sofisticado para filtros. Os servios de diretrios geralmente no suportam complicadas transaes de registros, grandes volumes de dados, encontrados atualmente em sistema de banco de dados. As atualizaes dos diretrios so simples e rpidas. So feitos para respostas rpidas de um alto volume de operaes de buscas. possvel replicar informaes largamente para aumentar a confiana e a disponibilidade do recurso. O conceito de diretrio muitas vezes causa confuso. O verbete diretrio na literatura especializada tem vrios significados, dependendo do contexto. No contexto de sistemas de arquivo ele possui um significado, no contexto de redes e ambientes distribudos outro e no contexto de banco de dados um terceiro significado. Esses significados no so excludentes como a maioria de ns poderia supor a princpio. Nisso surge uma dvida, porque o verbete diretrio usado nesses trs contextos? Em um nvel mais elementar diretrio significa lista. E lista nada mais do que depsitos de 8

informao. A partir dai podemos entender porque diretrio usado nesses contextos. Vejamos, diretrios em sistemas de arquivo nada mais do que um arquivo especial que contem as lista dos arquivos pertencentes a esse diretrio. No contexto de redes e ambientes distribudos, diretrio uma lista que contem informaes, quase todos servios de rede, por exemplo, exigem algum tipo de autenticao, obrigando desta forma que os servios mantenham um diretrio de usurios (uma lista de usurios). J no contexto com banco de dados muito natural, uma vez que lista na verdade um depsitos de informao. Basicamente o diretrio uma base de dados especializada com o propsito de prover o acesso rpido aos dados de uma maneira padronizada.

4.3.1 INFORMAES DIRETRIO

ARMAZENADAS

EM

UM

O modelo de informaes do LDAP baseado em entradas. Uma entrada uma coleo de atributos que tem forma geral ou exclusiva e nome distinto - (DN - Distinguished Name). O DN usado para se referir a uma entrada que se pode tomar em um nico sentido. Cada atributo de entrada tem um tipo e um ou mais valores. Os tipos so strings de memria, como cn para nome comum, ou mail para endereo de email. A sintaxe de valores depende dos tipos de atributos. Por exemplo, o atributo cn pode conter o valor Juquinha da Silva. O atributo mail pode conter juquinha@mazombo.br.

4.3.2 ORGANIZAO DAS INFORMAES?


No LDAP, as entradas dos diretrios so organizadas de forma hierrquica, como uma estrutura de rvore. Esta estrutura possui um limite organizacional. As entradas so representadas pelos pais que aparecem no topo da rvore. Abaixo aparecem as entradas dos filhos. Abaixo as entradas que representam os setores agregados aos filhos na estrutura hierrquica da arvore. A rvore pode ser organizada baseada sob domnio de nomes da Internet (DNS). Esta forma de acesso est se tornando muito popular. LDAP permite voc controlar os atributos que so obrigatrios e permite a entradas de novos atributos, chamados de ObjectClass. O valor dos ObjectClass determinam os chamados SCHEMA RULES ou ESBOO DAS REGRAS. Adiante, sero demonstrados mais detalhes sobre SCHEMA RULES. Geralmente os servios de diretrios no possuem nenhum tipo de mecanismo de proteo dos dados. O LDAP possui mecanismo de autenticao de clientes, privacidade de dados e servio de integridade. 9

O LDAP um servio de diretrios baseado no modelo ClienteServidor. No servidor executado um processo chamado de SLAPD.

4.3.3 SERVIDORES DE DIRETRIO


Um servio do diretrio uma aplicao que controla os objetos e seus atributos em um diretrio. Com o servio do diretrio, os objetos e os atributos podem estar disponveis aos usurios e a outras aplicaes. Existem muitos servidores de diretrios hoje em dia, por exemplo, o famoso DNS um servio de diretrio, outro famoso servio de diretrio o NIS. Servio de diretrio a implementao cliente/servidor para o conceito de diretrio, sendo que podemos ter diretrios sem o servio de diretrio. o caso do livro de endereos dos clientes de e-mail. So diretrios locais. Tambm o caso da autenticao, no caso dos em sistemas Linux, o famoso /etc/passwd, que nada mais , que um diretrio (deposito de informaes) sobre usurios. Nos dias atuais existe uma grande necessidade de acessar diretrios remotamente. E foram criados inmeros diretrios e servios de diretrio para os mais diversos fins. Como o exemplo, uma aplicao pode usar o servio do diretrio recuperar o e-mail de um empregado especfico em uma organizao. Tais aplicaes de diretrios permitidos usam o servio do diretrio operando de forma eficiente. Os servios do diretrio so baseados geralmente em uma arquitetura do cliente. Um cliente do e-mail, por o exemplo, uma aplicao de diretrio permitido comum. A funo bsica de um servio do diretrio permitir o armazenamento da informao que pode ser recuperado mais tarde.

4.3.4 OPERAO
O cliente solicita uma mensagem positiva de ID, e a resposta do servidor tem a mesma mensagem de ID. A resposta inclui um cdigo de resultado numrico que indica sucesso, um pouco de condio de erro ou alguns outros casos especiais. Antes da resposta, o servidor pode enviar outras mensagens com outros dados de resultado - por exemplo, cada entrada achada pela operao de procura retornada em tal mensagem. Expande a discusso de respostas de indicao para vrias operaes, especialmente modificao, por exemplo, onde todos modificam devem ser dirigido das rplicas at um diretrio de mestre.

4.4 MOTIVOS PARA SE USAR O LDAP


O crescimento gigantesco das redes e usurios dos ltimos anos conduziu ao fato que h em sua maioria de redes diferentes, listas 10

especializadas com a informao redundante parcial, que pode ser usada freqentemente. No caso do servidor web apache tem a capacidade de autenticao, portanto necessita de alguma forma de armazenamento para usurio. O apache utiliza uma srie de programas (htpasswd, htdigest) e arquivos (htaccess) para armazenar, adicionar e alterar a sua base de dados de usurios. Que na verdade nada mais que um diretrio. J o servidor de arquivos Samba usa outro diretrio para armazenar dados sobre os usurios. Alem de usar outra srie de programas (smbpasswd, smbadduser) para a manuteno dessa base de dados (diretrio). Outros servios compartilham a mesma base de dados o caso do servidor de email postfix, do servidor FTP proftpd e do sistema de login do linux. Alem disso, aplicaes desenvolvidas por terceiros tambm necessitam de algum tido de diretrio, seja local ou remoto. Imaginem que um desenvolvedor crie um controle de estoque, bem os usurios desse sistema, bem como as permisses so mais lidas do que escritas. Essa aplicao seria muito mais aceita e integrada se a autenticao fosse feita atravs de um servio de diretrio, eliminado o velho problema de um usurio possuir varias contas e vrias senhas, e fazer vrios logins em vrios sistemas. O LDAP capaz de unificar diferentes diretrios em um nico diretrio, seja para servidores, ou para aplicaes clientes. Vrios pesos pesados da indstria de tecnologia apostam nessa idia. A Microsoft com seu Active Directory, a Novell com seu NDS, a SUM com o iPlanet. Todas essas empresas apostam no LDAP como mecanismo centralizador de informaes. Uma tima forma de reforar a necessidade de servidor de diretrios.

4.5 MOTIVOS PARA NO UTILIZAR BANCO DE DADOS RELACIONAL


Notamos que a seguinte estrutura possvel e at, a princpio mais fcil de ser implementada. Centralizar as informaes que vrios servios necessitam de banco de dados relacional, como por exemplo, o MySQL ou Postgresql. Mas apesar disso ser uma boa opo temos que levar em considerao que no so s esses servios que devem ser centralizados. Temos clientes de e-mail, que na maioria das vezes no d suporte a banco de dados mas d suporte a LDAP. Algumas caractersticas do LDAP o tornam uma melhor escolha. Desempenho nas consultas: O LDAP foi desenvolvido com nfase na leitura, ou seja, os dados sero lidos rapidamente por um nmero maior de consultas simultneas. Interface: Para outras aplicaes tais como consulta a um diretrio de 11

e-mails, a interface de comunicao j est embutida em vrios aplicativos do mercado. Padronizao: O LDAP vem se tornando o padro para a disponibilizao de informaes em forma de diretrio. Peso: Um servidor LDAP (em especial, o OpenLDAP) leve e no precisa de hardware "anabolizado" para rodar. Custo: O OpenLDAP free pela GPL e o no mximo, vai lhe custar algumas horas para configur-lo e mant-lo. Em suma: basta voc decidir se o LDAP realmente, a melhor opo. Ele oferece muito, por muito pouco.

4.6 ORIGEM DO LDAP


O LDAP foi originalmente desenvolvido como um cliente para o X.500, o servio de Diretrio OSI. O X.500 define o Protocolo de Acesso a Diretrio (DAP) para os clientes usarem quando estiverem em contato com servidores de Diretrio. O DAP era um protocolo difcil de trabalhar e implementar, e protocolos mais fceis foram desenvolvidos com a maior parte de sua funcionalidade, mas, com muito menos complexidade. Ento o LDAP passou a ser utilizado como servio autnomo. O DAP um protocolo que roda sobre uma camada OSI completa, e precisa de uma quantidade significativa de recursos computacionais para ser executado. O LDAP roda diretamente sobre o TCP e fornece a maioria das funcionalidades do DAP, a um custo muito menor. O DAP um protocolo que roda sobre uma camada OSI completa, e precisa de uma quantidade significativa de recursos computacionais para ser executado. O LDAP roda diretamente sobre o TCP e fornece a maioria das funcionalidades do DAP, a um custo muito menor. As companhias de telecomunicao introduziram o conceito de servios de diretrio e como seus compreensivos requisitos de diretrio estavam bem desenvolvidos depois de alguns anos de produo e administrando listas telefnicas. Os servios de diretrio de X.500 estavam tradicionalmente acessados via o X.500 (DAP), que exigiu o (OSI) pilha de protocolo. LDAP era originalmente com inteno de ser um "protocolo alternativo de peso leve para acessar servios de diretrio de X.500 pelo mais simples (e agora difundido) pilha de protocolo. Este modelo de acesso de diretrio era obtido emprestado dos protocolos. Servidores de diretrio de standalone LDAP logo seguido, como fizeram servidores de diretrio suportando ambos os DAP e LDAP. O posterior ficou popular em empreendimentos, como LDAP removeu qualquer precisar desdobrar uma rede de OSI. Hoje, protocolos de diretrio de X.500 inclusive DAP tambm podem ser diretamente usados acima de TCP/IP. 12

O protocolo era originalmente criado por Wengyik Yeong. No incio de fases de engenharia de LDAP, era conhecido como Directory Light Browse Protocolo, ou LDBP. Era mencionado novamente como o escopo do protocolo era expandido para no incluir s diretrio browse e funes buscadores, mas tambm diretrio atualiza funes. LDAP influenciou protocolos de Internet subseqente, inclusive verses mais velhas de X.500, (XED), (DSML), (SPML), e o (SLP).

4.7 LDIF (Lightweight Data Interchange Format)


Este um formato texto de intercmbio de informaes para o LDAP. Tal formato foi definido para que possamos, humanamente entender as entradas do diretrio quando de sua gerao ou de sua exportao para um arquivo texto. Uma entrada escrita em tal formato: dn: cn=Maria Jos da Silva, o=mazombo, c=BR objectclass: person cn: Maria Jos da Silva cn: Maria sn: Silva Essas entradas so escritas em um editor de texto comum como o vi (UNIX) ou edit (Windows) e gravado com a extenso ldif Com o comando de adio ldapadd inclumos essa entrada no banco de dados do openldap ldapadd -x -v -W -D cn=manager,o=mazombo,c=br -f entrada.ldif' Embora essa entrada seja somente de um objeto podemos referenciar vrios objetos ao mesmo tempo.

4.8 DIRETRIO REPLICADO


A grande maioria dos usurios de um sistema distribudo j teve a oportunidade de experimentar problemas em relao ao tempo de acesso as informaes. Tais problemas so decorrentes de diversos fatores como a limitao da largura de banda, grande nmero de usurios acessando o sistema simultaneamente e o aumento do tamanho das informaes transferidas, como por exemplo, vdeos, imagens e sons. Para reduzir o tempo de acesso a tais informaes uma possvel soluo a replicao. Replicao de dados a criao e a manuteno de cpias de uma base de dados ou sistema de arquivos. Estas cpias so mantidas em servidores independentes para aumentar a confiabilidade e garantir acesso local. Com somente um servidor LDA, temos sobrecarga, uma vez que todos utilizam o mesmo servidor, e insegurana, j que se, por algum 13

motivo, o servidor parar todos ficam impossibilitados de acessas as informaes.

4.8.1 DIRETRIO DISTRIBUIDO


Um servio de diretrios pode estar distribudo em diferentes endereos fsicos. Cada servidor responsvel apenas por uma parte do diretrio (uma sub-rvore ou partio). Desta forma, podemos melhorar o desempenho e a escalabilidade do servio.

4.9 MODELOS LDAP


O LDAP define quatro modelos bsicos que descrevem por completo a sua operao, que informaes podem ser armazenadas em diretrios LDAP e o que pode ser feito com essas informaes. Modelo de Informao: Define o tipo de informao que pode ser armazenada em um diretrio LDAP. Modelo de Nomes: Define como a informao no diretrio LDAP pode ser organizada e referenciada. Modelo Funcional: Define o que pode ser feito com a informao no diretrio LDAP e como ela pode ser acessada e alterada. Modelo de Segurana: Define como a informao no diretrio LDAP pode ser protegida de acessos ou modificaes no autorizadas.

4.9.1 MODELO DE INFORMAO


Define o tipo de informao que pode ser armazenada em um diretrio LDAP. A unidade bsica da informao armazenada no diretrio chamada uma entrada. Estas representam objetos de interesse no mundo real tal como, usurios, organizaes, e assim por diante. Entradas so colees dos atributos e dos seus valores. Cada atributo tem um tipo e um ou mais valores. Um objeto, para ser inserido no contexto de um diretrio, precisa ter sua forma definida, ou seja, uma pessoa (objeto da classe person) requer certos atributos e permite outros. objectclass person requeridos cn, sn, objectClass permitidos seeAlso, 14

description, telephoneNumber, userPassword

4.9.2 MODELO DE NOMES


Define como a informao no diretrio LDAP pode ser organizada e referenciada. O modelo de nomes pressupe um diretrio organizado em rvore. As entradas do diretrio so os ns da arvore. Cada entrada tem um relative distinguished name (RDN), que relativo ao seu n pi, e um distinguished name (DN), que especifica um, caminho da raiz at a entrada. dn: ps=maria, ou=secretaria,o=mazombo, c=br No LDAP, as entradas de diretrio so organizadas em uma estrutura hierrquica como uma rvore que reflete limites polticos, geogrficos e/ou organizacional.

4.9.3 MODELO FUNCIONAL


Define o que pode ser feito com a informao no diretrio LDAP e como ela pode ser acessada e alterada. Funcionalmente o LDAP define nove operaes, divididas em trs categorias: Interrogao (consultas com filtros) Buscar; Comparar. Essas operaes so usadas para consultar o diretrio e recuperar as informaes nele armazenadas. Atualizao Adicionar; Apagar; Modificar; Renomear (modificar RDN); Essas operaes so usadas para alterar as informaes no diretrio. Autenticao e controle Associar (bind); Dissociar (unbind); Abandonar. 15

As operaes bind e unbind so de gerenciamento de sesso. A operao abandonar permite cancelar uma operao em processo.

4.9.4 MODELO DE SEGURANA


Define como a informao no diretrio LDAP pode ser protegida de acessos ou modificaes no autorizadas. Existem trs aspectos bsicos na proteo de informao em um diretrio: acesso, autenticao e autorizao (AAA, ou Triplo-A). ACESSO a habilidade de conectar-se a um servio e pode ser restringida baseada em detalhes como hora do dia ou endereo IP. Para acesso seguro, o LDAP suporta o Transport Layer Security (TLS), que criptografa toda a comunicao entre cliente e servidor. Desta forma garante a confiabilidade das informaes que trafegam na rede. AUTENTICAO a habilidade de provar ao servio que um cliente um usurio vlido. Para autenticao, o LDAP suporta a Simple Authentication and Security Layer (SASL), que permite que o cliente e servidor negociem um mtodo de autenticao (seguro). AUTORIZAO o servio fornecendo ou negando direitos especficos ou funcionalidades ao cliente. A autorizao controlada pelas ACLs. O LDAP fornece a habilidade de controlar todos os trs aspectos da AAA atravs de Access Control Lists (ACLs) (Listas de Controle de Acesso). As ACLs podem ser usadas para autorizar o acesso baseado em muitos fatores diferentes. Elas podem ser usadas para forar tipos especficos de autenticao e, uma vez que o cliente esteja plenamente autenticado como usurio vlido, as ACLs so usadas para autorizar o usurio. O cliente, quando chama a operao bind, fornece sua identificao (um distinguished name) e credenciais de autenticao, senhas, chaves privadas, etc. Uma lista de controle de acesso usada para determinar quais entradas dos diretrios o cliente pode ver que alteraes ele tem permisso para fazer. H a possibilidade do usurio no se identificar, ou seja, acessar o diretrio como annimo. Nesse caso as regras de controle de acesso tambm determinaro o que o usurio poder acessar no diretrio.

16

4.10 SLAPD
SLAPD um servidor de diretrios LDAP que roda em vrios tipos de plataformas. Utilizado para criar os servios de diretrio. Em cada diretrio pode conter muitas informaes interessantes, que voc mesmo pode administrar. O SLAPD pode servir para um servio de diretrio global ou para apenas voc utilizar. Algumas das caractersticas importantes do SLAPD so: SLAPDv3 - O Slapd verso 3 possui suporte a IPv4 e IPv6; Simples autenticao segura - O Slapd suporta uma forte segurana atravs do uso de SASL, o qual suporta mecanismos como MD5, EXTERNAL e GSSAPI, suporte a SSL. Controle de acesso - slapd prov um acesso rico e poderoso controlarem instalao, permitindo a voc controlar acesso s informaes em seu banco de dados(s). Pode-se controlar acesso a entradas baseadas em informaes de autorizao de LDAP, endereo de IP, nome de domnio e outros critrios. Slapd suporta ambos, estticos e acesso dinmico controlarem informaes. Controle de topologia - slapd pode ser configurado para restringir acesso na camada de soquete baseado em informaes de topologia de rede. Esta caracterstica utiliza envolturas de TCP. Internacionalizao - slapd suporta unicode e etiquetas de idioma. Diversificao de banco de dados - O Slapd vem com diversas opes de banco de dados. Incluindo BDB, LDBM, via SHELL ou PASSWD. Permite vrios bancos de dados no mesmo servidor. Api de Mdulos genricos - Se for necessrio mais customizao, slapd deixa escrever seus prprios mdulos facilmente. O slapd consiste em duas partes distintas: uma frente termina aquela comunicao de protocolo de handles com clientes de LDAP; e mdulos que tarefas de handle especfico como operaes de banco de dados. Porque estes dois pedaos comunicam via bem definida C API, pode escrever seus prprios mdulos personalizado, que estendem slapd em modos numerosos. Tambm, vrios mdulos de banco de dados programveis so providos. Estes permitem expor origens de dados externas para slapd usando idiomas de programao popular (Perl, Shell, SQL e TCL). Possui threads para alto desempenho. Replicao - o slapd permite ser copiado para outros servidores, podendo ter servidor master e slave; configurado atravs de um nico arquivo de configurao. Este nico-master/multiple-escravo esquema de replicao vital em ambientes de volume alto onde um nico slapd s no prov a disponibilidade ou confiabilidade necessria. Slapd suporta dois mtodos de replicao: LDAP Sync e slurpd. 17

Transporte Segurana de Camada: slapd suporta autenticao e segurana de dados baseados em certificado (integridade e confidncia) servios pelo uso de TLS (ou SSL). Slapd implementao de TLS utiliza o software OpenSSL. Escolha de banco de dados backends: slapd vem com uma variedade de banco de dados diferente backends que pode se escolhida. Eles incluem BDB, um alto desempenho transacional, banco de dados backend; HDB, um alto desempenho hierrquico transacional backend; LDBM, um DBM de peso leve baseado backend; Shell, um backend interface para escrituras de Shell arbitrria; e PASSWD, um simples backend interface para o arquivo passwd. O BDB e HDB backends utilizam Sleepycat DB de Berkely. LDBM utiliza um ou outro DB de Berkeley ou GDBM. Instncias de banco de dados mltiplo: slapd pode ser configurado para servir para bancos de dados mltiplos ao mesmo tempo. Isto significa que um nico slapd servidor pode responder para pedidos para muitas pores logicamente diferentes da rvore de LDAP, usando o banco de dados mesmo ou diferente backends.

4.11 SLURPD
Slurpd um processo para ajudar o slapd a replicar seus servios. responsvel pela distribuio das modificaes do servidor master para os outros servidores. O slapd e o slurpd se comunicam atravs de um arquivo comum de texto. O arquivo slapd.conf est dividido em trs partes de configurao: global, backend e banco de dados. Os comentrios podem ser definidos por '#' e se a linha comea com um espao em branco. O formato geral do arquivo slapd.conf definido assim: # Diretivas globais de configurao global # Definio de backend backend # Primeiro banco de dados e configurao das diretivas database # Segundo banco de dados e diretivas database A configurao das diretivas precisa ter argumentos, por isto que elas so separadas por espao. Se um argumento possui um espao em branco, o argumento precisa ser ter aspas duplas. "Desta forma". A distribuio contm um exemplo de configurao do arquivo slapd.conf, que ser instalado no diretrio /etc/ldap. O nmero de arquivos 18

contendo as definies do SCHEMA (atributos e os ObjectClass) tambm estar disponvel no diretrio /etc/ldap/schema.

4.12 DIRETIVAS DO ARQUIVO DE CONFIGURAO


As diretivas geralmente utilizadas no arquivo slapd.conf e dividido em diretivas globais, diretivas de backend e diretivas de banco de dados. Cache de procurao: slapd pode ser configurado como um caching LDAP procurao do servio. Configurao: slapd altamente configurvel por um arquivo de configurao nica que permite mudar quase tudo. As opes de configurao tm defaults razoveis, fazendo seu trabalho muito mais fcil.

4.12.1 DIRETIVAS GLOBAIS


access to by + Esta diretiva permite o acesso (accesslevel) para um grupo de entradas e/ou atributos (especificado pelo ) por um ou mais solicitadores. Se nenhuma diretiva de access especificada, o padro de acesso * by * read, permitindo que tanto usurios para autenticar ou annimos tem acesso de leitura. attributetype Especifica o tipo de atributo. idletimeout Especifica o nmero de segundos para esperar antes de fechar a conexo com o cliente. Se for 0, desabilita esta opo. include Esta diretiva especifica que o slapd precisa adicionar informaes adicionais de um outro arquivo. Este arquivo precisa estar no formato de configurao do slapd. Geralmente utilizado para incluir as especificaes dos Shemas. loglevel Esta diretiva especifica o nvel de log para apresentar no syslog. O padro 'loglevel 256', onde apresenta o status de conexes, operaes e resultados. O parmetro '-1' no loglevel habilita todos os logs do OpenLDAP no syslog. objectclass Esta diretiva define um objectclass.

19

referral URL Esta diretiva especifica a orientao para passar quando o slapd no conseguir achar um banco de dados. sizelimit Esta diretiva especifica o nmero mximo de entradas para retornar em uma operao de procura. timelimit nmero Esta diretiva especifica o nmero mximo de segundos que o slapd leva para responder uma requisio de procura.

4.12.2 DIRETIVAS DE BANCOS DE DADOS


As diretivas so aplicadas apenas aos banco de dados compatveis. database Esta diretiva marca o inicio do banco de dados. readonly { on | off } Esta diretiva pe o banco de dados em modo "read-only", apenas leitura. Qualquer tentativa de modificar o banco de dados retornar erro. replica Diretiva responsvel para replicar os dados para outro banco de dados. Esta diretiva possui vrios parmetros. replogfile Especifica o nome de log para rplica. rootdn DN Coloca-se o nome e o dominio do administrador do diretrio Ldap. rootdn "cn=ldap,dc=mazombo,dc=br" rootpw Diretiva para especificar a senha do DN para o rootdn. A senha pode tambm ser criptografada, utilizando o comando slappasswd -s senha. rootpw {SSHA}ZKKuqbEKJfKSXhUbHG3fG8MDn9j1v4QN ou rootpw secret suffix 20

Diretiva que especifica o sufixo DN de pesquisas que sero transmitidas para este banco de dados. suffix "dc=mazombo,dc=br"

4.13 LDAP BACKENDS, OBJETOS E ATRIBUTOS.


O processo do servidor de LDAP chamado slapd. Slapd suporta uma variedade de banco de dados diferente backends que voc pode usar. Eles incluem a escolha primria BDB, um alto desempenho do banco de dados backend; LDBM, um DBM leve baseado em backend; shell, uma interface backend para escrituras do Shell arbitrria e PASSWD, um simples interface backend para o arquivo passwd. Para importar e exportar informaes de diretrio entre servidores de diretrio baseado em LDAP, ou descrever um conjunto de mudanas que sero aplicadas a um diretrio, o formato do arquivo conhecido como LDIF, para Formato de Intercmbio de Dados de LDAP, tipicamente usado. Informaes de arquivo LDIF so orientadas a hierarquias de objeto de entradas. O pacote de software de LDAP consegue-se um utilitrio para converter arquivos de LDIF para o formato de BDB. Um arquivo de LDIF comum parece com isto: dn: o=mazombo, c=BR o: mazombo objectclass: organization dn: cn=Maria Jose da Silva, o=mazombo, c=BR cn: Maria Jose da Silva sn: Maria mail: maria@mazombo.com objectclass: person Cada entrada est exclusivamente identificada por um nome distinto, ou DN. O DN consiste no nome da entrada mais um caminho de nomes localizando a entrada de volta para o topo da hierarquia de diretrio. No LDAP, uma classe de objeto define a coleo de atributos que podem ser usados para definir uma entrada. O padro de LDAP prov estes tipos bsicos de classes de objeto:
Agrupa

no diretrio, listas de objetos individuais ou agrupa os objetos. Posies, como o nome e descrio. Organizaes no diretrio. Pessoas no diretrio. Uma entrada pode pertencer a mais de uma classe de objeto. A entrada para uma pessoa definida pela classe de objeto de pessoa, mas pode tambm ser definida por atributos no inetOrgPerson, 21

groupOfNames, e organizao objectclasses. A estrutura de classe de objeto do servidor determina a lista total exigida e permite atributos para uma entrada particular. Os dados de diretrio representado como atributo. Qualquer pedao especfico de informaes associado com um atributo descritivo. O commonName, ou cn, atributo usado para armazenar nome da pessoa . Uma pessoa chamada Maria Silva pode ser representada no diretrio como: cn: Maria Silva Cada pessoa que entra no diretrio definido pela coleo de atributos na classe de objeto de pessoa. Outro atributo usado para definir esta entrada pode ser: givenname: Maria surname: Silva mail: maria.silva@mazombo.com.br O atributo exigido inclui os atributos que devem estar presentes em entradas usando a classe de objeto. Todas as entradas exigem o objectClass atributo, que lista os classes de objeto para que uma entrada pertence. Cada atributo tem uma definio de sintaxe correspondente. A definio de sintaxe descreve o tipo de informaes providas pelo atributo. Normalmente objectclass e definies de atributo residem em arquivos de esquema, no esquema de subdiretrio debaixo do home da instalao de OpenLDAP.

4.14 STARTLS
A operao de StartTLS estabelece (o descendente de SSL) na conexo. Isso pode prover confidncia de dados e/ou proteo de integridade dos dados. Durante a negociao de TLS o servidor envia seu certificado para provar sua identidade. O cliente pode tambm enviar um certificado para provar sua identidade. Depois de fazer isso, o cliente pode ento usar /external para ter esta identidade usada em determinar a identidade usada em fazer decises de autorizao de LDAP. Os servidores tambm freqentemente suportar o no normal "LDAPS" ("LDAP SEGURO", comumente conhecido como "LDAP acima de SSL") protocolo em uma porta separada, revelia 636. LDAPS difere de LDAP em dois modos: 1) conecta, o cliente e servidor estabelecem TLS antes de quaisquer mensagens de LDAP serem transferidas (sem uma operao de Comeo TLS). 2) a conexo de LDAPS deve ser fechada em encerramentos de TLS. 22

LDAPS foi principalmente usado com LDAPv2, porque a operao de StartTLS ainda no tinha sido definida.[wikipedia].

4.15 BIND (autentique)


Vincula operao que autentica o cliente para o servidor. Simples vinculao pode enviar o usurio DN e senha, ento a conexo deve ser protegida usando (TLS). O servidor tipicamente checa a senha contra o userPassword atributo na chamado entrada. Vinculao annima (com DN vazio e senha) reajustar a conexo para estado annimo. (Autenticao e Camada de Segurana simples) O bind prov servios de autenticao por uma grande variedade de mecanismos ou o certificado de cliente enviou com TLS. O bind tambm fixa a verso de protocolo de LDAP. Normalmente clientes deveram usar LDAPv3, que o default no protocolo. O bind teve que ser a primeira operao em uma sesso em LDAPv2, mas no exigido em LDAPv3 (a verso de corrente LDAP).

4.16 PROCURA E COMPARA


A operao de procura usada para ambas as procura para l entradas. Seus parmetros so: baseObject - o DN (Nome Distinto) da entrada em que comear a procura. escopo - baseObject (procure apenas tipicamente usada para ler uma entrada). da chamado entrada,

singleLevel - (entradas imediatamente abaixo da base DN). wholeSubtree - (a subrvore inteira comeando na base DN). filtro - como examinar cada entrada no escopo. Por exemplo (&(objectClass=pessoa)(|(givenName=Maria)(remeta=Maria*))) procura por pessoas que ou deram nome Maria ou um endereo de email que comea com Maria. derefAliases - e como seguir entradas de nome alternativo (entradas que se referem a outras entradas). atributos - atributos para retornar para entradas de resultado. sizeLimit, timeLimit Mximo de nmero de entradas, e mximo tempo de procura. 23

typesOnly - tipos de atributo de retorno somente, no valores de atributo. O servidor retorna as entradas de comparao e talvez referncias de continuao (em qualquer pedido), seguido pelo final resulta com o cdigo de resultado. Comparar operao toma um DN, um nome de atributo e um valor de atributo, e checa se a chamado entrada contm aquele atributo com que estime.

4.17 ATUALIZAO DAS OPERAES


As tarefas de adicionar, apagar e modificar DN exige o DN da entrada que para ser mudada. Modifica-se uma lista de alterando cada um de seus atributos especficos. Apaga-se o atributo ou alguns valores, adicione novos valores, ou substituir os valores de corrente com a nova. Adicionar operaes tambm podem ter atributos e valores adicionais ou alterados. Modificao do DN (move/renomea entrada) tome o novo RDN (Nome Distinto Relativo), opcionalmente o novo pai DN, e uma flag que diz se apagar o valor(s) na entrada que combina o RDN velho. O servidor pode suportar mencionando novamente de subrvores de diretrio inteiras. Uma operao de atualizao atmica: Outras operaes sero a nova entrada ou a velha. Por outro lado, LDAP no define transaes de operaes mltiplas: Se ler uma entrada e ento modificar, outro cliente pode ter atualizado a entrada no tempo mdio. Os servidores podem implementar extenses que suportam isto.

4.18 OPERAO EXTENDIDA


A Operao Estendida uma operao de LDAP genrico que pode ser usado para definir novas operaes. Os exemplos incluem o cancelar, modificar senha e comear operaes de TLS.

4.18.1 ABANDONO
A operao abandonar pedidos que o servidor aborta uma operao chamada por uma mensagem ID. O servidor no precisa honrar o pedido. Infelizmente, nem Abandone nem uma operao com sucesso abandonado envia uma resposta. Um semelhante cancelar operao estendida, ento foi definido que envia respostas, mas nem todas as implementaes suportam isto.

24

4.18.2 UNBIND
A operao unbind abandona quaisquer operaes excedentes e fecha a conexo. No tem nenhuma resposta. O nome de origem histrica: No o oposto da vinculao da operao. Os clientes podem abortar uma sesso simplesmente fechando a conexo, mas eles deveram usar desconectar. Caso contrrio o servidor pode dizer diferena entre uma conexo de rede falha (ou um ataque de mutilao) e um cliente descorts.

4.18.3 SCHEMA
O schema define os tipos de atributo que as entradas de diretrio podem conter. Uma definio de atributo inclui uma sintaxe, e valores mais no binrio em LDAPv3 usam sintaxe de string. Um "atributo de correio poderia conter o valor "jose@mazombo.br". Um "atributo de membro contm DNS de outras entradas de diretrio. As definies de atributo tambm especificam se o atributo nico-estimado ou estimado mltiplo, como procura ou compara o atributo. O schema define classes de objeto. Cada entrada deve ter um objectclass atributo, contendo classes definidas no schema. A definio de esquema das classes de uma entrada define o que um tanto quanto o objeto e a entrada podem representar, como uma pessoa, organizao ou domnio. As definies de classe de objeto tambm listam atributos que a entrada deve conter. Uma entrada representando uma pessoa poderia pertencer ao topo de classes" e "Sociedade de pessoa no "classe de pessoa exigiria a entrada para conter o "sn" e "cn" atributos, e permitam a entrada tambm para conter "userPassword", "telephoneNumber", e outros atributos. Desde entradas podem pertencer a classes mltiplos, cada entrada tem um complexo de atributo opcional e obrigatrio fixa formado da unio dos classes do objeto. O schema tambm inclui vrias outras informaes que controla as entradas de diretrio. A maioria de elementos do schema tem um nome e um globalmente diferente. Os servidores de diretrio podem publicar o schema do diretrio controlando uma entrada em uma base DN dado pelo atributo subschemaSubentry operacional da entrada. (Um atributo operacional descreve operao do diretrio em lugar de informaes de usurio e est s retornada de uma procura quando for explicitamente solicitado). Os administradores do servidor podem definir seus prprios schemas alm dos padres. O esquema define os tipos de atributo que entradas de diretrio podem conter. Um atributo de membro contm DNS de outras entradas de diretrio.

25

4.18.4 VARIAES
A operao de servidor remanescente para o implementador ou administrador decidir. Conseqentemente, servidores podem ser instalados para suportar uma larga variedade de argumentos. Memria de dados no servidor no especificada, o servidor pode usar arquivos simples, bancos de dados, ou s so um portal para algum outro servidor. O controle de acesso no padronizado. As senhas dos usurios podem ser armazenadas em suas entradas ou em outro lugar. O servidor pode recusar apresentar operaes quando desejar, e impor vrios limites. A maioria de partes de LDAP so extensvel. Pode se definir novas operaes. Os controles podem modificar pedidos e respostas, solicitar classificar resultados de procura. Novos escopos de procura e vinculao de mtodos podem ser definidos. Os atributos podem ter opes que podem modificar sua semntica.

4.19 OUTROS MODELOS DE DADOS


Como LDAP tem como oferecer um protocolo de acesso para outros servios. A implementao ento reforma os dados para imitar o modelo de LDAP/X.500, mas como prximo modelo varia. Existe software para acessar bancos de dados por LDAP, embora LDAP no propriamente para este fim. Semelhantemente, dados que estavam previamente seguros em outros tipos de alojamento de dados, esto s vezes reposicionados para diretrios de LDAP. Como usurio unix e agrupar informaes podem ser armazenadas em LDAP e acessado via mdulos. LDAP freqentemente usado por outros servios para autenticao.

4.19.1 APLICATIVOS
Deste modo, se escolhe alguns protocolos gerais como LDAP e para vrios servios, podem se enfocar nestes poucos protocolos em vez de ter que manter e melhorar muitos protocolos especializados. Aplicativos comuns de LDAP so para computadores, usurios e grupos. Muitos clientes de e-mail suportar pesquisas de LDAP.

4.19.2 NOMEANDO ESTRUTURA


Um servidor de LDAP pode retornar indicaes para outros servidores para solicitar o servidor que propriamente checa a estrutura, nomear entradas para o LDAP, preciso poder achar um servidor segurando um dado DN. Desde que tal estrutura j exista no (DNS), nvel superior dos servidores. Se uma organizao tem nome de domnio mazombo.br, seu nvel superior entrada de LDAP ento tipicamente ter o dc de DN=mazombo,dc=br (onde dc significa componente de domnio). Se o 26

servidor ldap tambm chamado ldap.mazombo.br, o nvel de topo da organizao que URL de LDAP se torna ldap://ldap.mazombo.br / dc=mazombo,dc=br. Abaixo do nvel superior, a entrada tipicamente nomeia refletir a estrutura ou necessidades internas da organizao em lugar do DNS nomeado.

4.19.3 TERMINOLOGIA
A terminologia de LDAP que se pode encontrar bastante confusa. Algumas dessas confuses devido a enganos, outro exemplo devido a suas origens histricas, outros surjam quando usados com servios que usar terminologia diferente. O "LDAP" s vezes usado para se referir ao protocolo, outros tempos para o protocolo e os dados. Um "DIRETRIO de LDAP" pode ser os dados ou tambm o ponto de acesso. Um "atributo" pode ser o tipo de atributo, ou o contedo de um atributo em um diretrio, ou uma descrio de atributo (um tipo de atributo com opes). Umas "annimas" e umas "no autenticadas" vinculaes so diferentes. Vincular mtodos que ambos os estado de autenticao de produto annimo, ento esto sendo usadas para ambas as variantes. O "uid" atributo devia segurar nomes dos usurios em lugar de usurio numrico IDs.

4.19.4 ACL's
Deve-se restringir o acesso a escrita das entradas conta Manager, exceto para a sub-rvore do usurio. Esta sub-rvore tambm dever conter direitos de escrita para o administrador. O administrador est habilitado a criar novos usurios, modificar os atributos dos usurios existentes e deletar usurios. A primeira ACL assegura que os usurios possam modificar suas senhas com seus prprios privilgios. Para estar de acordo com a empresa, simplesmente substituir mazombo e br pelos nome de domnio da empresa no arquivo slapd.conf. Reinicia o servidor OpenLDAP aps o trmino da edio do arquivo slapd.conf. access to attr="userPassword" by self write by dn="cn=Manager,dc=mazombo,dc=br" write by dn="cn=admin,dc=mazombo,dc=br" write by anonymous auth by * none access to * by dn="cn=Manager,dc=mazombo,dc=br" write by dn="cn=admin,dc=mazombo,dc=br" write by * read 27

Descrio dos Privilgios: none=0 sem acesso auth=x necessrios bind compare=cx necessrio para comparar search=scx necessrios para aplicar filtros de procura read=rscx necessrio para ler resultados das buscas write=wrscx necessrios para modificar/renomear

4.19.5 THREADS
Os threads tem suporte garantido para ser sistema Linux. O OpenLDAP projetado para threads. OpenLDAP suporta POSIX pthreads, C outras variedades. O ato de configurar, requisitar poder achar um subsistema de thread apropriado. parte da base do aproveitar-se das Threads, e vrias a possibilidade de

4.19.6 TCP WRAPPERS


Slapd suporta TCP Wrappers (IP nivela o acesso ao controle de filtros). Use TCP Wrappers ou outro IP onde nivela e acessa os filtros (como aqueles provido por um IP-nivel Firewall). recomendado para servidores contendo informaes no pblicas.

4.20 CONFIGURANDO O SERVIDOR LDAP


Toda configurao execuo do slapd realizada pelo arquivo slapd.conf, instalado no diretrio de prefixo especificado durante o processo de instalao e configurao (compilao se for o caso) ou revelia em /usr/local/etc/openldap. Deve-se detalhar a configurao das diretivas usada comumente no slapd.conf. O arquivo de configurao das diretivas so separados em globais, backend especficos e banco de dados especficos. Sero descritas as diretivas junto aos seus valores dafaults para a utilizao. O arquivo slapd.conf consiste em trs tipos de informaes de configurao: global, backend especfico, e banco de dados especfico. As informaes globais so especificados primeiro, seguidos por informaes associadas a um particular tipo de backend, que ento seguidas por informaes associadas com uma instncia de banco de dados particular. A diretiva Global pode ser anulada em um backend e/ou diretiva de banco de dados, diretivas backend pode ser anulado por diretivas de banco de dados. As linhas de comentrio brancas comeando com um '#' caractere so ignorados. Se uma linha comea com branco especial, considerada uma continuao da linha prvia (ainda que a linha prvia um comentrio). O formato geral de slapd.conf : #configurao global directives 28

<global config directives> # backend definio backend <typeA> <backend-specific directives> #segunda definio de banco de dados & configurao de diretivas database <typeB> <database-specific directives> #segunda "typeA" banco de dados definio & configurao de diretivas database <typeA> <database-specific directives> # subseqente backend & definies de banco de dados & configurao de diretivas A distribuio contm um arquivo de configurao de exemplo que instalado no diretrio /usr/local/etc/openldap. Vrios arquivos contendo definies de shemas (tipos de atributo e classes de objeto) tambm esto providos no diretrio /usr/local/etc/openldap/schema.

4.20.1 DIRETIVAS GLOBAIS


Diretivas descritas aqui se aplica a todo backends e bancos de dados a menos que especificamente anulados em um backend ou definio de banco de dados. Os parmetros que deviam ser substitudos por texto real so mostrados em parnteses <>. access to <what> [ by <who> <accesslevel> <control> ]+ Essa diretiva concede acesso (especificado por <accesslevel>) para um conjunto de entradas e/ou atributos por um ou mais requisies. Se nenhum acesso as diretivas forem especificadas, o acesso default controla a poltica. attributetype <RFC2252 Attribute Type Description> Essa diretiva define um tipo de atributo. Checar o URL seguinte para mais detalhes: idletimeout <integer> Especifica o nmero de segundos para esperar na frente de violentamente fechar uma conexo de cliente inativo. Um idletimeout 0, o default, desativa esta caracterstica. 29

include <filename> Essa diretiva especifica que o slapd deve ler informaes de configurao adicionais do arquivo dados antes de continuar com a linha prxima do arquivo corrente. O arquivo includo devia seguir o normal formato do arquivo slapd. O arquivo comumente usado para incluir arquivos contendo especificaes da schema. loglevel <integer> Essa diretiva especifica o nvel em que deve depurar declaraes e estatstica de operao. Deve-se ter OpenLDAP configurado --ativar-depura (o default) para este trabalho (com exceo dos dois nveis de estatstica, que esto sempre habilitados). Nveis de log so aditivos. Os valores possveis para <inteiro> so: Depurando Nveis Nvel -1 0 1 2 4 8 Descrio Ativar toda depurao Nenhuma depurao Traa chamadas de funo Depura manipulao de pacote Traa depurao pesada Gerenciamento de conexo Imprime sada de pacotes enviados e 16 recebidos 32 Procura processamento de filtro Processamento de arquivo de 64 configurao Processamento do acesso a lista de 128 controle Ativa log de conexes / operaes / 256 resultados. 512 Ativa a entrada no log das enviadas Comunicao de impresso com 1024 shell backends Imprime analise de depurao da 2048 entrada. Exemplo: loglevel 255 or loglevel -1 30

Este causar muitas informaes de depurao para ser syslogged. Default: loglevel 256 objectclass <RFC2252 Object Class Description> Essa diretiva define uma classe de objeto. Checar a URL seguinte para mais detalhes. referral <URI> Essa diretiva especifica a indicao para passar de volta quando slapd puder encontrar um para o banco de dados um pedido local. referral ldap://root.mazombo.br Este se referir a questes no locais da raiz global do servidor LDAP no Projeto OpenLDAP. os clientes do LDAP podem perguntar em um determinado servidor, mas nota que a maior parte destes clientes s vo conhecer como URLs do LDAP simples que contm um host separado e opcionalmente um nome distinto. sizelimit <integer> Essa diretiva especifica o nmero de mximo de entradas para retornar para uma operao de busca. Default: sizelimit 500 timelimit <integer> Essa diretiva especifica o nmero de mximo de segundos (em tempo real) que o slapd passar a responder a um pedido de procura. Se um pedido no est acabado neste tempo, um resultado indicando um excedido timelimit ser retornado. Default: timelimit 3600

4.20.2 DIRETIVAS GERAL DE BACKEND


Diretivas deste tpico se aplica s para o backend em que eles so definidas. Eles so suportados por todo tipo de backend. Diretivas de backend se aplica a todas as instncias de bancos de dados do mesmo tipo e, dependendo da diretiva, pode ser anulados por diretivas do banco de dados. 31

backend <type> Essa diretivas marcam o incio de uma definio de backend. <o tipo> devia ser um de bdb ou um de outro suporta tipos backend listados abaixo: Banco de dados Backends Tipo bdb dnssrv ldbm Descrio Berkeley DB transactional backend DNS SRV backend Lightweight DBM backend Lightweight Directory Access Protocol (Proxy) ldap backend meta Meta Directory backend monitor Monitor backend passwd Permisso de somente leitura para o passwd perl shell sql Perl programmable backend Shell (programa externo) backend Programvel em SQL backend

Exemplo: backend bdb Esta marca o incio de um nova definio para o BDB backend.

4.20.3 BANCO DE DADOS GERAL DE DIRETIVAS


Diretivas neste tpico se aplica s para o banco de dados em que eles so definidos. Eles so suportados por todo tipo de banco de dados. database <type> Esta diretiva marca o incio de uma nova definio de instncia de banco de dados. database bdb Esta marca o incio de um nova BDB backend definio da instncia de banco de dados.

32

readonly { on | off } Esta diretiva pe o banco de dados no modo "somente para leitura". Qualquer tentativas para modificar o banco de dados retornar um mensagem de erro. Default: readonly off replica uri=ldap[s]://<hostname>[:<port>] | host=<hostname>[:<port>] [bindmethod={simple|kerberos|sasl}] ["binddn=<DN>"] [saslmech=<mech>] [authcid=<identity>] [authzid=<identity>] [credentials=<password>] [srvtab=<filename>] Esta diretiva especifica uma replicao do site para este banco de dados. O uri= parmetro especifica um esquema, um host e opcionalmente uma porta onde o escravo slapd instncia e pode ser achada. Ou um nome de domnio ou endereo de IP podem ser usados para <hostname>. Se <porta> no recebe, o nmero de porta de padro LDAP (389 ou 636) usado. A uri permite o servidor de rplica LDAP ser especificado como um LDAP URI como ldap://slave.mazombo.br:389 ou ldaps://slave.mazombo.br:636. O binddn o parmetro que d ao DN a vincular como para atualizaes para o escravo slapd. Devia ser um DN que tem acesso read/write ao banco de dados escravo slapd. Deve tambm combinar a diretiva updatedn no arquivo de configurao slapd do escravo. Geralmente, este DN no devia ser o mesmo que o rootdn no banco de dados mestre. Desde que os DNS so provveis para conter espaos embutidos, os inteiros "binddn=<DN>" string deve ser incluso em citaes duplas. O bindmethod simples , pode usar kerberos ou sasl, dependendo da autenticao baseada em senha simples ou autenticao de Kerberos ou autenticao de SASL para ser usada quando conectando ao escravo slapd. A autenticao simples no devia ser usada a menos que integridade e protees de isolamento adequadas esto em lugar (por exemplo TLS ou IPSEC). Autenticao simples exige especificao de binddn e parmetros credenciais. A autenticao de Kerberos voltada a favor de mecanismos de autenticao de SASL, em particular os mecanismos de KERBEROS_V4 e GSSAPI. a autenticao de Kerberos exige binddn e srvtab parmetros. A autenticao de SASL est geralmente recomendada. a autenticao de SASL exige especificao de um mecanismo usando o parmetro saslmech. Dependendo do mecanismo, uma identidade de autenticao e/ou credenciais podem ser especificadas usando authcid 33

e credenciais respectivamente. O authzid parmetro pode ser usado para especificar uma identidade de autorizao. replogfile <filename> Essa diretiva especifica o nome do arquivo log da replicao para o slapd. O log da replicao tipicamente escrito por slapd e l por slurpd. Normalmente, esta diretiva s usada se slurpd est sendo usado para reproduzir o banco de dados. Porm, tambm pode usar ele para gerar um log de transao, se slurpd no est executando. Neste caso, periodicamente precisar truncar o arquivo, caso contrrio ele crescer indefinidamente. rootdn <dn> Esta diretiva especifica o DN que no sujeito a controle de acesso ou restries de limite administrativas para operaes neste banco de dados. O DN no precisa se refere a uma entrada no diretrio. O DN pode se referir a uma identidade de SASL. Exemplo baseado em entrada: rootdn "cn=Manager, dc=mazombo, dc=br" Exemplo baseado em SASL: rootdn "uid=root,cn=mazombo.br,cn=digest-md5,cn=auth" rootpw <password> Esta diretiva pode ser usada para especificar uma senha para o rootdn (quando o rootdn configurado para um DN dentro do banco de dados). Exemplo: rootpw secret Tambm permissveis para prover o formato da senha no formulrio RFC 2307. slappasswd pode ser usado para gerar a segurana da senha. Exemplo: rootpw {SSHA}ZKKuqbEKJfKSXyfgftrtbHG3fn9j1v4QNG8MD O cdigo foi gerado usando o comando slappasswd -s secret. suffix <dn suffix> Esta diretiva especifica o sufixo de DN de questes que sero passadas para este backend banco de dados. As linhas de sufixo mltiplo podem receber, e pelo menos se exigido para cada definio de banco de dados. suffix "dc=mazombo, dc=br" 34

As questes com um DN terminar em "dc=mazombo.dc=br" ser passado para este backend. Quando o backend para passar uma questo selecionado, slapd dirige-se para a linha de sufixo(s) em cada definio de banco de dados no pedido eles aparecem no arquivo. Deste modo, se um sufixo de banco de dados um prefixo de outro, deve aparecer atrs dele no config arquivo. Syncrepl Esta diretiva usado para manter um banco de dados reproduzido sincronizado com o banco de dados de mestre, de forma que o contedo de banco de dados reproduzido ser mantido em dia com o contedo do mestre. Neste trabalho no cobre em detalhes este diretivo, porque esta sendo configurando um Servidor de LDAP nico. updatedn <dn> Esta diretiva s aplicvel em um escravo slapd. Especifica o DN permitiu fazer mudanas para a rplica. Isto pode ser o DN slurpd vincula como quando fazendo mudanas para a rplica ou o DN associou com uma identidade de SASL. Exemplo baseado em entrada: updatedn "cn=Update Daemon, dc=mazombo, dc=br" Exemplo baseado em SASL: updatedn "uid=slurpd,cn=mazombo.br,cn=digest-md5,cn=auth" updateref <URL> Esta diretiva s aplicvel em um escravo slapd. Especifica-se a URL para retornar aos clientes que se submetem a pedidos de atualizao na rplica. updateref ldap://master.mazombo.br

4.20.4 BDB BANCO DE DADOS DE DIRETIVAS


Diretivas nesta categoria s se aplica um banco de dados de BDB. Isto , eles devem seguir um "banco de dados linha bdb", vem antes de qualquer subseqente "backend" ou "linha de banco de dados. directory <directory> Esta diretiva especifica o diretrio onde os arquivos de BDB contendo o banco de dados e associou ndices. Default: directory /usr/local/var/openldap-data 35

sessionlog <sid> <limit> A operao de Sincronizao de Contedo de LDAP em prexistindo sesso pode usar o arquivo de log de sesso a fim de reduzir a quantia de trfego de sincronizao. Se a rplica no to antiquada que pode ser feito em dia pelas informaes no arquivo de sesso, o provedor slapd enviar ao consumidor slapd as identidades para entradas junto com as entradas de escopo adicionado as modificaes dentro do contedo da replicao. Se o status de rplica antiquado demais e alm da cobertura do arquivo do histrico, ento o provedor slapd enviar as identidades das descarregadas em entradas de escopo junto com as mudadas entradas de escopo. O consumidor slapd ento remover entradas na rplica que no so identificadas como apresentados no contedo de provedor.

4.20.5 LDBM BANCO DE DADOS DE DIRETIVAS


Diretivas nesta categoria s se aplica ao banco de dados LDBM backend. Isto , eles devem seguir um "banco de dados ldbm" e vem antes de qualquer outro "banco de dados" ou "backend". cachesize <integer> Esta diretiva especifica o tamanho das entradas do em cache de memria mantida pela instncia do banco de dados LDBM backend. Default: cachesize 1000 dbcachesize <integer> Esta diretiva especifica o tamanho em bytes do cache de memria associada com cada arquivo de ndice aberto. Se no suportado pelo mtodo de banco de dados subjacente, a diretiva ignorada sem comentrio. Acrescentando este nmero usa mais memria mas pode fazer um aumento de apresentao dramtica, especialmente durante modificao ou quando constro ndices. Default: dbcachesize 100000 dbnolocking Esta opo, se presente, desativa bloqueio de banco de dados. Ativando esta opo pode melhorar apresentao s custas de segurana de dados. Dbnosync Esta causa a opo do contedo de banco de dados do disco sem ser imediatamente sincronizadas com mudanas da memria. Ativando esta opo pode melhorar apresentao s custas de segurana de dados. 36

directory <directory> Esta diretiva especifica o diretrio onde os arquivos de LDBM contendo o banco de dados associou seus ndices. Default: directory /usr/local/var/openldap-data index {<attrlist> | default} [pres,eq,approx,sub,none] Esta diretiva especifica os ndices para manter o atributo dado. Se s um <attrlist> recebe, os ndices defaults so mantidos. index default pres,eq index uid index cn,sn pres,eq,sub index objectClass eq A primeira linha fixa o conjunto default de ndices para manter presente e igual. A segunda linha causa o default (pres,eq) conjunto de ndices para ser mantido para o atributo uid. A linha trs apresenta, igualdade e ndices de substring para ser mantidos para atributo cn e sn. A quarta linha causa um ndice de igualdade para o atributo objectClass. index objectClass eq mode <integer> Esta diretiva especifica o modo de proteo de arquivos recentes do ndice de banco de dados criados. Default: mode 0600

4.20.6 CONTROLE DE ACESSOS


O acesso controla instalao provida pelo acesso diretivo bastante poderoso. Esta seo frisa demonstraes de uso. access to * by * read demonstrado o uso de uma expresso regular para selecionar as entradas por DN e acessa diretivas onde ordenar significante. access to dn=".*, o=mazombo, c=BR" by * search access to dn=".*, c=BR" by * read

37

Acesso concedido para entradas debaixo da subrvore de c=BR, com exceo das entradas debaixo das "o=mazombo, c=BR" subrvore, para procurar acesso concedido. Nenhum acesso concedido para c=BR, como nenhuma partidas de acesso diretivas DN. Se o pedido destes acessos a diretivas eram invertidos. Outro caminho para implementar os mesmos controles de acesso : access to dn.amigos="dc=mazombo,dc=br" by * search access to dn.amigos="dc=br" by * read Acesso concedido para entradas debaixo da subrvore de br de dc, com exceo das entradas debaixo da subrvore dc=mazombo,dc=br, para que procurem acesso concedido. Nenhum acesso concedido para dc=br ,nenhuma partida do acesso da diretivas DN. Se o pedido destes acesso a diretivas eram invertidos, arrastar diretiva nunca seria alcanado, desde que todas as entradas debaixo de dc=mazombo,dc=br, tambm esto debaixo de entradas de dec=br. Tambm nota-se nenhum acesso para clusula da diretiva "by <que>", o acesso negado. Isto , todo acesso a diretiva implcita by * none clusula e todos acessam a lista, termina com um acesso implcito a diretiva * by * none. O prximo arquivo de configurao, novamente mostra importncia de ordenar, ambos acesso a clusulas da diretiva "by <que>". Tambm mostra o uso de um seletor de atributo para conceder acesso a um atributo especfico e vrios <que> seletores. access to dn.subarvore="dc=mazombo,dc=br" attr=telefones by self write by dn.amigos=dc=mazombo,dc=br" search by peername=IP:10\..+ read access to dn.subarvore="dc=mazombo,dc=br" by self write by dn.amigos="dc=mazombo,dc=br" search by anonymous auth Esta demonstrao se aplica a entradas nas subrvore "dc=mazombo,dc=br". Todos os atributos exceto telefone, uma entrada pode escrever para propriamente, entradas debaixo de mazombo.br entradas podem procurar por eles, qualquer outra pessoa no tem nenhum acesso (implcito by * none) com exceo de autenticao/autorizao (que sempre feito anonimamente). O atributo telefone escrita pela entrada, procura por entradas debaixo de mazombo.br, legveis por clientes que conectam na faixa de rede 10, caso contrrio no legvel (implcita by * none). Todo outro acesso negado pelo acesso implcito a * by * none. s vezes til para permitir um DN particular para adicionar ou remover propriamente um atributo.se quiser criar um agrupamento e permitir a pessoas adicionar e remover seu prprio atributo DN do membro, podie realizar com um acesso diretivo como isto: 38

access to attr=member,entry by dnattr=member selfwrite O dnattr diz que o acesso se aplica a entradas listadas no atributo do membro. O selfwrite acessa diz que tais membros podem adicionar ou apagar seu prprio atributo DN. A adio do atributo de entrada exigida porque o acesso a entrada exigido para acessar quaisquer dos atributos de entrada.

4.20.7 ARQUIVO DE CONFIGURAO


O seguinte um arquivo de configurao, com texto explicativo. Define partes de bancos de dados diferentes da rvore de X.500; ambos so instncias de banco de dados de BDB. O nmeros das linhas mostrados so providos para referncia e no so includas no arquivo real. Primeiro, a seo de configurao global: 1. 2. 3. 4. # config file - global configuration section include /usr/local/etc/schema/core.schema referral ldap://root.openldap.org access to * by * read

A linha 4 um controle de acesso global. Se aplica a todas as entradas. A prxima seo do arquivo de configurao define questes para parmetros, "dc=mazombo,dc=br" da rvore. O banco de dados para ser reproduzido para dois escravo slapds. Os ndices so para ser mantidos para vrios atributos, e o atributo userPassword para ser protegido de acesso sem autorizao. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. # BDB definition for the mazombo.com database bdb suffix "dc=mazombo,dc=br" directory /usr/local/var/openldap-data rootdn "cn=Manager,dc=mazombo,dc=br" rootpw secret # replication directives replogfile /usr/local/var/openldap/slapd.replog replica uri=ldap://slave1.mazombo.br:389 binddn="cn=Replicator,dc=mazombo,dc=br" bindmethod=simple credentials=secret replica uri=ldaps://slave2.mazombo.br:636 binddn="cn=Replicator,dc=mazombo,dc=br" bindmethod=simple credentials=secret # indexed attribute definitions 39

20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.

index uid pres,eq index cn,sn,uid pres,eq,sub index objectClass eq # database access control definitions access to attr=userPassword by self write by anonymous auth by dn.base="cn=Admin,dc=mazombo,dc=br" write by * none access to * by self write by dn.base="cn=Admin,dc=mazombo,dc=br" write by * read

A linha 5 um comentrio. O comeo da definio de banco de dados marcado pelo palavra-chave de banco de dados na linha 6. A linha 7 especifica o sufixo de DN para questes passar para este banco de dados. A linha 8 especifica o diretrio em que os arquivos de banco de dados ficaro. As linhas 9 e 10 identificam o banco de dados " super usurio", entrada e associa a senha. Esta entrada no sujeito a controle de acesso, tamanho ou restries de prazo. rootpw {SSHA}ZKKuqbEKJfKSXyfgftrtbHG3fn9j1v4QNG8MD As linhas 11 a 18 so para replicao. As linhas 20 a 22 indicam os ndices para manter vrios atributos. As linhas 24 por 32 especificam controle de acesso para entradas no banco de dados. Como o primeiro banco de dados, os controles tambm se aplicam a entradas no seguras em qualquer banco de dados. Para todas as entradas aplicveis, o userPassword atributo escrita pela entrada propriamente e pela entrada "admin". Pode ser usado para autenticao e/ou autorizao, mas caso contrrio no legvel. Todos outros atributos so escritos pela entrada "admin", mas pode ser lida por todos os usurios (autenticado ou no). A prxima seo do arquivo de configurao define outro banco de dados de BDB. Aqui esta questes envolvendo o dc=mazombo,dc=br, administrada pela mesma entidade que o primeiro banco de dados. 33. 34. 35. 36. 37. 38. 39. # BDB definition for mazombo.net database bdb suffix "dc=mazombo,dc=net" directory /usr/local/var/openldap-data-net rootdn "cn=Manager,dc=mazombo,dc=br" index objectClass eq access to * by users read

40

4.20.8 EXECUO DO SERVIDOR LDAP


O processo de LDAP slapd projetado para ser executado como um servidor independente. Este permite o servidor para aproveitar o caching e adminitrao corrente dos assuntos com bancos de dados subjacentes, e conservam recursos de sistema.

4.20.9 OPES DE LINHAS DE COMANDOS


Slapd suporta vrias opes de linha de comandos. -f <filename> Esta opo especifica um arquivo de configurao alternada para slapd. O default normalmente /usr/local/etc/openldap/slapd.conf. -h <URLs> Esta opo especifica configuraes de localizao alternativo. O default ldap:/// que implica LDAP acima de TCP em todas as interfaces na porta do LDAP default 389. Pode especificar um host especficos ou outros esquemas de protocolo (como ldaps:// ou ldapi://). -n <service-name> Esta opo especifica o nome de servio usado para logging e outros propsitos. O nome de servio default slapd. -l <syslog-local-user> Esta opo especifica o usurio local para instalao syslog. Os valores podem ser LOCAL0, LOCAL1, LOCAL2,..., e LOCAL7. O default LOCAL4. Esta opo no pode ser suportada em todos os sistemas. -u user -g group Estas opes especificam o usurio e grupos, respectivamente. O usurio pode ser um nome do usurio ou uid.Grupo pode ser nome de grupo ou gid. -r directory Esta opo especifica tempo de execuo do diretrio. Slapd, chroot para este diretrio depois de aberto escuta, antes de ler qualquer arquivo de configurao ou inicializar qualquer backends. -d <level> | ? 41

Esta opo fixa para o slapd depurar nveis. Caracteristicas dos vrios nveis de depurao esto impressos e slapd, no importando quaisquer outras opes e os nveis de depurao corrente: Pode ativar nveis mltiplos especificando a opo depurar, uma vez para cada nvel. Isto , se quiser localizar funo chamada e verificao no arquivo de configurao, estando processada, pode configurar nvel para a soma daqueles dois nveis (neste caso, -d 65). Ou, pode deixar slapd fazer, (por exemplo -d 1 -d 64).

4.20.10 CRIAO MANUTENO

DE

BANCO

DE

DADOS

Esta seo especifica como criar um banco de dados slapd. Existem dois caminhos para criar um banco de dados. Primeiro pode criar o banco de dados on-line usando LDAP. Com este mtodo, simplesmente recomea atividades slapd e adiciona entradas usando o cliente de LDAP da escolha do administrador. Este mtodo bom para bancos de dados relativamente pequenos (algumas cem ou mil entradas, dependendo de seus requisitos). Este trabalho de mtodo para tipos de banco de dados suporta atualizaes. O segundo mtodo de criao de banco de dados est para fazer fora da linha usando utilitrios especiais provido com slapd. Este mtodo melhor se voc tiver muitos milhares de entradas para criar, que tomariam um tempo longo usando o mtodo de LDAP, ou se quiser assegurar o banco de dados no acessado enquanto est sendo criado. S que nem todos tipos de banco de dados suportar estes utilitrios.

4.20.11 CRIANDO BANCO DE DADOS ON-LINE


O pacote de software de OpenLDAP vem com um utilitrio chamado ldapadd, costuma adicionar entradas enquanto o servidor de LDAP est em execuo. Se optar por criar o Banco de dados online, pode usar o ldapadd ferramenta para adicionar entradas (tambm pode usar outros clientes providos do pacote de OpenLDAP adicionar entradas). Depois de adicionar as primeiras entradas, pode ainda usar ldapadd para adicionar mais entradas. No deve deixar de configurar as opes de configurao seguinte no arquivo sladp.conf antes de comear slapd: suffix <dn> Esta opo diz quais entradas so para ser seguras por este banco de dados. Deve-se deixar este DN na raiz da subrvore que est tentando criar. 42

suffix "o=mazombo, c=br" No deve deixar de especificar um diretrio onde os arquivos de ndice devem ser criados: directory /usr/local/tudelft Este diretrio e necessrio ser criado com permisses apropriadas de forma que slapd possa escrever. E preciso configurar slapd de forma que possa conectar a ele como um usurio de diretrio com permisso para adicionar entradas. Configurar o diretrio para suportar um usurio ou usurio de raiz. Isso feito pelas seguintes opes na definio de banco de dados: rootdn <dn> rootpw <passwd> (Utiliza-se uma senha de SHA ) Estas opes especificam um DN e senha que podem ser usados para autenticar como o "superusuario" entrada do banco de dados (isto , a entrada permiti fazer qualquer coisa). O DN e senha especificaram aqui sempre trabalharo, no importando se a entrada chamado realmente existe ou tem a senha. Este resolve o problema de como autenticar e adicionar entradas antes de qualquer entrada. Slapd nativo entende se usar um SHA-1 codificando a senha na diretiva rootpw. possvel usar o comando slappasswd para gerar as senhas. slappasswd -h {SHA} rootpw "{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ="

rootdn "cn=Manager,dc=mazombo,dc=br" rootpw "{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ=" A sada default para slappasswd para gerar senhas seguras {SSHA}, neste caso no precisa passar pelo parmetro -h, chama-se slappasswd diretamente. Se estiver usando SASL como um mecanismo para autenticar contra LDAP, a linha rootpw pode ser descartada. Finalmente, deve ter certeza que a definio de banco de dados contenha as definies de ndice que deseja: index {<attrlist> | default} [pres,eq,sub,none] ndice dos atributos cn, sn, uid e objectclass, as linhas de configurao de ndice seguinte puderam ser usadas. index cn,sn,uid pres,eq,sub 43

index objectClass pres,eq No so todos tipos de ndice que esto disponveis com todos tipos de atributo. Uma vez que voc configurou para sua preferncia, recomece atividades slapd, conecte com seu cliente de LDAP, e comece a adicionar entradas. Por exemplo, adicionar a entrada de mazombo seguido por uma entrada de email usando o ldapadd ferramenta, cria um arquivo chamado /tmp/novaentrada com o contedo: o=mazombo, c=br objectClass=organization description=Teste do dominio mazombo cn=email, o=mazombo, c=br objectClass=organizationalRole cn=email description= mazombo email email@mazombo.br Ento usa-se um comando para criar a entrada: ldapadd -f /tmp/novaentrada -x -D "cn=Manager, o=mazombo, c=br" -w secret O comando acima assume que foi configurado rootdn "cn=Gerente, o=mazombo, c=br" e rootpw para "secreto" (talvez SHA-1 codificado em slapd.conf). Se no quiser a senha na linha de comandos, usa-se a opo -W para o comando ldapadd em vez de -w "senha". ldapadd -f /tmp/newentry -x -D "cn=Manager, o=mazombo, c=br" -W Enter LDAP Password:

4.20.12 CRIANDO UM BANCO DE DADOS OFFLINE


O segundo mtodo de criao de banco de dados faz isto fora da linha, usando o slapd, banco de dados e ferramentas descritas abaixo. Este mtodo melhor se tiver muitos milhares de entradas para criar, que tomariam um tempo longo usando o mtodo e ferramentas do LDAP. Estas ferramentas lem o arquivo de configurao slapd e um arquivo de entrada LDIF contendo uma representao em texto das entradas para serem adicionadas. Para tipos de banco de dados que suportam as ferramentas, eles produzem os arquivos de banco de dados diretamente (caso contrrio deve usar o mtodo on-line). Existem vrias opes de configurao importante que estar certo e aparece a definio do banco de dados de arquivo primeiro:

44

suffix <dn> Esta opo diz que entradas so para ser seguras por este banco de dados. Devie-se deixar este para o DN da raiz da subrvore que est tentando criar. suffix "o=mazombo, c=br" No deve deixar de especificar um diretrio onde os arquivos de ndice devam ser criados: directory /usr/local/mazombo Precisa especificar quais ndices deseja construir. feito por uma ou mais opes de ndice. index {<attrlist> | default } [pres,eq,approx,sub,none] index cn,sn,uid pres,eq,sub index objectClass eq Este cria presena, igualdade e ndices de substring para o cn, sn, e uid atributos e um ndice de igualdade para o atributo objectClass. Uma vez que configurado de acordo com a preferncia do adminitrador, cria um banco de dados primrio e associa ndices executando o programa slapadd: slapadd -l <inputfile> -f <slapdconfigfile> [-d <debuglevel>] [-n <integer>|-b <suffix>] Os parmetros tm os seguintes significados: -l <inputfile> O arquivo de entrada e especificado no LDIF contendo as entradas para adicionar em formulrio de texto. -f <slapdconfigfile> Especifica-se o arquivo de configurao slapd que diz onde criar os ndices. -d <debuglevel> Aciona a depurao, como especificados por <debuglevel>. O depurar nveis so o mesmo que para slapd. -n <databasenumber> Um parmetro opcional que especifica qual banco de dados deve modificar. O primeiro banco de dados listado no arquivo de configurao 1, o segundo 2, etc. revelia, o primeiro banco de 45

dados no arquivo de configurao usada. No devia ser usado junto com -B. -b <suffix> Um parmetro opcional que especifica o que banco de dados deve modificar. O sufixo provido combinado contra um sufixo de banco de dados diretivo para determinar o nmero de banco de dados. No deve ser usado junto com -N. s vezes pode ser necessrio para regenerar ndices, como depois de modificar slapd.conf. Isto possvel usando o programa slapindex. slapindex -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>] Onde as -f, -d, -n e -b so opes o mesmo que para o slapadd programa. slapindex reconstri todos os ndices baseados no contedo de banco de dados corrente. O programa slapcat usado para esvaziar o banco de dados para um arquivo de LDIF. Isso pode ser til quando quiser fazer uma cpia de segurana legvel de seu banco de dados ou quando quiser editar seu banco de dados fora da linha. slapcat -l <filename> -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>] Onde -n ou -b usado para selecionar o banco de dados no slapd.conf, especificado usando -F. A sada de LDIF correspondente escrita para sada de padro ou para o arquivo especificado usando a opo -l.

4.20.13 FORMATO DO LDIF


O formato de intercmbio de Dados dO LDAP (LDIF) usado para representar entradas de LDAP em um formato de texto simples. O formulrio bsico de uma entrada : #comment dn: <distinguished name> <attrdesc>: <attrvalue> <attrdesc>: <attrvalue> ... As linhas que comeam com um '#' caractere so comentrios. Uma descrio de atributo (attrdesc) pode ser um tipo de atributo simples como cn ou objectClass ou podem incluir opes como cn;lang_en_US ou userCertificate;binary. dn: cn=Barbara Silva, dc=mazombo, dc=br cn: Barbara Silva 46

#este equivale a dn: cn= Barbara Silva, dc=mazombo, dc=br cn: Barbara Silva #os valores de atributo mltiplo so especificados nas linhas separadas. cn: Barbara Silva cn: Barbarinha Se um <attrvalue> contm caracteres no-imprimindo ou comear com um especial, um dois pontos duplo (':'), ou um menos que ('<'), o <attrdesc> seguido por um dois pontos duplo e a base64 de codificao do valor. cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= Tambm pode especificar uma URL contendo o valor de atributo. cn:< file://path/to/file.jpeg As entradas mltiplas dentro do mesmo arquivo de LDIF so separadas pelas linhas brancas. Aqui um arquivo de LDIF contendo duas entradas. # Entrada de Jose Silva dn: cn=Jose da Silva, dc=mazombo, dc=br cn: Jose da Silva cn: Ze da Silva objectClass: person sn: Silva # Base64 encoded JPEG imagens jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxO Q ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG # Entrada de Antonio Souza dn: cn=Antonio Souza, dc=mazombo, dc=com cn: Antonio Souza cn: Antonio Souza objectClass: person sn: Souza # arquivos de imagens .jpeg imagensjpeg:< file://srv/arquivo.jpeg Espaos no so aparados de valores em um arquivo de LDIF. No so espaos internos mltiplos comprimidos. Se no quiser eles em seus dados,e s no coloca-los.

47

4.20.14 O LDAPSEARCH, LDAPDELETE E LDAPMODIFY


ldapsearch uma interface do shell acessvel para o ldap_search, chamando sua biblioteca. Usa-se para procura de utilitrio para entradas em seu banco de dados de LDAP. A sinopse para chamar ldapsearch o seguinte: ldapsearch [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-B] [-L] [-R] [-d debuglevel] [-F sep] [-f file] [-x] [-D binddn] [-W] [-w bindpasswd] [-h ldaphost] [-p ldapport] [-b searchbase] [-s base|one|sub] [-a never|always|search|find] [-l timelimit] [-z sizelimit] filter [attrs...] Apresenta uma procura usando o filtro. O filtro deve ajustar com a representao de string para LDAP definido em RFC 1558. Se ldapsearch acha um ou mais entradas, os atributos especificados por attrs so recuperados e as entradas e valores estaro impressos para sada de padro. Se nenhum attrs forem listados, todos os atributos so retornados. ldapsearch -x -b 'o=mazombo,c=br' 'objectclass=*' ldapsearch -b 'o= mazombo,c=br ' 'cn=Jose Silva' ldasearch -u -b 'o= mazombo,c=br ' 'cn=Antonio Souza' sn mail A opo -b suporta searchbase (ponto de procura inicial), opo a -u suportam userfriendly sada de informaes e a opo -x usado para especificar autenticao simples. ldapdelete uma interface do shell acessvel para o ldap delete chamando sua biblioteca. Use este utilitrio para apagar entradas em nosso banco de dados de LDAP. A sinopse para chamar ldapdelete o: ldapdelete [-n] [-v] [-k] [-K] [-c] [-d debuglevel] [-f file] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [dn]... ldapdelete abre uma conexo para um servidor de LDAP, vincula, e apaga uma ou mais entradas. Se um ou mais parmetros dn so providos, de entradas com aqueles Nomes Distintos so apagadas. Cada dn devia ser uma string-representada DN como definido em RFC 1779. Se nenhum parmetros de dn forem providos, uma lista de DNS lida na entrada padro. ldapdelete 'cn=Jose Silva,o=mazombo,c=br'. 48

ldapdelete -v 'cn=Antonio Souza,o=mazombo,c=br' -D 'cn=Jose Silva,o=mazombo,c=br' W A -v opo suporta modo verboso, a opo -D suporta Binddn (o dn para autenticar contra) e a opo -W suporta lembrete de senha. ldapmodify uma interface do shell acessvel para o ldap_modifye ldap_add chamando suas bibliotecas. Use este utilitrio para modificar entradas em nosso banco de dados de LDAP. A sinopse para chamar ldapmodify o seguinte: ldapmodify [-a] [-b] [-c] [-r] [-n] [-v] [-k] [-d debuglevel] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] ldapadd [-b] [-c] [-r] [-n] [-v] [-k] [-K] [-d debuglevel] [-D binddn] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] ldapadd implementado como um link para a ferramenta ldapmodify. Quando invocou como ldapadd a tarefa de adicionar nova flag de entrada o ldapmodify automaticamente ligado. ldapmodify abre uma conexo para um servidor de LDAP, vincula, e modifica ou adiciona entradas. As informaes de entrada so lidas na entrada padro ou de arquivo pelo uso da opo -f. dn: cn=modifica,o=mazombo,c=br changetype: modifica replace: mail mail: modif@mazombo.br add: title title: Principal add: imagensjpeg imagensjpeg: /tmp/imagens.jpeg delete: description o comando ldapmodify -b -r -f /tmp/novaentrada Substituir o contedo do "modifica" atributo de entrada do correio com o valor " modif@mazombo.br ", adiciona um ttulo "Principal", e o contedo do arquivo /tmp/imagens.jpeg como uma imagensjpeg, e completamente remova o atributo de descrio. As mesmas modificaes de acima podem ser apresentadas usando a mais velho formato de entrada ldapmodify: cn=modifica,o=mazombo,c=br mail=modif@mazombo.br 49

+title=principal +imagensjpeg=/tmp/imagens.jpeg -description O comando: ldapmodify -b -r -f /tmp/entrymods O arquivo /tmp/novaentrada existe e tem contedo: dn: cn=Maria Silva,o=mazombo,c=br objectClass: person cn: Maria Silva cn: Maie sn: Silva title: gerente de marketing mail: maria.silva@mazombo.br uid: maria.silva o comando ldapadd -f /tmp/entrymods Adicionar a entrada com dn: cn=Maria Silva, o=mazombo, c=br , se no for j apresenta uma entrada com este dn j existe, o comando assinala o erro e no escrever elaboradamente a entrada. O arquivo /tmp/novaentrada existe e tem o contedo: dn: cn=Maria Silva,o=mazombo,c=br changetype: delete o comando ldapmodify -f /tmp/novaentrada remove a entrada da Maria Silva A opo -f suporta arquivo, a opo -b suporta binrio, o -r suporta substituir valores existentes revelia.

4.21 AUTENTICAO USANDO LDAP


Para acessar o servio de LDAP, o cliente primeiro deve autentica-se no servio. Isto , deve dizer ao servidor de LDAP que vai estar acessando os dados de forma que o servidor pode decidir o que o cliente tem permisso para ver e fazer. Se o cliente autentica com sucesso, o servidor subseqentemente receber um pedido do cliente, checar se o cliente tem permisso para solicitar o pedido. Este processo chamado controle de acesso. No LDAP, a autenticao fornecida na operao bind(vincular). Ldapv3 suporta trs tipos de autenticao: annima, simples e autenticao de SASL. Um cliente que envia uma solicitao sem fazer uma vinculao tratado como um cliente annimo. A autenticao simples consiste em enviar o servidor de LDAP o completamente DN qualificado do cliente (usurio) e a senha de texto claro do cliente. Este mecanismo tem problemas de segurana porque a senha pode ser lida da rede. Para evitar expor a senha deste modo, 50

pode-se usar o mecanismo de autenticao simples dentro de um canal codificado (como SSL), desde que suportado pelo servidor de LDAP. O SASL a autenticao e a camada de segurana(RFC 2222). Especifica um protocolo em que os dados so permutados entre o cliente e o servidor para os propsitos de autenticao e estabelecimento de uma camada de segurana em que possa executar a comunicao subseqente. Usando SASL, LDAP pode suportar qualquer tipo de autenticao em acordo estipulado entre o cliente e o servidor. O processo de autenticao dos usurios acessa informaes da sua rvore de diretrio, O servidor LDAP pode autenticar usurios de outros servios (Postifix, ProFtp etc...). Isto realizado migrando informaes de usurio especficas para seu servidor de LDAP e usando um mecanismo chamado PAM, (Pluggable Authentication Module).

4.22 LOGS
Afim de ativar a gerao de logs tem que editar o arquivo syslog.conf, localizado no diretrio /etc. Cria-se uma linha como a descrita abaixo dentro do arquivo syslog.conf. local4.* /var/log/slapd.log Nesta linha usurio default LOCAL4 usar o syslog para facilitar o seu uso. Se quiser especificar o nvel dos logs que sero gerados ou mudar o usurio default, existem as opes seguintes quando inicia o slapd: -s syslog-level Esta opo diz ao slapd que as declaraes de depurao de nvel devem ser registradas no syslog. O nvel descreve a severidade da mensagem, e um palavra-chave da seguinte lista ordenada (mais alta para a mais baixa): emerg, alert, crit, err, warning, notice, info, e debug. slapd -f myslapd.conf -s debug -l syslog-local-user Seleciona o usurio local do syslog. Os valores podem ser LOCAL0, LOCAL1, e assim por diante, at LOCAL7. O default LOCAL4. Porm, esta opo s est permitida em sistemas que suportam usurios local com o syslog.

51

5. RESULTADO DO PDC CONFIGURADO


Aps a verificao das questes tericas para correta implementao e configurao do servidor PDC utilizando Samba integrado com o OpenLDAP, o resultado ser demonstrado atravs de imagens capturadas de arquivos de configurao e do gerenciamento da base de dados do servidor de diretrios.

5.1 CONFIGURAO DO SAMBA


A figura 5.1 mostra as configuraes iniciais que sero interpretadas pelo servidor samba. Onde constam o domnio, nome do servidor, e configuraes com os parmetros estipulados de acordo com a convenincia e utilidade do momento da configurao.

Figura 5.1.1: Primeira parte do smb.conf.

52

Figura 5.1.2: Segunda parte do smb.conf. Na figura 5.2 mostra as configuraes do home, dos usurio, netlogon, onde direciona os scripts de logon e o profiles, que define sobre regras dos perfis do controlador de domnio.

Figura 5.1.3: Terceira parte do smb.conf. Na figura acima mostra a configurao sobre as impressoras pertencentes ao domnio sob controle do servidor PDC.

53

Figura 5.1.4: Arquivo smbldap.conf A figura 5.4, mostra o arquivo de configurao smbldap.conf, onde consta alguns parmetros necessrios para a integrao do samba com o ldap.

Figura 5.1.5: Arquivo smbldap-bind.conf A figura acima mostra o arquivo onde armazena os parmetros necessrios para se acessar a base ldap, principalmente quando se usa alguma ferramenta ou software que existe suporte ao ldap.

Figura 5.1.6: Arquivo samba4wins.conf A figura 5.1.6 mostra o arquivo samba4wins.conf, onde se estipula parmetros necessrios para a replicao do servio wins no domnio do PDC.

54

5.2 CONFIGURAO DO LDAP

Figura 5.2.1: Arquivo ldap.conf O arquivo ldap.conf, armazena configuraes sobre a base do diretrio ldap, como o nome do host, domnio da base e senha de acesso.

Figura 5.2.2: Primeira parte do arquivo mazombo.ldif

Figura 5.2.3: Segunda parte do arquivo mazombo.ldif O arquivo mazombo.ldif armazena as informaes sobre a base de dados do diretrio (usurios, grupos, computadores, etc..) no servidor PDC do domnio mazombo.br.

55

Figura 5.2.4: Primeira parte do arquivo slapd.conf

Figura 5.2.5: Segunda parte do arquivo slapd.conf As principais configuraes do LDAP esto armazenadas no arquivo slapd.conf, onde esta armazenado os parmetros de todo o funcionamento do OpenLdap.

5.3 UTILIZAO DO SERVIDOR DE DIRETRIO PELO LDAPADMIN


Aps o servidor configurado, necessrio utilizar uma ferramenta complementar para administrar a base de dados do LDAP. Por isso foi escolhido o LDAPADMIN, que possui fcil instalao e utilizao, conforme demonstrado nas prximas figuras

56

Figura 5.3.1: Tela inicial do LDAPAdmin.

Figura 5.3.2: Acesso base do diretrio Computadores. Na figura 5.3.2, mostra como feito a consulta sobre os computadores que constam cadastrados na base de dados do LDAP.

57

Figura 5.3.3: Cadastro de computador O cadastro dos computadores na rede, na base de dados do LDAP um procedimento simples como mostra a figura 5.3.1.

Figura 5.3.4: Acesso a base do diretrio Usurio. O acesso as informaes dos usurios cadastrados na base do LDAP demonstrado atravs da figura 5.3.4.

58

Figura 5.3.5: Primeira etapa para cadastrar um usurio. Na figura 5.3.5 mostra a primeira etapa de cadastramento do usurio na base de dados do LDAP, onde encontra-se os dados referentes a conta na rede.

Figura 5.3.6: Segunda etapa para cadastrar um usurio. A segunda etapa para cadastrar usurio consiste no preenchimento dos campos referentes s informaes de acordo com o servidor Samba.

59

Figura 5.3.7: Terceira etapa para cadastrar um usurio. Na terceira etapa do cadastramento de usurio o local onde se colocam dados sobre o usurio, para identific-lo se quando necessrio.

Figura 5.3.8: Quarta etapa para cadastrar um usurio. Na figura 5.3.8 mostra o procedimento de cadastro de quais grupos o usurio ir pertencer.

60

Figura 5.3.9: Acesso base do diretrio Grupos. O acesso s informaes dos grupos cadastrados na base do LDAP demonstrado atravs da figura 5.3.5.

Figura 5.3.10: Primeira etapa de cadastro do grupo. A figura 5.3.10 esboa o processo de cadastramento de dados de um determinado grupo. 61

Figura 5.3.11: Segunda etapa de cadastro do grupo. Na figura 5.3.11 demonstra a segunda etapa de cadastro de um determinado grupo, no h informaes a serem cadastradas, pois a edio principal est na figura 5.3.10, na primeira etapa.

62

6. CONCLUSO
Atualmente na rea de redes, muitos administradores, principalmente os que atuam para o poder pblico vem precisando se encaixar no processo de migrao de servios que se enquadrem no projeto do governo federal de software livre. Para profissionais que atuam na iniciativa privada, levanta-se outras questes, como a questo de otimizao de gastos e manuteno, onde muitas vezes exigido uma soluo que atenda as necessidades da mesma forma que as solues proprietarias atenderiam. Ento foi focado a questo da utilizao do PDC, um servio extremamente importante para um funcionamento otimizado, organizado e operacionalmente vivel. Avalio-se ento a utilizao do Samba integrado com servidor de diretrio OpenLdap, uma soluo extremamente funcional, mas com um detalhe, a questo de implementao e documentao, que em relao aos demais servio um procedimento pouco documentada e publicada pela comunidade. Por isso realizou-se essa pesquisa para que pudesse reunir informaes e experincias de sucesso na realizao de tal procedimento e consequentemente poder dar uma contribuio para a comunidade. Devido os dados coletados e expostos, constatou-se que a utilizao do LDAP, oferece opes diversas para ser utilizado como soluo e somando a ferramentas e recursos criadas que tem nativo conectividade com ele, a sua utilizao viavel para agilizar e dar qualidade ao trabalho de uma rede. Com a realizao dessa pesquisa sobre a integrao do Samba com o LDAP, possibilitou um enorme acrescimo em relao aos conhecimentos e consequentemente um crescimento profissional. Ento somados esses atributos, conclui-se que essa pesquisa foi de suma importncia e sem ela talvez fosse inviavl a aquisio de detalhes existentes na soluo em questo.

63

7. REFERNCIA BIBLIOGRFICA
BONAN, Adilson Rodrigues; Configurando e Usando o Sistema Operacional Linux. So Paulo: Ed. Berkeley, 2002. p.03-05, p. 373-398. MORIMOTO, Carlos E.; Redes e Servidores Linux 2Edio. Porto Alegre: Ed. Sul Editores, 2006. p. 216-241. RIBEIRO, Uir; Certificao Linux. Rio de Janeiro: Ed. Axcel Books, 2004. p. 181, p. 295-297. HATCH, Brian; LEE, James; KURTZ, George; Segurana contra Hackers Linux 2Edio. So Paulo: Ed. Futura, 2003. p. 416-418, p. 427-428. KANIES, Luke A.; Uma Introduo ao Ldap. Disponvel na Internet via www. url: http: //br.geocities.com/cesarakg/IntroLDAP-ptBR.html. Arquivo capturado em 05 de fevereiro de 2006. LDAP. Administrator Guide. Disponvel na Internet via www. url: http://www.openldap.org/doc/admin23/. Arquivo capturado em 13 de janeiro de 2007. SAMBA. Docs and Books. Dispon[ivel na internet via www. url: http://us4.samba.org/samba/docs/. Arquivo capturado em 14 de janeiro de 2007. WIKIPEDIA; Lightweight Directory Acess Protocol. Disponvel na Internet via www. url: http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol. Arquivo capturado em 16 de fevereiro de 2007. ELSON, David; Autenticao Linux Usando OpenLdap. Disponvel na Internet via www. url: http://online.securityfocus.com/infocus/1427. Arquivo capturado em 12 de janeiro de 2006. AMERSDORFER, Markus; Using OpenLDAP on Debian Woody to serve Linux and Samba users. url: http://home.subnet.at/~max/ldap/index.php. Arquivo capturado em 30 de agosto de 2006. LEMAIRE, Jrme Tournier Olivier. Smbldap-howto. Disponvel na Internet via www. url: http://www.idealx.org/prj/samba/smbldaphowto.en.html#htoc1. Arquivo capturado em 30 de agosto de 2006.

64

Você também pode gostar