OpenLDAP: a chave é a centralização

Autor: Jaime Ribeiro Junior <jaimejr1987 at
gmail.com>

Sumário + resumo

Universidade Estadual de Goiás
Unidade de Pires do Rio
Tecnologia em redes de computadores

OpenLDAP: a chave é a centralização

Autores:

Escritor: JAIME RIBEIRO JÚNIOR
Revisado por: MÁRIO CÉSAR DE CASTRO

Linux: OpenLDAP: a chave é a centralização

Sumário

1. Introdução
2. O que é um diretório, onde ele é aplicado
   2.1. Aplicações de diretórios no mundo da informática
3. DO X.500 AO OpenLDAP
   3.1. Um pouco de Historia, a origem do LDAP
   3.2. O LDAP em pratica: OpenLDAP
4. O OpenLDAP e a centralização
   4.1. Funcionamento do OpenLDAP
   4.2. Aplicações para o OpenLDAP
5. OpenLDAP e a segurança
   5.1. Replicação de Base
6. Considerações finais
7. Referências

Resumo

LDAP é um protocolo que define o acesso aos serviços de diretórios, onde
diretório é uma estrutura de armazenamento organizada de forma
hierárquica, que facilita o armazenamento e busca de informações.

O OpenLDAP é um pacote do LDAP adicionado de recursos e softwares
necessários para torná-lo funcional, que oferece um serviço de diretório
prático e seguro. Este serviço é usado para armazenar todos os dados da
rede,como senhas, IDs de usuários, nomes, endereços, além de outros,
centralizando as pesquisas e consultas em si, esta centralização é a
chave para abrir um caminho que leva a praticidade na administração de
uma rede de qualquer tamanho.

Para que todos compreendam melhor ao decorrer do artigo, serão mostrados
conceitos como segurança, diretórios e a história do LDAP, objetivando
despertar o interesse de todos aqueles que são envolvidos com a área de
redes de computadores.

Palavras-chave: LDAP. OpenLDAP. Diretório. Centralização. Segurança.
Administração. Redes de computadores.

Abstract: LDAP is a protocol that defines the access to directories
services, where directory is a structure of storage organized in a
hierarchical form, which facilitates the storage and searching for
information. The OpenLDAP is a package of LDAP added of needed
resources and softwares to make it functional, which offers a practical
and safe directory service. This service is used to store all data of
the network, such as passwords, user IDs, names, addresses and other,
centralizing the researches and consultations in itself, this
centralization is the key to open a path that leads to a convenience in
the administration of a network of any size. So that everyone best
understands in the course of the article will be presented concepts such
as security, directories and history of LDAP, aiming to arouse the
interest of all those who are involved in the area of computer networks.

Keywords: LDAP. OpenLDAP. Directory. Centralization. Security.
Administration. Computer network.

Introdução

LDAP (Lightweight Directory Access Protocol), Protocolo Leve de
Acesso a Diretório. Trata-se, como o nome já diz, de um protocolo que
rege a forma de acesso a serviços de diretórios e respectivos clientes,
em outras palavras ele fornece a comunicação entre usuários e serviços
de diretórios.

Em sua forma implementada temos o OpenLDAP, que é o LDAP atribuído de
recursos e funcionalidades. Ele oferece a integração com protocolos de
comunicação como o IPV4 e IPV6 e de transferências de arquivos como FTP
e outros, além da integração do banco de dados, chaves criptográficas
dentre outras ferramentas que fazem com que o LDAP possa ser
implementado de forma segura e funcional, possuindo dentre outras a
capacidade de armazenamento de dados dos usuários da rede de forma
prática e segura, inclusive logins e senhas.

Dentre todas as funcionalidades do OpenLDAP, a que consideramos como a
de principal destaque é a capacidade de oferecer a autenticação de
usuários usando sua base de dados. Com ela pode-se acessar as
referências de todas as informações dos usuários da rede em um único
lugar permitindo também que todos os protocolos e serviços de diretórios
vinculados a ele possam utilizar seus dados para a autenticação de seus
clientes, isso gera o que se denomina de centralização, pois a
autenticação de todos os serviços de rede se concentrarão em uma única
árvore de informações, como consequência facilitando o trabalho do
gerente de redes.

Atualmente existe uma escassez de profissionais qualificados para a sua
instalação e manutenção, uma vez que como qualquer ferramenta avançada
traz consigo a necessidade de um profissional especializado para poder
resolver os percalços encontrados no caminho de sua implementação.

Este artigo tem por finalidade fazer com que o leitor conheça a origem
do LDAP e entenda como o OpenLDAP pode, através da centralização,
facilitar o trabalho do administrador da rede durante a gestão dos
serviços da mesma, facilitando a gerência de cadastros de usuários e
também entender o LDAP passando por conceitos como: Diretório,
Centralização e Segurança.

Aqui será abordado de forma sintetizada os itens citados acima com
enfoque à centralização da base de dados, objetivando apresentar o
OpenLDAP, mostrando suas características, origem e principalmente a
praticidade que ele traz depois de implantado.

Possíveis problemas também serão detalhados ao longo do desenvolvimento
como dificuldades na implementação e segurança, para isso realizaremos
uma revisão teórica, abordando o assunto, tanto em material impresso
como digital e uma análise prática feita apenas com o intuito de testar
aquilo que a teoria pesquisada nos mostra, tanto que por não
considerarmos importante a execução deste em um projeto, nosso trabalho
não citará como foi o trabalho de implementação, mas sim suas
características, afim de despertar o interesse dos leitores pelo mesmo.

