Escolar Documentos
Profissional Documentos
Cultura Documentos
Novatec
1
CAPTULO
Introduo ao LDAP
Palavras agradveis so como favo de mel, doces para a alma, e medicina para o corpo. Provrbios de Salomo Provrbios 16:24
Em uma frase, LDAP, ou Protocolo Leve de Acesso a Diretrios, um conjunto de regras que controla a comunicao entre servios de diretrios e seus clientes. LDAP simples assim? Sim... e no. A denio anteriormente citada encerra uma srie de conceitos, ento no custa nada fazer um passeio por todos eles assim voc ter a chance de assimil-los e/ou revisar aqueles que j eram de seu conhecimento. Depois de ter lido este captulo, volte aqui e releia a frase inicial. Se ela estiver perfeitamente clara para voc, considere-se preparado para encarar o mundo dos diretrios!
18
OpenLDAP
Portanto, podemos denir formalmente um diretrio como um servio de armazenamento hierrquico de informaes com o objetivo principal de facilitar a pesquisa e a recuperao dessas informaes. De forma semelhante, Tuttle (2003) descreve um diretrio como uma lista de informaes sobre objetos organizados ou catalogados em uma ordem, e que fornece o acesso aos dados dos objetos. O diretrio permite que usurios ou aplicaes possam encontrar recursos no ambiente com caractersticas necessrias para um tipo de tarefa particular. Onde os servios de diretrio so usados na informtica, ou melhor, onde os servios de diretrio poderiam ser usados na informtica? Se voc administrador de uma rede que contm mais de um servidor, sabe que complicado manter, por exemplo, as informaes de autenticao de cada um deles sincronizadas e atualizadas. Entrou um funcionrio novo na empresa? L vai voc congurar as regras de acesso para esse funcionrio em cada um dos servidores. Um funcionrio saiu? No se esquea de remover todos os seus logins, ou voc pode comear a ter buracos de segurana abertos na rede. Falando de algo menos crtico: quantas listas de contatos existem na sua empresa? Uma para cada funcionrio? E todas as listas possuem todos os contatos, ou ainda, todos os contatos atualizados? No seria interessante centralizar essas informaes, dando aos funcionrios acesso a todos os contatos e garantindo que a atualizao de um contato seja vista por todos automaticamente? O mesmo raciocnio pode se estender, por exemplo, a uma empresa que lida com centenas de documentos, esquemas, plantas etc., e que est constantemente acessando-os para vericar os responsveis por este ou aquele projeto, para estudar esquemas de componentes etc. No seria timo ter um sistema de gerenciamento de documentos otimizado para esse m? Observe a nfase dada em trs conceitos: centralizao, manuteno e pesquisa de informaes. Esse o escopo de um servio de diretrio, e que que claro: servios de diretrios no so panacias e no devem ser usados fora daquilo a que foram concebidos! O martelo no serve para parafusar, assim como a chave de fenda no foi feita para pregar. Portanto, no se esquea: um diretrio fornece direes para se chegar s informaes requisitadas, retornando-as ao requisitante. E s.
19
Complementaridade a palavra-chave. O diretrio um excelente complemento para todos os servios apresentados aqui. Portanto, no pense em us-lo
20
OpenLDAP
isoladamente, mas em conjunto com outras tecnologias, reunindo o que h de melhor em cada uma. Alis, esse ser o foco do livro. Dentro de um ambiente computacional, os tipos de informaes que um servio de diretrio pode guardar so diversos, e as informaes so organizadas de forma hierrquica, conforme mostrar a Figura 1.1. Agora que vimos o que e o que no um diretrio, vamos a um exemplo prtico: o DNS.
21
Imagine cada servidor DNS como um n de uma rvore. Quando a informao no est disponvel naquele n, uma mensagem transmitida para o servidor DNS lho que possa conter a informao requisitada. Perceba, portanto, que a pesquisa das informaes continua centralizada voc precisa passar por um servidor raiz, e cada servidor responsvel por uma determinada zona mas a rvore de informaes distribuda, ou seja, espalhada por uma rede de computadores. Podemos concluir que no existe contradio, porque na prtica no h redundncia de informaes. Cada servidor representa um diretrio distinto, e a totalidade dos diretrios disposta de maneira lgica e hierrquica, o que viabiliza a pesquisa de quaisquer nomes de domnio, independentemente de onde o cliente esteja. E, no nal das contas, o conceito de diretrios distribudos d mais exibilidade ao sistema, pois torna possvel vincular diretrios de procedncias diferentes duas universidades, por exemplo e permitir pesquisas cruzadas entre eles. Vamos, ento, resumir as caractersticas de um sistema de diretrios, do ponto de vista de uma rede de informaes: Centraliza e organiza informaes que outrora cariam dispersas ou at mesmo inacessveis para os clientes da rede. Evita a redundncia, o que facilita a manuteno das informaes. projetado para fazer pesquisas da forma mais otimizada possvel, utilizando algoritmos de busca sosticados. Como conseqncia natural do ponto anterior, um sistema de diretrios fraco para inserir, alterar ou excluir registros. Os sistemas de diretrios podem ser distribudos, ou seja, no precisam necessariamente armazenar suas informaes num mesmo local. Agora que o conceito de diretrio cou mais claro, podemos comear a tocar no assunto do livro: como um cliente se comunica com um diretrio?
22
OpenLDAP
A grande vantagem da criao de protocolos a padronizao das tecnologias. Dessa forma, fabricantes de hardware e desenvolvedores de softwares podem criar equipamentos e aplicaes compatveis entre si. Do ponto de vista do cliente, isso signica liberdade de escolha. O protocolo de acesso a diretrios (DAP) fazia parte das especicaes X.500, desenvolvidas pela ITU Telecommunication. No entanto, o DAP foi baseado no modelo de referncia OSI (Open Systems Interconnection), um modelo de transmisso de dados pr-internet que, entre outros problemas, era extremamente difcil de ser implementado corretamente, resultando em aplicaes complexas e lentas. Com o advento da internet, o protocolo TCP/IP ganhou fora e engoliu o modelo OSI. Por causa disso, foi criado um protocolo de acesso a diretrios que se encaixasse melhor nos moldes do TCP/IP estava plantada a semente do LDAP.
23
Lozano (2002) ressalta a integrao do LDAP com outros servios, complementando a infra-estrutura de redes, fornecendo novos recursos e, especialmente, maior integrao, diferentemente de outros protocolos e linguagens estabelecidos como SNMP, HTTP, SMTP, IMAP ou SQL. A Figura 1.3 representa essa caracterstica.
Descrio
Para diretrios que representam pases (do ingls country). Para o nome da empresa (do ingls organization). Para departamento (do ingls organizational unit).
Descrio
Como atributo de nome (do ingls common name). Para identidade de usurio (do ingls user ID). Para o nome prprio de uma pessoa (do ingls given name). Para o sobrenome de uma pessoa (do ingls surname).
Cada entrada identicada por um atributo nico denominado DN (Distinguished Name nome distinto). O DN de uma entrada costuma ser a concatenao de seu atributo cn com os nomes de cada nvel de diretrio onde est inserida, at chegar raiz.
24
OpenLDAP
O DN como o caminho absoluto de um arquivo em um sistema de arquivos. De forma anloga, uma entrada referenciada apenas pelo seu cn costuma ser chamada de RDN (Relative Distinguished Name Nome Distinto Relativo) e possui relao direta com o caminho relativo de um arquivo num sistema de arquivos.
25
O ldif um arquivo-texto comum, usado para importar e exportar informaes do LDAP, ou seja, um ldif pode ser criado e modicado por qualquer editor de texto tal como o editor Vi, de minha preferncia. importante tomar alguns cuidados com os arquivos ldifs: evitar acentos, cedilhas e espaos em branco no nal de cada linha. Um exemplo de arquivo ldif:
dn: uid=clodo, ou=monit, dc=unasp, dc=br objectClass: top objectClass: organizationalPerson objectClass: qmailuser objectClass: samba uid: clodo
clodo
Nesse exemplo, o arquivo ldif est preparado para incluir um usurio chamado no diretrio monit do domnio unasp.
As classes de objetos implementadas pela entrada so denidas por meio do atributo objectClass. Nesse exemplo, apenas o atributo obrigatrio uid, denido pela classe organizationalPerson, est sendo denido. Ao olhar o ldif, percebe-se que esse usurio recebe informaes de schema do Qmail e do Samba. Sabendo disso, poderamos acrescentar no ldif a seguinte linha:
smbhome: /home/clodo
Esse um atributo que o Samba utiliza para saber qual o homedir do usurio. Como podemos perceber, incluir um usurio dessa maneira no uma tarefa fcil, mas nem todos os usurios precisam fazer a incluso manualmente. A nossa nalidade mostrar o caminho das pedras. Existem muitas aplicaes prontas para incluir e excluir usurios de uma base que sero vistas ao longo do livro.
26
OpenLDAP
O estilo X.500 estrutura a rvore de diretrios baseado em regies, tal como ser mostrado na Figura 1.1.
c=UNASP
cn=Clodonil Trigo
possvel perceber que o primeiro nvel tem a referncia do estado ou pas; no segundo nvel, por sua vez, pode ser estado ou cidade (no caso da gura, st ou state), e, se existir uma lial em outro estado, possvel criar um ramo (estrutura separada) para ele. No terceiro nvel, est a organizao envolvida (o, podendo ter mais de uma). o mesmo caso do estado. Em seguida, tem o quarto nvel, que so os departamentos. Normalmente existe mais de um departamento, de modo que criado um ramo para cada um deles, dentro dos quais vm os funcionrios.
27
dc=com dc=exemplo
dc=DE
ou=Servidor
Cada um desses diretrios possui um atributo identicador dc (domain component componente de domnio). Unindo uma seqncia de diretrios dc, voc ter um nome de domnio. A grande vantagem desse sistema que voc pode congurar o servio LDAP de sua empresa a partir de um nome de domnio existente, garantindo o carter nico da identidade do seu sistema de diretrios, alm de permitir o acesso a ele de qualquer lugar do mundo, bastando apenas referenciar o domnio em questo. Exemplos:
dc=labcom, dc=unasp, dc=edu
Os dados so organizados como se fossem domnios; no segundo nvel, podem ser colocadas as organizaes e, no terceiro nvel, os grupos pode ser grupo de trabalho, grupo de servidor e assim por diante. No ltimo nvel, estaro os dados dos usurios. A escolha das estruturas e dos nveis hierrquicos totalmente livre; voc poder escolher qualquer uma delas de acordo com as suas necessidades. No h relao entre a estrutura e os dados guardados nela. A estrutura denida por meio de entradas e tambm no tem relao com os schemas. Para saber em qual parte da estrutura da rvore o ponteiro do LDAP est, utilizado o atributo especial chamado dn. Exemplo:
dn: dc=unasp,dc=edu objectClass: dcObject dc:UNASP
objectClass:organization
28
OpenLDAP
Com esse exemplo podemos perceber que o ponteiro do LDAP est parado no primeiro nvel (dc=unasp, dc=edu). Este posicionamento importantssimo para a realizao de uma busca (pesquisa na base de dados).
29
Samba com LDAP Samba um aplicativo que possibilita a comunicao de uma rede Windows com uma rede Linux, podendo se portar como servidor de domnio da rede. Assim sendo, a base de usurios para autenticao pode vir do LDAP. Apache com LDAP nesta mesma rede pode existir uma rea de Intranet, a qual somente os usurios da rede podem acessar. Esse controle pode ser feito por meio de autenticao e as senhas dos usurios estaro no LDAP, sendo a mesma base utilizada no domnio do Samba. E-mail continuando na mesma rede, pode existir um servidor de e-mail; o mesmo usurio que foi autenticado e que acessa a lista de endereos e a Intranet tambm pode enviar e receber e-mails utilizando as informaes que o servidor de e-mail busca na base de dados do LDAP. Proxy na rede pode existir tambm um proxy, e os usurios da rede podem acessar a internet somente atravs desse proxy, com autenticao. Mais uma vez, as senhas dos usurios estaro na base LDAP. Portanto, pode existir uma srie de aplicativos na rede trabalhando com a mesma base, tornando, assim, muito mais fcil a vida do administrador de rede. Quando um usurio alterar a senha, automaticamente todas as aplicaes utilizaro a nova senha alterada e assim no ser necessrio alter-la em uma srie de aplicativos. O administrador pode colocar uma poltica de senha forte, e esta poltica valer para todos os aplicativos. Quando um usurio deixa o quadro de funcionrios, basta desabilit-lo na base LDAP e, automaticamente, esse usurio no ter acesso rede. Entretanto, toda facilidade tem o outro lado. Um dos problemas algum descobrir a senha de outro usurio, pois todos tero acesso a todos os nveis da rede. Portanto, o servidor LDAP tem de estar acompanhado de uma poltica de senha. A Figura 1.3 mostra, de forma grca, como caria a rede com o servidor LDAP.
Apache
Samba
Lista
LDAP
Qmail
ProFTP
Proxy