A criação deste se justifica na exposição do OpenLDAP que poderá ajudar
não só aos gerentes de redes, mas também aos estudantes de informática,
futuros administradores de redes, que ao dominar tal ferramenta terão em
suas mãos mais um diferencial de mercado de alto conceito. Fazer com
que o leitor conheça e compreenda o que ele é e suas funções, com isso
difundindo mais essa ferramenta que, como já salientada, muito
interessante quando se fala em administrar uma rede, seja ela de
pequeno, médio ou grande porte.

O que é um diretório, onde ele é aplicado

Antes de prosseguir é importante que se saiba realmente o conceito de
diretório. Diretórios por si só não são difíceis de serem compreendidos.
Uma estrutura organizada em diretórios tem por finalidade facilitar a
busca de informações armazenadas na mesma. Sua existência é fundamentada
na necessidade da indicação de direções.

Imagine que você precise pesquisar uma palavra no dicionário, primeiro
você pega o dicionário procura a letra inicial da palavra desejada e
depois procura a palavra que se deseja encontrar, sendo que cada uma
dessas etapas depende de uma outra e são organizadas de forma
hierárquica.

Eles possuem o mesmo princípio de orientação do dicionário e são
organizados de forma hierárquica onde um principal, chamado de raiz, é a
base para todos os demais. Os diretórios pertencentes a tal podem
conter outros que por sua vez podem conter outros e assim sucessivamente
formando uma hierarquia onde a organização da mesma recebe o nome de
árvore.

Esta estrutura guia o usuário para facilitar a procura de uma
informação, passando desde a raiz, depois pelos diretórios subjacentes
até se chegar à informação desejada.

Sua organização deve ser de uma forma lógica e coerente, para que suas
direções sempre estejam corretas. Imagine agora que você está procurando
uma palavra no dicionário que comece com a letra "A" mas a palavra foi
colocada entre as de letra "B", isso geraria uma dor de cabeça terrível,
afinal invés de ajudar a direção estaria atrapalhando, contrariando o
princípio de sua existência.

Aplicações de diretórios no mundo da informática

Trigo (2007, p. 18), define Diretório como sendo "um serviço de
armazenamento hierárquico de informações de objetivo principal de
facilitar a pesquisa e a recuperação dessas informações". Por sua vez,
Tuttle (2003, doc. eletrônico) descreve o diretório como "uma lista de
informações sobre objetos organizados ou catalogados em uma ordem, e que
fornece o acesso aos dados dos objetos".

Na informática tudo que se precisa de organização utiliza o principio de
diretórios, sistemas de arquivos, protocolos de transferência de
arquivos, sistemas de armazenamento WEB, banco de dados e até mesmo o
editor de registro do MS-Windows, ou seja, seu conceito é usado por tudo
que se precise de organização, mas apesar de serem organizados em forma
de diretórios eles não são um serviço de diretório, podendo a vir
usufruir da utilização de um.

O serviço de diretório é responsável por prover o armazenamento, a
organização das informações durante a escrita e o armazenamento, que
serão resgatadas por terceiros, sendo uma ferramenta a mais que pode ser
usada para complementar à utilização de outros serviços facilitando
manutenção, a busca e localização de dados por usuários e aplicativos,
onde todos os serviços que compartilham o mesmo servidor de diretório e
a mesma árvore de informações.

A utilização de um serviço de diretório se justifica no âmbito de redes
de computadores, sendo ela de pequeno, médio ou grande porte, pois ao
utilizar um servidor de diretórios, os dados atualizados ficarão
disponíveis a todos os serviços da rede, facilitando e muito a vida dos
administradores, através da utilização do conceito denominado
centralização de informações.

Com a centralização ficará muito mais fácil à manutenção dos dados , tal
como a disponibilização de novas informações na rede. Imagine uma
empresa onde existem dez máquinas e todas elas devem manter dados de
clientes atualizados em diversos aplicativos, caso não utilizem um
serviço de diretório à manutenção destes teria que ser feita na base de
dados de cada aplicativo onde seria difícil dar a garantia de que os
dados em todos eles ficariam 100% sincronizados.

O serviço de diretório é aquele que armazena informações de forma
hierárquica, obedecendo aos critérios que regem seu princípio de
organização, possibilitando buscas e consultas, podendo ser ou não
distribuídos, disponibilizando suas informações para auxiliar outros
serviços, protocolos e aplicativos.

Quando se fala em diretórios distribuídos significa que irá se trabalhar
com mais de um servidor de diretórios, uma árvore de diretórios é
considerada distribuída quando ela está armazenada em dois ou mais
servidores. Apesar de a árvore estar fisicamente separada a pesquisa
continua centralizada, todos os dados pertencem à mesma árvore, sendo
que em cada servidor há referências para os nós da rede em que estão os
demais servidores e fazem com que logicamente a árvore seja uma só.

Uma busca pode ser realizada através do princípio da árvore (raiz) ou a
partir de um nó, indicado pelo usuário, que esteja mais próximo da
informação desejada, no segundo caso a resposta será mais rápida. No
caso de diretórios distribuídos, à pesquisa será realizada primeiro no
servidor raiz e depois passa pelos demais, caso seja estipulado pelo
usuário um servidor específico para se iniciar a pesquisa, a resposta
será consideravelmente mais rápida, pois ao em vês de pesquisar em todos
os servidores a pesquisa será feita a partir de um ponto específico da
árvore.

Já os diretórios distribuídos que utilizem meios externos, como a
internet, a pesquisa será feita inicialmente no servidor ou servidores
locais, se informação não for encontrada o servidor local redirecionara a
busca para os servidores externos, tendo um tempo de resposta
consideravelmente mais lento, considerando que a banda da internet é
muito menor que a de uma rede local. Claro que em todos os casos citados
acima, para que as buscas ocorram da forma esperada é inevitável que os
servidores de diretórios sejam previamente configurados de forma
correta pelo técnico responsável ou o administrador da rede.

Do X.500 ao OpenLDAP

Um pouco da história, a origem do LDAP

O X.500 é um padrão de protocolos de serviços de diretórios utilizados
em redes de computadores, foi elaborado para trabalhar em cima do modelo
OSI e incorporado ao pacote de protocolos do mesmo, ISO/IEC 9594 .
Designado para dar suporte ao padrão X.400, que define a troca de
mensagens eletrônicas entre os usuários da rede local, onde a função do
X.500 é prover serviços de diretórios para rede, centralizando a base de
dados dos usuários da rede em um servidor X.500.

O protocolo de acesso a diretórios – DAP (Directory Access Protocol) faz
parte das especificações do padrão X.500, foi feito para trabalhar
junto a todas as camadas do modelo OSI, e tinha por objetivo definir o
acesso de usuários aos serviços de diretórios que seu padrão provia.

Assim como o OSI o X.500 conseqüentemente o DAP foram feitos antes do
advento da internet e originalmente não foram preparados para trabalhar
com o TCP/IP, visto que segundo Trigo (2007), a aplicação do mesmo além
de ser de difícil implementação, gerava aplicações complexas e lentas.
Além do mais o estilo da organização da árvore de diretórios do X.500
não foi preparado para a utilização de diretórios distribuídos.

Quando se trata de redes tudo gira em torno dos protocolos, a Internet,
e-mail, intranets, transferência de arquivos acessos a diretórios e
outros providos pela pilha TCP/IP são todas operações baseadas em
protocolos como, HTTP , FTP, UDP , TCP, IP, POP , SMTP e tantas outras
siglas terminadas em "P", sendo um conjunto de regras que estabelecem
funções específicas.

A grande vantagem da utilização de protocolos se resume na
compatibilidade que eles oferecerem tanto entre hardwares como entre
softwares de diversos fabricantes, o que os tornaram compatíveis entre
si. Um exemplo prático disso é a possibilidade de se estabelecer à
comunicação entre Sistemas Operacionais diferentes, ou partindo para o
nível de hardware, que é, por exemplo, fazer com que placas de rede de
fabricantes distintos possam se comunicar.

Já se é aceito que a implementação do Modelo OSI utiliza uma gama maior
de recursos de rede, onde se trafega uma grande quantidade de dados
desnecessários, e a pilha TCP/IP por sua vez trabalha de forma mais leve
exigindo menos dos recursos da rede, tanto que com a disseminação da
internet o TCP/IP passou a ser usado como um padrão internacional. O
sucesso foi tanto que os protocolos do X.500 foram adaptados para que as
redes TCP/IP pudessem trabalhar com os servidores X.500. Posteriormente
percebeu-se a necessidade da criação de protocolos que se encaixassem
melhor as suas características.

O LDAP foi criado como uma alternativa ao DAP, para prover acesso aos
serviços de diretórios do X.500 pelos protocolos da pilha TCP/IP. O LDAP
é mais fácil de ser implementado do que o DAP além de exigir menos dos
recursos da rede e memória. Ele foi desenvolvido, e não adaptado como o
DAP, para aplicações TCP/IP, sendo assim o LDAP obteve um maior
desempenho. Por esses motivos recebeu o nome Lightweight Directory
Access Protocol (protocolo leve de acesso a diretórios), que é o nome de
seu antecessor acrescentado de Lightweight (leve).

Posteriormente foram criados servidores de diretórios voltados para o
TCP/IP e o LDAP. O Slapd (stand-alone LDAP daemon – servidor) foi
escolhido como a melhor opção e consolidado. Com sua utilização, passa a
se colocar em prática um software provedor de serviços de diretórios
específicos para o TCP/IP e o LDAP deixando de lado o X.500 que é uma
mera adaptação de um padrão desenvolvido para o modelo OSI. Com isso
haverá um ganho em performance e funcionalidades e melhor integração com
o LDAP.

Assim sendo o LDAP passou a ser a melhor forma de se obter o acesso a
serviços de diretórios e foi padronizado em julho de 1993 no RFC 1487 da
IETF (Internet Engineering Task Force – Força-Tarefa de Engenharia da
Internet) estando na versão 2.4.12.

O LDAP em prática: OpenLDAP

Cada vez fica mais difícil de encontrar servidores X.500, pois o LDAP
possui custo menor de hardware mostrando-se mais fácil de se implementar
e possui uma melhor eficiência de funcionamento. Com o modelo OSI
enterrado a utilização de um servidor X.500 adaptado ao invés de um
servidor LDAP passa a ser uma displicência do administrador da rede,
pois pra quem já conhece o funcionamento de X.500 se qualificar para o
uso do LDAP fica fácil.

Como já citado o LDAP é o protocolo que rege a comunicação entre
usuários e os serviços de diretórios e nada mais. Para que o LDAP seja
funcional o mesmo tem que ser integrado com o software servidor de
serviços de diretórios (slapd), além de outros softwares que atribuem
aos servidores de diretórios diversas funções como, softwares de
autenticação de usuário, banco de dados, chaves criptográficas e os
demais protocolos de comunicação.

Com o objetivo de facilitar o uso do LDAP a Universidade de Michigan nos
Estados Unidos da América desenvolveu inicialmente o OpenLDAP, que por
ser um software livre traz com sigo todas as vantagens que um software
livre possui, como a rápida ampliação de recursos e correção de bugs . O
OpenLDAP é a implementação do LDAP sendo que ele adiciona os recursos
necessários para sua utilização. A suíte é composta pelos softwares:

  • Slapd – stand-alone LDAP daemon (servidor);
  • Slurpd – stand-alone LDAP update replication daemon;
  • Syncrepl – Replicação de base é mais flexível e tem mais
    recursos que o slurpd, mas só funciona nas versões mais novas do
    OpenLDAP;
  • Bibliotecas de implementação do protocolo LDAP;
  • Utilitários, ferramentas, e amostras clientes.

Segundo Trigo (2007):

As principais características do OpenLDAP são:

  • Suporte a IPv4 e IPv6;
  • Autenticação (Cryrus Sasl-Kerberos V, GSSAPI, Digst-MD5);
  • Controle de acessos;
  • Escolha entre bancos de dados (LDBM e o BerkeleyDB);
  • Capacidade de atender a múltiplos bancos ao mesmo tempo;
  • Alta performance em múltiplas chamadas;
  • Replicação de base.(TRIGO,2007, p. 30).

Pode-se concluir que o OpenLDAP é um pacotes de softwares que trabalham
vinculados com o LDAP, e que juntos oferecem um serviço de diretório
pratico e seguro, com várias funcionalidades como autenticação de
usuário e armazenamento de informações, facilidade de backup,
funcionamento em redes TCP/IP versão 4 e 6 entre outros.

O OpenLDAP e a centralização

Ao se utilizar o SLDAP (servidor LDAP, máquina onde o OpenLDAP
está instalado), como base para busca de informações, pode-se fazer com
que todos os serviços e aplicativos da rede o usem para buscar as
informações, de forma em que todos compartilhem uma única árvore.
Fazendo com que todos os serviços da rede fiquem integrados a ele,
facilitando muito a administração de redes de qualquer tamanho.

Ao se colocar todos os dados da rede em uma única árvore de informações e
fazendo com que todos os serviços e aplicativos passem a utilizar o
SLDAP, estará se centralizando todos os dados e as buscas dos mesmos,
isto é o que se denomina centralização! Onde ela é a chave para a
utilização de um estilo que traz facilidade e eficiência na gerência de
redes.

Enfocando que centralização é o ato de se utilizar um serviço de
diretório na rede fazendo com que todos os outros serviços e softwares
que necessitem buscar informações façam todas suas buscas no servidor de
diretórios.

Com a utilização da centralização o administrador de redes tornará os
serviços e softwares da rede, muito mais práticos e fáceis de se
gerenciar, pois ao utilizar está "chave" ele abrirá uma "porta" para uma
gerência de forma inovadora, como a autenticação de todos os serviços
da rede em uma única base de dados, uma agenda com todos os dados dos
usuários que pode ser acessada de qualquer ponto da rede, ou seja, as
informações do SLDAP poderão ser utilizadas por qualquer software que
venha precisar delas.

Funcionamento do OpenLDAP

Todo tipo de informação pode ser armazenado nos atributos da base do
OpenLDAP como nomes, IDs de usuário, fotos, locais de trabalho, senhas,
e-mais entre outros. Os responsáveis por determinar quais tipos de
entradas são válidas na base do OpenLDAP são arquivos chamados schema,
segundo Trigo (2007, p. 24) "schema é como uma planta-baixa, uma
definição da estrutura das entradas e dos atributos que podem ser
inseridos nelas".

Qualquer software que venha a necessitar da consulta de informações para
seu funcionamento, é um forte candidato para a utilização do OpenLDAP,
para isso basta que o mesmo tenha um arquivo schema. Criar arquivos
schemas é possível, entretanto não é fácil, por isso o OpenLDAP traz com
sigo os schemas necessários para a configuração de seus principais
recursos. Serviços conhecidos como Samba, FTP, Apache, já possuem
schemas prontos disponíveis em repositórios na Internet, se o software
que o usuário pretender usar não tiver nenhum schema existente ele
poderá criá-lo.

Schemas são registrados e padronizados sob RFCs, segundo Trigo (2007) :

Cada elemento de um schema é identificado por um OID (Object Identifier –
Identificadores de Objetos). Por questões de padronização e para evitar
ambiguidades, esses Identificadores de Objetos são registrados por uma
autoridade específica, a IANA (Internet Assigned Numbers Authority –
Autoridade de Atribuição de Números da Internet).

O sistema de numeração de objetos é hierárquico, e a IANA garante que
aquele OID é usado apenas por um objeto. O objeto organization, por
exemplo, usa o número 2.5.6.4 Este número representa um ramo de uma
árvore de numerações, onde cada número separado por um ponto indica um
nível da árvore. (TRIGO, 2007, p. 77)

Portanto caso seja necessário criar um schema primeiro deve-se informar o
IANA e solicitar um OID para os novos objetos a serem criados e também
pegar os OIDs dos objetos já existentes, que serão utilizados no schema,
para que não haja um mesmo objeto com mais de um OID, pois no caso da
existência de um o solicitante ficará sabendo automaticamente.

Para que os softwares vinculados ao LDAP utilizem os objetos da árvore o
schema correspondente deverá conter quais objetos serão usados pelo
software e a responsabilidade de adicionar o objeto à árvore ficará sob
responsabilidade do administrador.

Vamos supor que temos três serviços que necessitem autenticação e que
todos precisem de um objeto "ID de usuário", nos três serviços será o
mesmo objeto com o mesmo OID, na árvore de informações existirá também o
mesmo objeto com o mesmo OID, assim todos os três serviços
compartilharam o objeto "ID de usuário", caracterizando a centralização.

Os serviço de diretório que o OpenLDAP provem, é estabelecido através do
Slapd e a comunicação do mesmo com os usuários, serviços e etc é feito
através do LDAP. Segundo Trigo (2007) a forma de armazenamento das
informações da árvore de diretórios independe do protocolo, podendo
variar de um simples arquivo de texto até um banco de dados relacional
completo.

Um item de grande importância são os arquivos ldif (ex: arquivo.ldif),
estes são arquivos de texto comum e são com eles que o protocolo LDAP
faz a importação e exportação de informações da base de dados. Podem ser
editados por qualquer editor de texto como o VI, gedit, kedit e outros.

Os bancos de dados nativos do OpenLDAP são o LDBM e o BerkeleyDB sendo
eles feitos especificamente para este tipo de serviço. Mas se
necessário, o OpenLDAP pode trabalhar com banco de dados relacionais,
onde através dele poderá ser feitas buscas e consulta, onde a
autenticação para acesso ao banco de dados poderá ser feita através do
OpenLDAP, ou seja, será criada a possibilidade de que o OpenLDAP envie
dados para o banco de dados e o mesmo também realize pesquisas.

Para que se vincule um banco de dados relacional ao OpenLDAP ele deve
ser compilado com suporte a SQL e ao OBDC (Open Data Base Connectivity –
Conectividade de Banco de dados aberto), pois banco de dados
relacionais dependem o OBDC para estabelecer conexões, além da adição do
Schema. TRIGO (2007) destaca, que o OpenLDAP possui suporte para os
seguintes banco de dados relacionais: IBMDb2, Mssql, MySQL, Oracle,
PostgreSQL, e Timesten.

O OpenLDAP é capaz de atender a múltiplos banco de dados ao mesmo tempo,
isso torna possível, caso necessário, utilizar mais de um. Gerando, no
entanto, um grande tráfego na rede e exigindo que elas estejam
fisicamente preparadas.

Como já enfatizado o OpenLDAP, provém um conjunto de softwares que são
implementados juntos ao LDAP e ao Slapd para que SLDAP ser torne
funcional, o Cryrus Sasl-Kerberos V, GSSAPI e Digst-MD5 fazem parte da
família OpenLDAP e são softwares responsáveis por prover a autenticação
de usuários. Estes softwares permitem o OpenLDAP oferecer o serviço de
autenticação utilizando a base SLDAP de informações. Assim poderá ser
feito como que todos os serviços da rede como FTP, SAMBA, SQUID ,
APACHE, QMAIL , domínios Windows, e domínios Linux e diversos outros
serviços de redes autentiquem na base do SLDAP e não em bases
individuais.

Com o OpenLDAP instalado e configurado um nome de usuário senha poderá
ser buscado na base LDAP de qualquer ponto da rede , e o usuário terá
acesso normal a todos os serviços que lhe for permitido. O mesmo
acontece com a busca de qualquer tipo de informação que poderá ser
buscada em qualquer ponto da rede sendo necessário apenas que o usuário
que a busque tenha permissão para o mesmo.

Dentre as configurações da OpenLDAP existem entradas responsáveis por
definir o nível de acesso de um usuário. Quando um usuário é adicionado à
árvore, para que ele tenha acesso a algum serviço da rede, o
administrador deve configurar o nível de acesso liberando e restringindo
o que for conveniente.

O OpenLDAP trabalha com dois estilos de organização da árvore, uma no
estilo X.500, clássico, que não funciona com diretórios distribuídos e
outra no estilo DNS que por natureza funciona muito bem com diretórios
distribuídos, onde o próprio serviço DNS que é utilizado na internet é
feito através de servidores distribuídos pelo mundo todo.
As principais vantagens obtidas com a centralização são:

  • Maior facilidade e praticidade e menor probabilidade de falhas ao
    adicionar ou excluir indivíduos da rede, uma vez que ao se adicionar
    precisará ser criado apenas um usuário para diversos serviços, e ao
    excluir um único ID de usuários o administrador estará excluindo o
    individuo de todos os serviços que ele era vinculado não correndo o
    risco de esquecer-se de algum e deixar uma brecha de segurança na rede;
  • Realização do Backup de apenas um seguimento de informações
    que conterão todos os dados da rede, facilitando esta tarefa.
  • A criação de uma agenda virtual na base centralizada
    disponibilizando o acesso de qualquer ponto da rede.
  • Portabilidade, já que é possível ter acesso aos serviços da
    rede de qualquer ponto da mesma por qualquer usuário.
  • É capaz de prover controle de acesso e transmissão
    criptografada oferecendo segurança no transporte de dados.

A junção de todas essas vantagens é o trunfo da centralização onde fica
provada a sua eficiência.

Aplicações para o OpenLDAP

O OpenLDAP pode ser usado em todo tipo de redes desde as pequenas até as
redes corporativas, pois o LDAP consegue atender múltiplas chamadas ao
mesmo, tempo em outras palavras ele conseguirá atender vários usuários e
requisições de software sem perca de desempenho, visto que OpenLDAP irá
até onde o hardware permitir, a nível de tráfego da rede e de
processamento do servidor.

Preferencialmente o OpenLDAP deve ser instalado no início da utilização
da rede e todos os dados dela, precisam ser armazenados nele, mas nada
impede que o OpenLDAP seja implementado em uma rede já existente, o
problema é que depois toda a base de dados tem que ser movida para a
base do SLDAP, imagine um sistema com milhares ou milhões de usuários.
Existem aplicações que fazem este trabalho, não sendo necessário fazê-lo
manualmente, mas o processo mesmo automatizado leva algum tempo
dependendo da quantidade de informação que será copiada para base do
SLDAP, obviamente o backup dos dados precisa ser feito antes para
prevenir alguma perda.

Para realizar buscas através do terminal o LDAP utiliza o comando
ldapsearch onde pode ser feitas pesquisas bem elaboradas através de
filtros de pesquisa. Claro que buscas através do terminal e configuração
manual de arquivos ldif dentre outras aplicações não muito "amigáveis"
são apenas a parte grossa da utilização, pois existem diversos softwares
feitos para auxiliar na utilização e administração do OpenLDAP.

Para pessoas que não gostam de sofrer em um terminal, temos aplicativos
gerenciadores dos dados do SLDAP, que facilitam a utilização do mesmo
depois de implementado, adicionar ou excluir, fazer pesquisar e
consultas, se tornam tarefas praticas. Sendo que estes softwares podem
ser instalados a parte e se tendo muitas opções, segue abaixo alguns
exemplos extraídos de Trigo(2007):

  • GQ, ótima ferramenta para testar o servidor LDAP e para incluir e
    excluir dados.
  • Luma é um bom programa de gerenciamento de entradas de
    diretórios.
  • DirectoryAssistant, ferramenta que inclui e pesquisa
    informações. (TRIGO, 2007, p. 84,85 e 86).

Existem outras ferramentas algumas piores, outras muito melhores do que
as citadas acima, no site www.freshmeat.com como:

  • Eye Of Newt
  • Jxplore
  • LDAP Account Manger
  • LDAP User Manger for the Web
  • phpLDAPadimin
  • Gosa
  • Kdiradm
  • Swiss Army LDAP Tool

O OpenLDAP pode ser usado com diretórios distribuídos, basta que
devidamente configurado para isso, onde ele terá que estar trabalhando
com o estilo DNS de organização da árvore. Assim teremos mais de um
SLDAP, onde existirão dados na árvore responsáveis por indicar as
direções das outras árvores pertencentes aos outros SLDAP, formando
logicamente uma árvore única .

Para entender melhor a aplicação de um Servidor LDAP distribuído
considere a existência de uma empresa que possui uma matriz e três
filiais espalhadas por cidades distintas, onde está empresa usa através
do OpenLDAP a centralização.

Ela tanto em sua matriz como em suas filiais possui uma rede estruturada
e os servidores contam com um backbone gigabit que evitará que o
intenso tráfego que chega até ele faça esse ponto da rede virar um
gargalo e que as filiais manterão a comunicação via meios externos
como a internet através de uma VPN (Virtual Private Network – Rede
privada Virtual) ou outro tipo canal dedicado de comunicação oferecido
pela provedora de Internet.

Teremos duas analogias uma em que o SLDAP é distribuído entre a matriz e
filiais e outra em que ele fica apenas na matriz ou mesmo distribuído
todos os SLDAP ficam na matriz.

Se o SLDAP não for distribuído, teremos o seguinte cenário, todos os
dados de clientes, funcionários, empresas terceirizadas entre outras
estarão na base centralizada, e todas as filiais estão constantemente
buscando informações no SLDAP da matriz de forma em que esse se torna um
serviço crítico e indispensável para o funcionamento da empresa fazendo
com que o SLDAP sofra com a sobrecarga de processos devido ao alto
número de requisições.

Com isso teremos um problema, pois devido ao alto tráfego de dados o
tempo de resposta do SLDAP em relação às filiais se tornará muito
demorado devido ao meio de comunicação entre filial e matriz que é lento
em comparação com uma rede local, fazendo com que a própria qualidade
do serviço da empresa fique prejudicada.

Mesmo que se usem Servidores LDAP distribuídos dentro da matriz isso só
irá aliviar para o servidor, pois o processamento de dados e o tráfego
de dados do mesmo ficaram divididos, melhorando a qualidade de serviço
do servidor, mas não resolverá o problema das filiais. Resolverá o
problema de sobrecarga no servidor, mas não eliminará o gargalo por onde
os dados enviados pelas filiais trafegam.

Agora nosso cenário é diferente, temos um servidor LDAP distribuído, um
SLDAP em cada filial e um SLDAP central na Matriz, assim cada filial
manterá seus dados em seu próprio SLDAP realizando a maioria das buscas
no servidor local e buscas externas como informações da matriz ou de
outras filiais continuariam sendo feitas através do SLDAP da Matriz,
pois se devidamente configurado quando uma pesquisa não fosse respondida
pelo servidor local o mesmo iria direcionar a pesquisa para o SLDAP
externo percorrendo toda a árvore até que, caso a informação exista, se
ache a informação requisitada obtendo a resposta.

Assim o problema será resolvido, pois foi eliminado o gargalo que antes
as filiais enfrentavam, e o SLDAP da matriz também não ficará
sobrecarrego, pois o mesmo não sofrerá mais com as constantes
requisições vindas de todas as filiais e matriz.

OpenLDAP e a segurança

Com a base de dados centralizada a atenção para segurança em volta das
informações contidas no SLDAP deve ser multiplicada, pois a quebra de
seu sigilo se tornará muito mais crítica, pois ao se descobrir um login e
senha o intruso terá acesso a tudo que for permitido ao usuário X
acessar, ressaltando que ele pode fazer isto de qualquer ponto da rede.

Um dos recursos providos pelo OpenLDAP é seu vinculo com softwares de
criptografia, provendo um nível a mais na segurança da transmissão. O
OpenSSL quando integrado faz com que o OpenLDAP passe a transmitir
dados criptografados, onde chaves criptográficas e certificações
digitais podem ser configuradas pelo administrador do sistema.

O OpenSSL, como o OpenLDAP, é multiplataforma e já vem instalado em
algumas distribuições Linux
além de poder ser facilmente encontrado em repositórios.

Pode-se implementar chaves criptográficas para proteger as informações
mais importes como senhas e informações críticas, criptografando os
dados para armazenamento. É importante ressaltar que dados
criptografados sempre que utilizados é necessário decriptá-los, isso faz
com que a resposta ao solicitante seja mais demorada por isso para
melhor desempenho não convém criptografar todo o banco de dados.

Outro recurso de suma importância para a proteção de qualquer rede é a
utilização de políticas de segurança, as quais o administrador cria
regras a serem seguidas pelos usuários tais como: proibição da
divulgação de senhas, além de nunca deixar dados pessoais salvos em
locais publicamente acessíveis dentro outras muitas outras ações que
podem ser citadas, como prover pequenos cursos nesse sentido.

A troca de senhas periodicamente também é uma prática importante. O
OpenLDAP pode ser configurado para fazer com que uma senha seja espirada
de tempo em temos, 15 em 15 dias por exemplo, onde sempre haverá uma
rotatividade de senhas.

O administrador deve monitorar a acessos e ações dos usuários a fim de
se certificar que estão cumprindo a política de segurança e restringir
acessos a locais externos inseguros, pensando inclusive em seus
possíveis deslizes.

Uma atividade indispensável que deve ser feita tanto na configuração
inicial como durante a utilização, é a criação da política de acessos.
Deve-se exigir que o usuário se identifique através de login e senha
para ter acesso a base de dados e definir o nível de acesso dos
usuários.

Definir quem pode acessar o que é de suma importância para uma
manutenção segura onde por exemplo não há necessidade de uma funcionário
da recepção saber informações sobre a contabilidade. O OpenLDAP provem o
controle de acesso através das ACLs (Access Control List – Listas de
Controle de Acesso, que deverão ser definidas e configuradas pelo
administrador do sistema.

Segurança envolve mais do que do simplesmente manter os dados a salvo de
acessos não autorizados. É também assegurar que eles não serão perdidos
por alguma eventualidade, entre os mais variados defeitos de software e
hardware, isso porque atualmente as informações são o coração das
maiorias das empresas e na falta delas, elas simplesmente param.

A primeira preocupação é a utilização de uma rede elétrica e de dados
confiável elaboradas de forma estruturada. Outro ponto imprescindível é a
utilização de equipamento de hardware confiáveis, diminuindo o risco da
ocorrência de defeitos. A utilização de backups é sempre necessário,
ele pode ser feito de várias maneiras, como manualmente e através de um
RAID.

Na forma manual o administrador deverá fazer a cópia dos dados
armazenando-os em um local seguro. O RAID (Redundant Array of
Independent Disks – Matriz Redundante de Discos Independentes), de
acordo com Alecrim (2004, doc. eletrônico) "É um conjunto de HDs que
funcionam como se fossem um só. Isso permite ter uma tolerância alta
contra falhas, pois se um disco tiver problemas, os demais continuam
funcionando, disponibilizando os dados".

O RAID é dividido em seis níveis. Para fazer um backup de forma
automática é preciso a utilização do nível um, que consiste em dois HDs
trabalhando juntos.

A informação gravada no primeiro HD também será gravada no segundo onde,
na falta do primeiro o secundário continuara funcionando no seu lugar.

Replicação de Base

Visando a segurança dos dados, podemos enxergar mais um nível o de
garantir que o serviço nuca pare de funcionar, a menos que solicitado
pelo administrador.

Iremos passa de forma rápida por mais um conceito, o que é Cluster, ele é
um aglomerado de computadores conectados, para melhor desempenho, via
rede de alta velocidades, que trabalham juntos para oferecer melhor
processamento ou continuidade continua de serviços. Um cluster pode
chegar ao nível de processamento de dados em nível de mainframes, hoje
os principais servidores de internet do mundo usam clusters. Os cluster
possuem diversas aplicações, as principais são:

  • Beowulf (Processamento Paralelo): os computadores compartilham os
    processos e assim processando-os mais rápido, priorizando o desempenho
    de processamento.
  • Balanceamento de carga: distribui os processos entre os
    computadores de forma a não deixar nenhum sobrecarregado.
  • Alta disponibilidade: são usados em sistemas que não podem
    parar de funcionar, trabalham mantendo um servidor primário e outro
    secundário, se necessário um terceiro e assim por diante, quando o
    primário para de funcionar ele coloca o secundário no lugar.
  • Combo: é a junção do cluster de balanceamento de carga e do de
    alta disponibilidade, claro que se temos 2 computadores trabalhando no
    modo de balanceamento de carga teremos que ter 2 de "reserva" para
    assumir seu lugar e assim consecutivamente.

Os clusters podem ser usados de duas maneiras com o nosso servidor LDAP a
principal é a de alta disponibilidade para que se garanta que o serviço
não irá parar. Se por um acaso o servidor tenha que atender uma rede
que exija tal ferramenta pode-se usar um cluster combo.

Implica-se para que o servidor reserva continue servido a rede conforme o
primário, que os dados nos dois sejam iguais, e é aí que entra a
replicação de base. A mesma realiza uma clonagem imediata de todo dado
gravado no primário para secundário, gerando uma réplica do nosso SLDAP.
Servidores que não trazem com sigo o software de réplica podem usar
softwares de terceiro como o DRBD, CODA ou RSYNC, mas o OpenLDAP trás em
seu pacote o Slurpd e em versões mais recentes o Syncrepl. Os dois tem a
mesma finalidade contudo o syncrepl é mais versátil e possui mais
opções.

Para que o cluster de alta disponibilidade trabalhe de maneira correta
precisamos de programas auxiliares como o Headerbeat que monitora se o
servidor primário esta funcionando e avisa imediatamente ao secundário
se o primeiro falhar, isso em nível de hardware, e também temos o Mon
que coloca o secundário em prática bastando apenas que o serviço pare.
Imagine que o serviço de diretório pare por problemas de inconsistência
no software, se você não estiver utilizando o Mon o servidor secundário
não será ativado visto que o primário ainda está conectado na rede.

No caso de diretórios distribuídos tem que ser feito um cluster em cada
um, pois o cluster não assume a forma de Servidos de Diretórios
distribuídos, visto que ele irá assumir a forma de um único sistema
processado mais de uma maquina.

Com o servidor de réplica devidamente configurado ficará muito difícil
que o serviço pare, garantindo mais este nível de segurança em nosso
SLDAP( Servidor LDAP).

Considerações finais + Referências

Considerações finais

O OpenLDAP é uma ferramenta que abrange o interesse de todo aquele que
já administra uma rede, ou pretende administrar uma, tal como aqueles
que são adeptos da área e sedentos por conhecimento como, amantes da
informática, técnicos, analistas, especialista em soluções de TI
(Tecnologia da Informação), administradores. Todas essas, são pessoas
que podem vir a ter um ganho com o domínio do OpenLDAP.

Hoje o OpenLDAP já é aceito como uma ferramenta avançada e de grande
renome na área de redes de computadores, porem há poucos profissionais
no mercado que o dominam. Em virtude de tal situação já temos diversas
empresas especializadas em cursos de informática que disponibilizam o
curso de OpenLDAP, buscando oferecer um forte diferencial aos
profissional interessados.

Como citado no decorrer do trabalho o OpenLDAP atende vários serviços ao
mesmo tempo, e pode-se sempre adicionar mais e mais softwares que
precisem buscar informações vinculados ao mesmo e até mesmo softwares
que venham trazer alguma outra funcionalidade, sempre visando manter a
centralização da rede.

Entender o OpenLDAP como um todo pode ser um pouco complexo, mas depois
de implementado e dominado, se terá uma chave que abrirá o caminho que
deixará a administração da rede bem mais simples.

Referências

TRIGO, Clodonil Honório; OpenLDAP : uma abordagem integrada, São Paulo:
Novatec, 2007.

TUTTLE, S.; Hhlenberger, A; GORTHI, R., Understanding LDAP: Design and
Implementation, Disponível em:
http://www.ibm.com/redbooks
Acessado em outubro de 2008.

LIMA, Avelino Oton de : Correio Eletrônico Integrado e o Serviço de
Diretório X500, SERPRO, 1997, Disponível em:
http://www.serpro.gov.br/imprensa/publicacoes/tematec/1997/ttec32
Acessado em outubro de 2008

ALECRIM, Emerson; Tecnologia RAID; Infowester, 2004, revisado em 2006
Disponível em:
http://www.infowester.com/raid.php
Acessado em novembro de 2008

ALECRIM, Emerson; Cluster: principais conceitos, Infowester, 2004,
Disponivel em:
http://www.infowester.com/cluster.php
Acessado em novembro de 2008

FUNDATION, OpenLDAP;
HTTP://www.openldap.org
Acessado em novembro de 2008

LAMELLAS, Paulo Fernando, Linux
Samba e muito mais: centralizando logins e senhas, Festival de Software
Livre 2008, Brasilia: Faculdade Jesus Maria José – FAJESU, 2008

TANENBAUM, Andrew S., Sistemas Operacionais Modernos, tradução Ronaldo
A. J. Gonçalves, São Paulo: Prentice Hall, 2003.

Sites úteis:

Linux: OpenLDAP: a chave é a centralização
Universidade Estadual de Goiás

Linux: OpenLDAP: a chave é a centralização
Curso Superior de Tecnologia em Redes
de Comp.

III Semana Tecnológica Redes de
Computadores

Google
Grupos – UEG unid. de Pires do Rio – Tecnologia em Redes de Computadores


http://www.vivaolinux.com.br/artigo/OpenLDAP-a-chave-e-a-centralizacao

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s