142
UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CI ˆ ENCIA DA COMPUTAC ¸ ˜ AO Franscielly Benvenutti Eccel Uma Proposta de Implementac ¸˜ ao do Protocolo LDAP no Centro de Ciˆ encias Tecnol´ ogicas da UDESC Monografia submetida ` a Universidade do Estado de Santa Catarina como parte dos requi- sitos para a obtenc ¸˜ ao do grau de Bacharelado em Ciˆ encia da Computac ¸˜ ao. Prof. Charles Christian Miers, M.Sc. Orientador Prof. Ricardo Ferreira Martins, M.Eng. CoOrientador Joinville, Novembro de 2005

Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Embed Size (px)

Citation preview

Page 1: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

UNIVERSIDADE DO ESTADO DE SANTA CATARINA

BACHARELADO EM CIENCIA DA COMPUTACAO

Franscielly Benvenutti Eccel

Uma Proposta de Implementacao do Protocolo LDAP

no Centro de Ciencias Tecnologicas da UDESC

Monografia submetida a Universidade do Estado de Santa Catarina como parte dos requi-

sitos para a obtencao do grau de Bacharelado em Ciencia da Computacao.

Prof. Charles Christian Miers, M.Sc.

Orientador

Prof. Ricardo Ferreira Martins, M.Eng.

CoOrientador

Joinville, Novembro de 2005

Page 2: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Uma Proposta de Implementacao do Protocolo LDAP no

Centro de Ciencias Tecnologicas da UDESC

Franscielly Benvenutti Eccel

Esta Monografia foi julgada adequada para a obtencao do tıtulo de Bacharelado em Ciencia

da Computacao, Area de Concentracao Sistemas de Computacao, e aprovada em sua

forma final pelo Departamento de Ciencia da Computacao.

Prof. Charles Christian Miers, M.Sc.

Orientador

Prof. Ricardo Ferreira Martins, M.Eng.

CoOrientador

Prof. Jose Luiz Mendes, M.Sc.

Coordenador do Curso

Banca Examinadora

Prof. Charles Christian Miers, M.Sc.

Prof. Kariston Pereira, M.Sc.

Prof. Adriano Fiorese, M.Sc.

Page 3: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

iii

”Construa voce mesmo sua vida, nao permita que opinioes e erros alheios oconduzam ao fracasso. Transforme-se naquilo que almeje ser.”

Vera Lucia Benvenutti Eccel

Page 4: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

iv

Aos meus pais Joao Domingo Eccel e Vera Lucia Benvenutti Eccel.

Page 5: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Agradecimentos

Primeiramente a Deus, pela dadiva da vida e pela forca espiritual para

alcancar todos os sonhos almejados.

Aos meus pais que com muito esforco, dedicacao e carinho possibilita-

ram para que mais esta etapa de minha vida fosse concluıda e tambem por se privarem

de minha companhia durante esses anos, para que assim eu pudesse realizar um de seus

sonhos.

As minhas irmas, Bruna e Camila, pelo carinho e pela compreensao

diante dos momentos em que estive ausente.

Ao Professor Charles Christian Miers, pessoa pela qual tenho muita

admiracao, agradeco-lhe pelo incentivo a realizacao e apoio fornecido durante o desen-

volvimento deste trabalho.

A todos os professores da UDESC, que de alguma forma contribuıram

para o meu crescimento intelectual e cientıfico.

Page 6: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Sumario

Lista de Figuras ix

Lista de Tabelas xii

Resumo xv

Abstract xvi

1 Introducao 1

1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Trabalhos Correlacionados . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Metodologia Empregada . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Organizacao do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Conceitos Basicos 8

2.1 Historico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Servicos de Diretorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.1 X.500 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.2 DAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.3 LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3 Seguranca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 LDAP 28

3.1 Definicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Page 7: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

vii

3.2 Arquitetura/Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.1 Versoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.2 Aplicacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3 Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.1 Modelo de Informacao . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.2 Modelo de Nome . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3.3 Modelo Funcional . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.3.4 Modelo de Seguranca . . . . . . . . . . . . . . . . . . . . . . . . 55

3.4 Modelagem de Identidades . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.5 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4 OpenLDAP 71

4.1 Slapd e Slurpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.1.1 Replicacao com slurpd . . . . . . . . . . . . . . . . . . . . . . . 74

4.1.2 Autenticacao e Autorizacao . . . . . . . . . . . . . . . . . . . . 77

4.2 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5 Analise e Modelagem das Identidades dos Sistemas da UDESC 79

5.1 Sistemas e Servicos Existentes . . . . . . . . . . . . . . . . . . . . . . . 79

5.1.1 SigmaWeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.1.2 Pergamum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.1.3 Sistema de Empenho . . . . . . . . . . . . . . . . . . . . . . . . 82

5.1.4 Sistema de Viagens . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.1.5 Intranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.1.6 Sistema de Bolsas de Apoio Discente . . . . . . . . . . . . . . . 85

5.1.7 Conta de Acesso ao Domınio . . . . . . . . . . . . . . . . . . . . 87

5.1.8 Correio Eletronico . . . . . . . . . . . . . . . . . . . . . . . . . 88

5.1.9 Servico de ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . 88

5.1.10 Servico de VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.2 Estrutura do Diretorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Page 8: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

viii

5.3 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6 Consideracoes Finais 97

Referencias Bibliograficas 100

A Plano de Trabalho 106

B Cronograma do Trabalho 107

C Configuracao do OpenLDAP no Linux 108

D Tela de Dados do SigmaWeb 110

E Telas de cadastro do Pergamum 111

F Ficha de Pre-Empenho 115

G Telas de Cadastro de Empenho 116

H Telas do Sistema de Viagens 118

I Tela da Intranet 120

J Telas do Cadastro do Sistema de Bolsa 121

K Ficha de Dados 123

L Telas de Cadastro de Solicitacao de ADSL 124

M Implementacao do modelo proposto 126

Page 9: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Lista de Figuras

2.1 Surgimento do LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Linha do Tempo dos Servicos de Diretorio . . . . . . . . . . . . . . . . . 10

2.3 Comunicacao do DAP com o Servidor X.500 . . . . . . . . . . . . . . . 11

2.4 Comunicacao do LDAP com o Servidor X.500 . . . . . . . . . . . . . . 11

2.5 Arvore de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6 Requisicao e resposta de dados . . . . . . . . . . . . . . . . . . . . . . . 15

2.7 Comunicacao entre usuarios/recursos . . . . . . . . . . . . . . . . . . . . 16

2.8 Arvore de Informacoes de Diretorio . . . . . . . . . . . . . . . . . . . . 17

2.9 Comunicacao cliente/servidor baseada no LDAP como intermediario para

requisicoes DAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.10 Comunicacao cliente/servidor LDAP atraves de operacoes . . . . . . . . 21

3.1 Representacao dos modelos OSI e DARPA . . . . . . . . . . . . . . . . . 30

3.2 Representacao do PDU e de seu formato . . . . . . . . . . . . . . . . . . 30

3.3 Topologia de rede transparente para usuarios . . . . . . . . . . . . . . . . 36

3.4 Entradas e Atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5 Exemplo de uma Arvore de Informacoes de Diretorio . . . . . . . . . . . 43

3.6 Divisao de ramos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.7 Servidor LDAP retornando referencia ao pedido . . . . . . . . . . . . . . 45

3.8 Servidor LDAP retornando resposta ao pedido . . . . . . . . . . . . . . . 46

3.9 Busca com escopo igual a base . . . . . . . . . . . . . . . . . . . . . . . 49

3.10 Busca com escopo igual a um nıvel da DIT . . . . . . . . . . . . . . . . 49

Page 10: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

x

3.11 Busca onde o escopo envolve uma parte da arvore . . . . . . . . . . . . . 50

3.12 Modificacao de DN onde a hierarquia permanece a mesma . . . . . . . . 52

3.13 Modificacao de DN com mudanca na hierarquia . . . . . . . . . . . . . . 53

3.14 Modificacao de DN mantendo o antigo . . . . . . . . . . . . . . . . . . . 54

3.15 Protecao ao meio de transmissao das informacoes . . . . . . . . . . . . . 59

3.16 Analise da Identidade Digital. Adaptado de [Chong, 2004] . . . . . . . . 61

3.17 Exemplo de alguns componentes logicos. Adaptado de [Chong, 2004] . . 63

3.18 Nıveis do ciclo de vida de uma identidade . . . . . . . . . . . . . . . . . 64

3.19 Exemplo da utilizacao de varias identidades para diferentes sistemas. Adap-

tado de [Chong, 2004] . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.20 Exemplo da integracao de identidades de varios sistemas em uma unica

identidade digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.21 Exemplo da integracao de dados de varios sistemas em uma unica identi-

dade digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.1 Elementos usados para configuracao do slapd . . . . . . . . . . . . . . . 72

4.2 Elementos que constituem a DIT para OpenLDAP . . . . . . . . . . . . . 74

4.3 Replicacao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.4 Comunicacao entre o Slapd Mestre e o Escravo . . . . . . . . . . . . . . 76

4.5 Processo Slurpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.1 Tela de autenticacao do SigmaWeb . . . . . . . . . . . . . . . . . . . . . 80

5.2 Tela de Cadastro de Usuario do Pergamum . . . . . . . . . . . . . . . . . 82

5.3 Tela de Autenticacao do Sistema de Viagens . . . . . . . . . . . . . . . . 84

5.4 Tela de Autenticacao da Intranet . . . . . . . . . . . . . . . . . . . . . . 85

5.5 Tela de Autenticacao do Sistema de Bolsas de Apoio Discente . . . . . . 86

5.6 Representacao da Arvore de Diretorios . . . . . . . . . . . . . . . . . . . 90

5.7 Modelo que representa os nıveis de acesso . . . . . . . . . . . . . . . . . 91

5.8 Modelo de diretorios e seus respectivos dados . . . . . . . . . . . . . . . 92

B.1 Cronograma Geral: Previsto X Realizado . . . . . . . . . . . . . . . . . 107

Page 11: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

xi

D.1 Tela de Dados do SigmaWeb . . . . . . . . . . . . . . . . . . . . . . . . 110

E.1 Tela Validade do Cadastro de Usuario do Pergamum . . . . . . . . . . . . 111

E.2 Tela Area de Conhecimento do Cadastro de Usuario do Pergamum . . . . 112

E.3 Tela Base de Dados do Cadastro de Usuario do Pergamum . . . . . . . . 112

E.4 Tela Dados Responsavel do Cadastro de Usuario do Pergamum . . . . . . 113

E.5 Tela Unidade Organizacional do Cadastro de Usuario do Pergamum . . . 113

E.6 Tela Emprestimo - Senha do Cadastro de Usuario do Pergamum . . . . . 114

F.1 Ficha com as informacoes necessarias para realizar uma solicitacao de

empenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

G.1 Tela de Dados do Sistema de Empenho . . . . . . . . . . . . . . . . . . . 116

G.2 Tela de Dados do Sistema de Empenho . . . . . . . . . . . . . . . . . . . 117

H.1 Tela de Identificacao do Sistema de Viagens . . . . . . . . . . . . . . . . 118

H.2 Tela de Solicitacao do Sistema de Viagens . . . . . . . . . . . . . . . . . 119

I.1 Tela de servicos disponibilizados pela Intranet . . . . . . . . . . . . . . . 120

J.1 Tela de Cadastro do Sistema de Bolsa . . . . . . . . . . . . . . . . . . . 121

J.2 Tela de Identificacao do Sistema de Bolsa . . . . . . . . . . . . . . . . . 122

J.3 Tela de Dados do Sistema de Bolsa . . . . . . . . . . . . . . . . . . . . . 122

K.1 Ficha de Dados para Solicitacao de Servicos . . . . . . . . . . . . . . . . 123

L.1 Termo de Acordo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

L.2 Tela de Cadastro de Solicitacao de ADSL . . . . . . . . . . . . . . . . . 125

M.1 Tela de demonstracao da implementacao do que foi proposto . . . . . . . 126

Page 12: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Lista de Tabelas

3.1 Operacoes LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2 Exemplos de Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3 Exemplos de atributos relacionados as suas sintaxes . . . . . . . . . . . . 41

3.4 Relacao dos principais atributos com suas respectivas representacoes . . . 44

4.1 Componentes do OpenLDAP . . . . . . . . . . . . . . . . . . . . . . . . 73

5.1 Siglas que diferenciam a atuacao . . . . . . . . . . . . . . . . . . . . . . 87

5.2 Tipos de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.3 Exemplos de contas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.4 Exemplos de e-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Page 13: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Lista de Siglas

ACI Access Control Information

AD Active Directory

CAV Centro de Ciencias Agroveterinarias

CCE-FAED Centro de Ciencias da Educacao

CCT Centro de Ciencias Tecnologicas

CEAD Centro de Educacao a Distancia

CEART Centro de Artes

CEO Centro Educacional do Oeste

CEFID Centro de Educacao Fısica, Fisioterapia e Desportos

DAP Directory Access Protocol

DIB Directory Information Base

DIT Directory Information Tree

DN Distinguished Name

DNS Domain Name System

DS Distinguished Name

DSA Directory System Agent

ESAG Escola Superior de Administracao e Gerencia

ISO Organization for Standardization

ITU-T International Telecomunication Union - Telecomunication

LDAP Lightweight Directory Access Protocol

LDBM Lightweight Database Management

Page 14: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

xiv

NDS Novell Directory Services

NIS Network Information Service

OID Unique Object Identifier

OSI Open System Interconnection

PDU Protocol Data Unit

RDBMS Relational Database Management System

RDN Relative Distinguished Name

RFC Request For Comments

SASL Simple Authentication and Security Layer

SO Sistema Operacional

SQL Structured Query Language

SSL Secure Socket Layer

SSO Single Sign-On

TLS Transport Layer Security

UDESC Universidade do Estado de Santa Catarina

Page 15: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Resumo

Nesta monografia sao abordados os conceitos que envolvem o LDAP

(Lightweight Directory Access Protocol) desde a sua origem ate suas aplicacoes, in-

cluindo as suas estruturas, modelos, versoes e funcionalidades. Objetiva-se o entendi-

mento dos elementos envolvidos no funcionamento e uso do LDAP como fundamento

para elaboracao de um modelo a ser empregado no Campus Joinville do Centro de Ciencias

Tecnologicas da Universidade do Estado de Santa Catarina (CCT/UDESC). A metodo-

logia adotada foi o estudo das especificacoes e das necessidades dos servicos de di-

retorios, a fim de compreender como sao tratadas as informacoes e como e realizado

o acesso/gerencia destas dentro do diretorio. Uma vez compreendido o funcionamento

tem-se as diversas arquiteturas e questoes pertinentes a forma de como implementar os

servicos de diretorios, visto que, o fato de uma infra-estrutura adequada nao implica em

uma implementacao que atenda as necessidades. Sob esses aspectos e relevante avaliar

o que as principais ferramentas disponibilizam de recursos e como estruturar (modelar)

uma infra-estrutura de LDAP adequadamente. Apos a fundamentacao teorica, e perante

as analises das funcionalidades e ferramentas, uma proposta de implementacao foi es-

pecificada com base nos principais sistemas e servicos existentes no CCT/UDESC. Esta

proposta visa, de uma forma generica, servir como plataforma comum para abranger e

integrar todas as formas de autenticacao, assim como as informacoes de proposito geral

sobre os usuarios.

Palavras Chaves: LDAP, Diretorios, Modelagem de Diretorios, Identidade

Page 16: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Abstract

A Proposal of Implementation of LDAP in CCT/UDESC.

Within this thesis are approached the concepts regarding Lightweight

Directory Access Protocol - LDAP: From its origins to its applications, including its

structures, models versions and functionalities. An objective is understanding the main

elements pertaining to the functioning and use of LDAP as a base for elaborating a model

to be applied at the Joinville Campus of the Technological Sciences Center of the Santa

Catarina State University - CCT/UDESC. The adopted methodology was the study of

specifications and the directories service’s necessities, in order to understand how infor-

mation is handled and how its access and management is performed inside the directory.

Once the concept of how the system works is grasped, several architecture models can be

considered, as well as pertaining questions related to the implementation options for the

directory service, as for the fact that a suitable architecture does not imply an implemen-

tation that fulfills all requirements. It is relevant to evaluate, under those aspects, what

devices the main tools available provide and how to structure (model) an adequate LDAP

infra-structure. After the theoretical groundwork and with the result of the analysis of

tools and functionalities presented, an implementation proposal was specified, based on

the major CCT/UDESC existing systems and services. This proposal aims, in a general

way, to comprehend and integrate all forms of authentication as well as general purpose

information about the users.

Key words: LDAP, Directories, Modelling of Directories, Identities

Page 17: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Capıtulo 1

Introducao

Devido a crescente velocidade/quantidade na qual os meios de compu-

tacionais, baseados em redes de computadores, estao sendo adotados surgiram varias for-

mas de aprimorar a troca de informacoes entre pessoas e esses elementos computacionais.

Este progresso deu-se em conjunto com o avanco tecnologico e com outros fatores que

evidenciam as formas de interacao, buscando maior sinergia com nıveis de complexidade

menor no uso (mas, varias vezes, com aumento da complexidade de implementacao). A

comunicacao entre as pessoas pode ser realizada de distintas maneiras e proporcionar a

troca de uma consideravel variedade de dados, porem nem sempre este processo e feito

com a seguranca adequada (o que pode ser ocasionado quer por falhas tecnicas de soft-

ware ou erro humano). [Carneiro, 2005] [Tanenbaum, 1997]

Garantir que as informacoes sejam acessadas com seguranca, mantendo

sua integridade e proporcionando maior disponibilidade, e algo que cada vez mais torna-

se fundamental para o correto funcionamento dos sistemas computacionais, sendo as-

sim a sua implementacao uma necessidade basica. [NBR, 2001] Diante da busca por:

informacoes, padroes, protocolos e outros ıtens que atendam a esses requisitos trazem

como benefıcio aos sistemas informatizados um maior nıvel de estabilidade e confianca.

Tais caracterısticas sao em decorrencia do uso e pesquisa intensiva que produzem a cada

nova versao mais recursos atrelados aos requisitos de seguranca necessarios.

A necessidade de integrar sistemas de autenticacao cresceu para possi-

Page 18: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

2

bilitar a organizacao das informacoes, a fim de facilitar o gerenciamento e a comunicacao.

Com isso, varios servicos foram desenvolvidos solucionando problemas existentes com

o compartilhamento da identificacao atraves de grupos de usuarios e com formas de

autenticacao baseados em mecanismos de verificacao da identidade digital1, como me-

canismos de login e senha, entre outros. [Wanderley, 2005]

Estas formas de autenticacao devem ser estabelecidas previamente, de

maneira que um acesso seja disponibilizado ao usuario pelo servidor. Assim sendo, um

cadastro e gerado, contendo os respectivos dados, e estes sao armazenados dentro de uma

estrutura apropriada denominada de diretorio.

O armazenamento das informacoes referentes a identidade digital, e

acessos relacionados a essa, e feito em diretorios que sao constituıdos das entradas de

informacoes, chamadas de DN (Distinguished Name), como por exemplo, os dados de

pessoas, empresas, recursos de rede, nomes de computadores, enderecos IP ou enderecos

de e-mail. Alem disso, um diretorio pode ser usado em uma larga faixa de aplicacoes,

como pelos sistemas de Recursos Humanos e de Contabilidade e Financas, sempre bus-

cando realizar uma identificacao unica ou um unico cadastro. [Lozano, 2005]

Um padrao que disponibiliza formas para realizar a conexao e a gerencia

de diretorios locais e o X.500. Seu objetivo e gerar um so diretorio distribuıdo. Com base

na criacao e desenvolvimento deste, o Protocolo de Acesso a Diretorio (DAP - Direc-

tory Access Protocol) foi especificado, porem para atender suas definicoes este protocolo

precisava de consideraveis recursos computacionais para ser executado. [Garcia, 2005]

[Isquierdo, 2001]

Buscando simplificar o processo de manipulacao e gerencia dos dados

foi desenvolvido o LDAP (Lightweight Directory Access Protocol) que e processado di-

retamente sobre a camada de aplicacao da pilha de protocolo TCP/IP e dispoe da maior

parte das funcionalidades do DAP, a um custo muito menor e consumindo menos re-

cursos2. Alem disso, o LDAP foi desenvolvido como um padrao aberto, de modo a fa-

1Identidade digital e uma forma de identificacao, a qual contem informacoes do usuario. [Chong, 2004]2O DAP foi considerado por demais complexo para ser empregado amplamente, pois envolvia muitas

especificacoes para torna-lo operacional.

Page 19: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

3

cilitar a sua implementacao nos mais diferentes sistemas e aplicativos, para evitar que

questoes pertinentes a licenciamento pudessem afetar a adesao ao mesmo. [Allen, 2003]

[Naguel, 2005] [Isquierdo, 2001] [Kellermann, 2005]

O LDAP tambem dispoe da utilidade de padronizar o acesso de servicos

e recursos, integrando as senhas e os cadastros de usuarios ou clientes, evitando as-

sim redundancias de dados dentro de um diretorio. Devido ao grande volume de sis-

temas, essa caracterıstica faz com que o uso deste protocolo seja amplamente empre-

gado, divulgando assim sua eficiencia atraves de diversos servicos e aplicacoes, como:

o Netscape, o OpenLDAP e o AD (Active Directory). [Souza, 2005] [Microsoft, 2005]

[Voglmaier, 2004] [Pininga, 2005]

O LDAP e um protocolo que pretende resolver o problema da descen-

tralizacao de informacoes em inumeros sistemas de qualquer empresa de medio e grande

porte, proporcionando agilidade e reducao de custo entre os profissionais. Com o estudo

de sua origem, estrutura, modelos, ferramentas e funcionamento, pode-se constatar que

o LDAP em conjunto com os recursos e as ferramentas atuais, e capaz de proporcionar

a seguranca e a manipulacao das informacoes a uma rede de computadores e aos seus

diretorios, de uma forma adequada.

Deste modo, e importante a criacao de polıticas de controle de acesso

adequada a cada tipo de usuario, aumentando a seguranca e reduzindo os custos atraves

da administracao e controle de forma centralizada, assegurando que somente as pessoas

que tiverem o perfil adequado terao acesso as informacoes e servicos oferecidos. A fim

de integrar sistemas e garantir esse tipo de controle e fundamental que seja feita uma

modelagem dos dados existentes nos sistemas, para criar uma identidade digital, onde

cada usuario tem acesso a varios servicos atraves de uma unica senha que esteja associada

a uma identidade unica. [Kellermann, 2005] [Filho, 2005]

Para criar essa identidade e necessaria a sincronizacao de dados que

residem em diretorios, bancos de dados, sistemas colaborativos e aplicativos. Essa in-

tegracao deve ser feita de forma minuciosa, para que nao haja perda de dados entre os

servicos ou para que somente as informacoes nao replicadas sejam agregadas ao conjunto

de dados finais. Percebe-se entao a complexidade em integrar as varias necessidades dos

Page 20: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

4

diversos sistemas/aplicativos em uma estrutura unica (a identidade) de modo a fornecer

um ponto central de controle e gerenciamento, alem desse fato nao pode-se esquecer a

compatibilidade e flexibilidade que essa estrutura deve possuir.

Baseando-se nestas definicoes e conceitos de LDAP, nos motivos que le-

varam ao seu surgimento e sua aplicacao, constata-se que a analise dos sistemas e servicos

existentes no CCT/UDESC3 (do modo como estao estruturados quanto a identificacao

dos usuarios/recursos) mostra-se relevante e plenamente justificavel ao emprego dessa

tecnologia. Tal afirmacao pode ser comprovada fazendo-se uma analogia aos proprios

servicos de diretorios, que surgiram devido a diversidade de sistemas, implicando como

consequencia em varias identificacoes para um mesmo indivıduo/recurso.

Desta forma, o estudo do protocolo LDAP e seus requisitos de espe-

cificacao tornaram-se uteis para possibilitar a elaboracao da proposta de uma identi-

dade/modelo com base nas informacoes dos sistemas e servicos existentes. Esta proposta

de implementacao busca propiciar uma integracao dos dados e um gerenciamento mais

adequado destes, o que leva a ter um ambiente mais seguro e funcional.

1.1 Objetivo Geral

Realizar um estudo sobre a arquitetura e o funcionamento do protocolo

LDAP, com o intuito de verificar os requisitos e necessidade de especificacoes, objeti-

vando sugerir uma proposta de emprego do LDAP no CCT/UDESC (Campus Joinville).

De modo a atingir o objetivo geral estabelecido, determinados ıtens de-

vem ser estudados de modo mais detalhado e que sao assim considerados objetivos es-

pecıficos. Sendo assim, os objetivos especıficos a serem atingidos sao:

• Objetivo especıfico 1 - Relatar conceitos de seguranca da informacao em redes de

computadores.

• Objetivo especıfico 2 - Definir e relatar conceitos de diretorios.

3Centro de Ciencias Tecnologicas / Universidade do Estado de Santa Catarina

Page 21: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

5

• Objetivo especıfico 3 - Definir LDAP, pesquisar e relatar sua origem, estrutura,

modelos, requisitos, servicos e funcionamento.

• Objetivo especıfico 4 - Analisar as ferramentas existentes.

• Objetivo especıfico 5 - Analisar e considerar um contexto do CCT/UDESC (Cam-

pus Joinville) buscando identificar pontos em que o conceito de LDAP possa ser

aplicavel.

• Objetivo especıfico 6 - Selecionar entre as ferramentas analisadas uma que satisfaca,

ou seja, a mais apta a satisfazer, os servicos dentro do contexto verificado no Obje-

tivo Especıfico 5.

• Objetivo especıfico 6 - Elaborar uma proposta para um modelo de emprego do pro-

tocolo LDAP no CCT/UDESC (Campus Joinville), preferencialmente realizando a

implementacao deste. Tal proposta compreendera uma modelagem para definicao

de uma identidade adequada a realidade do CCT/UDESC.

Como pode ser observado, nos objetivos especıficos, eles constituem

de varios topicos e fases do trabalho que cumpridos culminam no atendimento do obje-

tivo geral. Deste modo, atingindo os objetivos especıficos de modo adequado tem-se a

indicacao de que o objetivo geral e uma consequencia destes.

Para incrementar ainda mais os resultados obtidos com este trabalho,

uma atividade adicional fora sugerida. Esta contempla a implementacao de uma amostra

do modelo, a fim de visualizar o que foi sugerido. Para tal, deve-se realizar a instalacao e

configuracao conforme mostra o Apendice C.

1.2 Trabalhos Correlacionados

A Universidade Federal do Rio Grande do Sul (UFRGS) desenvolveu

o ”Direto”que consiste em um sistema de agenda, catalogo e correio corporativos desen-

volvido pela Companhia de Processamento de Dados do Estado do Rio Grande do Sul

(PROCERGS). Este surgiu como uma alternativa para a padronizacao da ferramenta de

Page 22: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

6

correio dos servidores, buscando melhorar a comunicacao interna e externa e fornecer

recursos de catalogo e agenda corporativos. Alem disso, a implementacao deste utiliza

diversos servicos e tecnologias, entre elas o OpenLDAP, que se baseia na utilizacao de

servidor LDAP. [UFRGS, 2005]

Outro trabalho que envolve a utilizacao das funcionalidades do LDAP

e o ”GT-Diretorios - Uma Arquitetura de Autenticacao e Autorizacao para a Universi-

dade Brasileira”, que foi projetado para ser desenvolvido e estudado pela Universidade

Federal do Parana (UFPR), pela PUC do Rio de Janeiro e pela Universidade Federal de

Minas Gerais (UFMG). Este consiste em realizar uma proposta para investigar e propor

uma solucao para a utilizacao de diretorios pela Rede Nacional de Ensino e Pesquisa.

[Carvalho, 2005c]

Estes trabalhos tem como objetivo realizar/apresentar um estudo das

formas de utilizar e implantar diretorios. Ambos buscam centralizar as informacoes e

garantir a autenticacao e a autorizacao, ou seja, a seguranca dos dados.

1.3 Metodologia Empregada

A metodologia adotada neste trabalho consiste em pesquisas referen-

ciadas (bibliograficas) e pesquisas de campo, buscando os fundamentos necessario apara

atingir os objetivos. Alem dos materiais pesquisados buscou-se orientacoes de outros

professores4, na definicao mais claras das etapas e o teor de seu conteudo, e o auxılio de

funcionarios da Universidade para a coleta de informacoes necessarias. Demais detalhes

especıficos sobre a metodologia podem ser consultados no Apendice A.

4Cita-se como cronologicamente como exemplo as consultas feitas a Profa. Cinara T. Menegazzo, com

embasamento nas aplicacoes existentes, evitando replicar um material feito por seu orientando. Alem disto,

a Profa. Cinara T. Menegazzo auxiliou na coleta de informacoes, sobre os sistemas e servicos da UDESC,

para o desenvolvimento do modelo proposto. O Prof. Ricardo F. Martins ajudando com o desenvolvimento

da modelagem e validando os aspectos mais relevantes para tal. Por final a validacao feita pela Profa.

Avanilde Kemczinski viabilizando as possibilidades de normalizar o modelo proposto.

Page 23: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

7

1.4 Organizacao do Trabalho

No capıtulo 2 esta relatado o historico e os conceitos que envolvem o

LDAP. Devido a necessidade de gerenciamento, acesso e integracao de informacoes em

um diretorio. Alem disso, sao esclarecidas definicoes envolventes e as que surgiram a

partir destes conceitos, como o padrao X.500, o DAP, o proprio LDAP. Os modelos, a

estrutura, o funcionamento e a seguranca do LDAP sao explicados e analisados, sendo

aproveitados adiante para realizar um aprofundamento do estudo.

O capıtulo 3 possui a definicao do LDAP, bem como o seu funciona-

mento, versoes, aplicacoes existentes e um maior detalhamento dos modelos, relatando as

operacoes que possibilitam estruturar e gerenciar os dados dentro de um diretorio. Alem

disso, ainda sao especificados a modelagem de identidades, sua importancia e as formas

com que estas podem ser asseguradas e implantadas em aplicacoes para garantir que cada

usuario tenha uma unica identificacao.

O capıtulo 4 apresenta conceitos e definicoes do OpenLDAP, ferramenta

escolhida para a realizacao da proposta de implementacao do LDAP no CCT/UDESC,

bem como informacoes e caracterısticas relevantes a escolha desta. Alem disso, relata

como pode ser feita a comunicacao entre cliente/servidor e como os daemons (slapd e

slurpd) podem auxiliar e viabilizar a utilizacao destes.

O capıtulo 5 relata o levantamento de dados (caracterısticas de cada

sistema/servico, formas de identificacao e de autenticacao e as entradas de informacoes

ou cadastros realizados) e a analise realizada nos sistemas e servicos existentes no CCT/

UDESC. Neste ainda encontra-se a modelagem final sugerida, que foi desenvolvida com

base nos quesitos e informacoes coletadas, analogas ao estudo teorico realizado.

O estudo feito vem realizar o que foi previsto no Plano para este tra-

balho, que segue no Apendice A. Este tem como objetivo especificar o que deveria ser

realizado, as etapas previstas e o cronograma a ser entregue. Com base neste e no cum-

primento das atividades, o objetivo geral pode ser conquistado, o qual destinava uma

proposta de implementacao do LDAP para o CCT/UDESC.

Page 24: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Capıtulo 2

Conceitos Basicos

A integracao de redes de computadores vem sendo explorada e desen-

volvida com o crescimento tecnologico, buscando atingir os objetivos perante a infor-

matizacao, os diferentes fabricantes uniram-se a fim de padronizar e atingir um elevado

nıvel de funcionalidades. [Filho, 2005] A medida em que as necessidades da sociedade

ampliam-se, evoluem tambem a inovacao e o desenvolvimento dos recursos/sistemas exis-

tentes. Diante dessa diversidade de sistemas computacionais tornam-se consideravel-

mente variados os recursos disponibilizados em uma rede de computadores. Para inte-

grar e utilizar de maneira adequada esses dispositivos tornou-se necessaria a existencia

de um sistema de informacoes que localiza e fornece os dados sobre o funcionamento da

rede, com isso, a ISO1 desenvolveu um padrao internacional de sistemas de diretorios2

espelhando-se no modelo de referencia OSI3. [Filho, 2005] [Rhee, 2003]

Este padrao definiu uma serie de protocolos, os quais tem como objetivo

tornar transparente as aplicacoes da rede e a localizacao dos objetos dentro da mesma.

Alem disso, foram disponibilizadas um conjunto de normas para definir como deveriam

ser tratados determinados servicos, como o de diretorios estabelecido pela ISO-9594/N e

pelas recomendacoes da serie X.500 da ITU-T4. [Rhee, 2003]

1Internatinal Standardization Organization.2Um diretorio e uma base de dados especializada com o objetivo de disponibilizar o acesso rapido aos

dados de uma maneira padronizada. [House, 2000]3Open System Interconction.4International Telecomunication Union - Telecomunication.

Page 25: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

9

Os servicos de diretorios permitem estruturar os dados, de uma orga-

nizacao, de modo a tornar o acesso facilitado e padronizado. Com a utilizacao dos

diretorios, varias formas de organizar as informacoes dentro deste foram criadas, im-

plicando em uma serie de dificuldades perante a organizacao dos dados, gerando re-

dundancias dentro de diretorios diferentes ou ate mesmo dentro de um diretorio, repetindo

nomes. [Voglmaier, 2004]

Buscando garantir a autenticacao e a integracao destes dados, foram

desenvolvidos servicos baseados na especificacao do padrao X.5005, como o DAP6 (Di-

rectory Access Protocol) e o LDAP7 (Lightweight Directory Access Protocol). Conforme

a Figura 1.1, o LDAP surgiu de uma simplificacao do DAP e estabeleceu uma serie de

especificacoes, criando um protocolo e consequentemente servicos.

Figura 2.1: Surgimento do LDAP

A criacao de servicos de diretorio trouxe consigo uma grande quan-

tidade de conceitos (organizacao em arvores, modelagem, estruturacao de dados, etc.)

e o surgimento de novos servicos de acesso (integracao, autenticacao e seguranca das

informacoes dentro de uma rede). Para integrar-se a este contexto varias ferramentas

vem sendo desenvolvidas, objetivando o uso dos dados disponibilizados no servico de di-

5O X.500 e um protocolo que define um modelo para a conexao e gerencia de servicos de diretorios.

[Garcia, 2005]6O DAP e um protocolo de acesso a diretorios que foi desenvolvido para trabalhar com as especificacoes

do X.500. [GSI, 2005]7O LDAP e um protocolo de acesso e gerenciamento de informacoes de um diretorio, o qual veio para

simplificar as formas de realizar as funcionalidades do DAP. [Kanies, 2001]

Page 26: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

10

retorio existente e agregando novos dados, gerando desta forma um aumento significativo

do conteudo disponibilizado no servico de diretorio. Entender a historia e evolucao dos

servicos de diretorio, assim como das aplicacoes que integram-se a ele, permite compre-

ender o estagio em que esta a tecnologia e as motivacoes que conduziram a essa realidade.

2.1 Historico

Em 1988 surgiu o padrao X.500, desenvolvido por Marshall Rose e

Martin Schoffstall, que define o modelo para realizar a conexao e a gerencia de servicos

de diretorios locais afim de gerar um diretorio global e distribuıdo. O servico de diretorio

X.500 foi criado para disponibilizar, alterar, adicionar e excluir informacoes em diretorios,

como dados de pessoas, organizacoes, enderecos de correio eletronico, enderecos de rede,

aplicacoes, autorizacoes de acesso, recursos computacionais, produtos, servicos, entre ou-

tros. Nesta epoca ja constatava-se problemas, como a duplicidade e paridade por exemplo,

referentes nao somente aos dados armazenados nas redes, mas do proprio modo que estes

eram organizados e estruturados. [Pohlman, 2003] A partir de sua criacao varios proto-

colos, padroes e servicos foram designados a este fim, a Figura 2.2 mostra os principais

desenvolvimentos neste segmento sob uma linha do tempo.

Figura 2.2: Linha do Tempo dos Servicos de Diretorio

Paralelo ao surgimento do X.500 e para a realizacao de um trabalho

mutuo foi desenvolvido um protocolo de acesso a diretorios (DAP), conforme mostra a

Page 27: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

11

Figura 2.3. O DAP originou-se para realizar seu trabalho baseando-se no modelo OSI8

completo e envolvia muitas especificacoes para torna-lo operacional. Alem disso, para

obter seu funcionamento de forma esperada, este protocolo precisa de consideraveis re-

cursos computacionais, pois o banco de dados que utiliza os servicos de diretorio foi

desenvolvido para ser armazenado na memoria, fazendo com que seu uso seja inviavel.

[Vitorio, 2005] [Pohlman, 2003]

Figura 2.3: Comunicacao do DAP com o Servidor X.500

Buscando simplificar o processo de manipulacao e gerencia dos dados

e disponibilizar o acesso deste servico a rede com menos recursos foi desenvolvido, em

1993, o LDAP. Este protocolo e processado diretamente sobre a camada de aplicacao

da pilha de protocolo TCP/IP e possui a maior parte das funcionalidades do DAP, a um

custo muito menor e consumindo menos recursos, como pode ser observado na Figura

2.4. [Carter, 2003]

Figura 2.4: Comunicacao do LDAP com o Servidor X.500

Varios tipos de servicos surgiram buscando implementar a utilizacao

do protocolo LDAP, como o AD (Active Directory) em 2000 e o OpenLDAP em 1998.

8O modelo OSI foi criado em 1977 pela ISO com o objetivo de criar padroes de conectividade para

interligar sistemas de computadores locais e remotos. Este divide os protocolos de rede em sete camadas:

Fısica, Enlace, Rede, Transporte, Sessao, Apresentacao e Aplicacao.

Page 28: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

12

O OpenLDAP foi implementado sob modelo de software livre9 para os usuarios Unix e

GNU/Linux fornecendo suporte para replicacao de servidores e integracao com demais

servidores LDAP de outras plataformas. O AD e um servico que serve para realizar o

armazenamento para recuperacao de informacoes e dar suporte ao LDAP. Sendo projetado

pela Microsoft e uma solucao proprietaria e foi idealizado para ser totalmente integrado

a arquiteturas MS-Windows 2000 e posteriores, visando uma possibilidade de integracao

com outras plataformas (apesar de possuir recursos que somente sao funcionais para a

plataforma Microsoft). [Craft, 2001] [Hoffman, 2004] [Kellermann, 2005]

A aplicacao e o desenvolvimento dos padroes, protocolos e servicos fez

com que varias empresas, instituicoes e usuarios comuns passassem a implantar e utili-

zar estes meios de realizar acesso e gerenciamento em diretorios. Com isso, os clientes

buscam concentrar seus dados em apenas um diretorio, fazendo com que diminuam as

informacoes redundantes, facilitar a gerencia e os acessos nao autorizados na rede.

2.2 Servicos de Diretorios

Um diretorio e um banco de dados especializado em armazenar infor-

macoes descritivas, baseadas em atributo. Este permite compartilhar dados entre apli-

cacoes, controlar o acesso de dados, distribuir a gerencia das informacoes e extende-las

com facilidade. Alem disso, um diretorio e organizado em forma de arvore (hierarqui-

camente) e nao de tabela como os bancos de dados tradicionais. A Figura 2.5 apresenta

um exemplo onde estao dispostos tres servidores e seus respectivos dados. [Carter, 2003]

[House, 2000]

Geralmente um diretorio serve para que as informacoes sejam lidas.

Em consequencia disto, pode-se dizer que os diretorios normalmente nao sao usados para

implementar transacoes complexas, ou esquemas de consultas regulares em bancos de da-

dos, eles sao preparados para responder a um grande volume de consultas ou operacoes

de busca. Alem disso, os diretorios podem ter a habilidade de replicar informacoes ex-

tensivamente. Isto e usado para acrescentar disponibilidade e confiabilidade, enquanto

9Codigo aberto, podendo ser modificado e redistribuıdo sem a necessidade de pagamento de licenca.

Page 29: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

13

Figura 2.5: Arvore de dados

reduzem o tempo de resposta. [Carter, 2003] [House, 2000] [Vitorio, 2005]

Os diretorios mostram-se versateis e adaptaveis a varios contextos de

aplicacoes, sendo projetados para diferentes tipos de servicos (tais como para uma aplicacao

especıfica, para sistemas operacionais de rede), para um proposito especıfico baseado em

padroes. Dentre as aplicacoes especıficas tem-se alguns exemplos como o IBM/Lotus

Notes e o Microsoft Exchange, ja para os sistemas operacionais de rede o eDirectory

da Novell (uma evolucao do NDS10) e o NIS11 da Sun. Um exemplo de utilizacao para

um proposito especıfico pode ser dado pelo DNS (Domain Name System)12 e para um

proposito geral baseado em padroes tem-se o LDAP. [LCC/UFMG, 2005] [Carter, 2003]

Um diretorio e uma implementacao baseada no princıpio cliente/servidor

para disponibilizar algum tipo de informacao, ou seja, e uma aplicacao que controla os

objetos e seus atributos dentro do mesmo. Este servico disponibiliza as informacoes con-

10Novell Directory Service e um dos primeiros servicos de diretorios amplamente empregado na

estruturacao/gerencia de redes.11Network Information Service e um servico de rede que trata das informacoes, fazendo com que estas

nao sejam duplicadas, possibilitando medir a consistencia dos dados, aumentando a flexibilidade e facili-

tando o trabalho de administracao.12DNS consiste em um esquema de gerenciamento de nomes, hierarquico e distribuıdo. [Kanies, 2001]

Page 30: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

14

tidas no diretorio aos usuarios e a outras aplicacoes de um modo sistematico e estruturado.

[House, 2000] [Carter, 2003]

Quanto a sua abrangencia os servicos de diretorios podem ser locais,

atuando em uma maquina isolada, ou globais, atingindo um contexto mais amplo para

suas aplicacoes. Os servicos globais geralmente sao distribuıdos, ou seja, cada servidor e

responsavel por uma parte do servico disponibilizado. [House, 2000] [Carter, 2003]

Varias sao as formas de disponibilizar um servico de diretorios e en-

tre elas existem diferentes maneiras para tratar os tipos de informacoes para que estas

possam ser armazenadas. Com isso, este servico permite tratar os dados para definir as

formas com que as informacoes podem ser apresentadas, impedir acessos nao autorizados

e modificacoes nao permitidas. [Kanies, 2001]

Os tipos de informacao armazenados sao baseados em entradas de da-

dos, as quais sao constituıdas de um conjunto de atributos e apresentadas por um nome

distinto (DN - Distinguished Name). O DN foi especificado pela RFC 225313 para pos-

sibilitar entradas nao ambıguas, sendo que estas tem um tipo e um ou mais valores. Sao

geralmente usadas palavras mnemonicas14, como cn para nome comum(do ingles com-

mon name) , ou mail para enderecos de correio eletronico. [House, 2000]

Os servicos de diretorios proporcionam benefıcios aos seus usuarios,

como seguranca e integridade15. Alem disso, eles estabelecem padroes para as entradas

de dados fazendo com que uma identidade seja estabelecida. A Figura 2.6 exemplifica

a arquitetura de um servico de diretorio, onde uma determinada aplicacao e solicitada

atraves do protocolo TCP/IP, este protocolo acessa o diretorio retornando uma mensagem

a aplicacao cliente.

Dentro da mesma linha de raciocınio, o padrao X.500 determina todo

o processo de acesso a diretorios, desde as entradas dos dados na arvore hierarquica ate

13O RFC (Request For Comments) e uma recomendacao que define procedimentos para o bom funciona-

mento de servicos [RNP, 2005]14Palavras mnemonicas sao apelidos dados a determinadas palavras para referenciar um nome comum

ou expressar brevidade. [Anonimo, 2005b] [Takahashi, 2005]15Integridade e uma forma de seguranca que tem como objetivo garantir de que as informacoes no sejam

alteradas entre a estacao de origem e a estacao de destino. [Goldani, 2005]

Page 31: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

15

Figura 2.6: Requisicao e resposta de dados

a resposta a requisicao. A interacao cliente/servidor e disponibilizada pelas definicoes

deste padrao, que atua fornecendo normas e protocolos para tornar possıvel este tipo de

acesso e servico.

Baseando-se nesses conceitos, torna-se importante um estudo mais de-

talhado deste padrao e das formas com que sao aplicadas suas definicoes. Simultanea-

mente ao X.500, protocolos como DAP e LDAP foram aprimorados melhorando o pro-

cesso de acesso e gerencia de diretorios.

2.2.1 X.500

O X.500 e um padrao que disponibiliza formas para realizar a conexao

e a gerencia de diretorios locais. Este tem como objetivo gerar um diretorio distribuıdo,

onde todos os servicos integrados terao acesso. [Filho, 2005] [Garcia, 2005]

Este padrao utiliza uma Base de Informacoes de Diretorio (BID - Di-

rectory Information Base16) onde ficam armazenadas as informacoes, que serao disponi-

bilizadas atraves de um servidor conhecido como Agente de Sistemas de Diretorios (DSA

16A BID e um conjunto de informacoes estruturadas no conceito de orientacao a objetos. Esta e composta

por entradas, chamadas de entradas de diretorio ou entradas de objeto, as quais representam os objetos do

mundo real, contendo as respectivas informacoes caracterısticas.

Page 32: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

16

- Directory System Agent17). Este servidor interage com outros DSA, conforme a Figura

2.7, tornando possıvel realizar a comunicacao entre os usuarios/recursos. [Garcia, 2005]

[Kellermann, 2005]

Figura 2.7: Comunicacao entre usuarios/recursos

O X.500 oferece manutencao descentralizada, sendo responsavel ape-

nas pela parte de diretorios, um framework18 de informacao estruturada, um padrao que

disponibiliza a outras aplicacoes determinados tipos de informacoes e mecanismos de

procura, alem disso, suportando funcoes de gerenciamento das entradas de dados. Estas

entradas no diretorio X.500 descrevem um objeto, que tem um identificador unico cha-

mando DN, e consistem de uma colecao de atributos sendo que para uma pessoa, eles

podem ser: nome, endereco, e-mail, entre outros. [GSI, 2005]

Dentre suas funcionalidades, o X.500 serve para disponibilizar o acesso

de diretorios de forma que o usuario possa encontrar facilmente as informacoes deseja-

das, atraves de sua estrutura, organizacao sistematica e de suas formas de disponibilidade.

Esta facilidade surgiu devido ao detalhamento e a funcionalidade com que este padrao foi

17DSA e um servidor de dados onde as informacoes sao armazenadas. Estas informacoes ficam em uma

base de dados a qual e hierarquica e projetada para responder de uma forma mais rapida as questoes que

lhe sao colocadas.18Framework e um conjunto de objetos que colaboram com o objetivo de cumprir um conjunto de res-

ponsabilidades para uma aplicacao ou um domınio de um subsistema. [Guimaraes, 2005]

Page 33: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

17

desenvolvido. Alem disso, cada dado armazenado tem um tipo especıfico e a identificacao

de um bloco e feita por um identificador, o qual e diferente para cada entrada, estas por sua

vez sao localizadas atraves de buscas na Arvore de Informacao de Diretorio (DIT - Direc-

tory Information Tree). A Figura 2.8 exemplifica esse conceito, pois em seu topo possui

um objeto raiz que tem como atributos ”Universidade”e em seguida e dividida em depar-

tamentos e cursos. Depois destes dados e onde sao armazenadas as informacoes sobre

pessoas ou objetos. Estas informacoes sao definidas atraves de regras pre-estabelecidas

e que encontram-se dentro das recomendacoes que definem o conceito e uso do X.500.

[House, 2000]

Figura 2.8: Arvore de Informacoes de Diretorio

Suas limitacoes espelham-se em seu alto grau de complexidade diante

das necessidades de implementacao, isto ocorre devido a forma com que fora estruturada

a informacao na sua base de dados. [GSI, 2005] No aspecto organizacional, o X.500

possui abrangencia global no domınio das redes inter-conectadas, sendo visto como uma

unica base de dados operando de forma distribuıda, atraves de um numero ilimitado de

sistemas computacionais.

Constata-se, pelas caracterısticas apresentadas, que o X.500 busca con-

centrar os dados de um diretorio em um so local e armazena-los de forma a organizar

e facilitar consultas de clientes. Esta forma de armazenamento auxilia a integracao das

informacoes e a mantem a diferenciacao e a autenticidade delas.

Page 34: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

18

2.2.2 DAP

O Protocolo de Acesso a Diretorio (DAP), criado pela Universidade de

Michigan em 1988, foi definido com base no X.500 e serve para acessar servidores de

diretorios do tipo X.500. A forma de acesso, do cliente ao servidor que disponibiliza

o servico de diretorio, fundamenta-se em um protocolo baseado no modelo de referencia

OSI. Porem a pilha de protocolo OSI mostrou-se complexa demais para ser implementada

em um protocolo, devido a quantidade significativa de recursos necessarios do sistema e

mecanismos de suporte para superar a complexidade do protocolo, inviabilizando o uso

do DAP em sistemas computacionais sem muitos recursos. [GSI, 2005] [Pohlman, 2003]

O DAP cria um padrao para a comunicacao entre cliente/servidor que

acontece em um diretorio. Isto esta definido para ocorrer atraves do uso de um protocolo

complexo, pois tenta envolver sistemas distribuıdos em geral e possuı alto custo compu-

tacional. Os equipamentos existentes na epoca de seu surgimento nao possuıam recursos

suficientes a ponto de obter bom desempenho com o seu uso. [GSI, 2005]

Devido as dificuldades encontradas para a implementacao do protocolo

DAP, varias melhorias foram estudadas e varias mudancas foram sugeridas. Baseando-se

nessa problematica foi desenvolvido uma versao mais leve do protocolo, chamada LDAP.

Esta e baseada nos componentes do DAP, ou seja: trabalha com um menor custo compu-

tacional aumentando a funcionalidade e diminuindo-se a complexidade, atraves do em-

prego de tecnologias menos onerosas computacionalmente. [Kanies, 2001] Deste modo a

criacao do LDAP busca melhorar a integracao das informacoes e tornar o protocolo final

mais leve e de facil acesso/implementacao.

2.2.3 LDAP

O LDAP e um protocolo que define um servico e formas de acesso em

diretorios, baseado numa simplificacao do DAP que possibilita viabilizar a implementacao

do conceito de diretorios (estabelecido pelo X.500) de modo que possa ser empregado em

diversos sistemas computacionais. Este protocolo atua de forma que um servidor LDAP

fornece o servico de diretorio e os clientes LDAP utilizam para acessar entradas e atri-

Page 35: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

19

butos, de modo simplificado, facilitando o seu uso tanto por parte dos usuarios como de

aplicacoes. Essas caracterısticas estao tornando-o como servico de diretorio padrao da

Internet devido ao fato de ser capaz de prover acesso aberto aos servicos de diretorios

da Intranet/Internet, bem como de integrar diretorios heterogeneos. [Komarinski, 2005]

[Carter, 2003] [Kanies, 2001]

As aplicacoes deste protocolo podem ser utilizadas para localizar (tam-

bem gerenciar) usuarios e recursos na rede ou para realizar autenticacao e seguranca. Sao

exemplos destas aplicacoes as listas de telefones, informacoes de contatos dos clientes,

informacoes de infra-estrutura, como mapas de NIS, configuracoes de pacotes de soft-

ware, certificados digitais e chaves seguras. [Martins, 2005]

A especificacao do LDAP foi publicada primeiramente com a RFC 1487

(X.500 Lightweight Directory Access Protocol) em 1993. Esta RFC sugere uma conexao

do X.500 com o LDAP, especificando aplicacoes simples para a gerencia e acesso in-

terativo de leitura e gravacao num diretorio, buscando ser um complemento ao DAP.

Estabeleceu-se assim uma marco inicial, sendo que essa especificacao ficou sendo co-

nhecida como a primeira versao oficial do LDAP. [Archives, 2005] [Kanies, 2001]

Desde entao o LDAP vem sendo aprimorado, gerando novas RFC’s e

consequentemente novas versoes. A segunda versao deste protocolo foi especificada pela

RFC 1777 (Lightweight Directory Access Protocol) e a terceira e definida por um conjunto

de RFC’s, entre 2251 a 2256. Sendo assim e relevante destacar a finalidade de algumas

dessas especificacoes [Archives, 2005]:

• RFC 1558, (A String Representation of LDAP Search Filters): Define a representa-

cao dos filtros de busca para o protocolo LDAP;

• RFC 1777, (Lightweight Directory Access Protocol): Especifica o conceito e fina-

lidade do LDAP;

• RFC 1778, (The String Representation of Standard Attribute Syntaxes): Representa

a forma com que devem ser descritos os atributos;

• RFC 1959, (An LDAP URL Format): Define um formato de URL para o LDAP;

Page 36: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

20

• RFC 2251-2256: Representam as RFC’s que deram origem as modificacoes que

levaram a terceira versao do LDAP;

• RFC 2829, (Authentication Methods for LDAP): Define os metodos de autenticacao

empregados para o LDAP;

• RFC 2830, (Lightweight Directory Access Protocol (v3): Extension for Transport

Layer Security): Busca garantir a seguranca na camada de transporte;

• RFC 3377, (Lightweight Directory Access Protocol (v3): Technical Specification):

Especificacao tecnica da terceira versao do LDAP, definido as mudancas, compati-

bilidade e formas de implemetacao.

Baseando-se nestas especificacoes, varios padroes, protocolos e servicos

foram criados e entre estes muitas diferencas e melhorias foram estabelecidas. As tres

versoes do LDAP, uma apos a outra, sao exemplos desses aperfeicoamentos que buscam

tornar o LDAP um protocolo acessıvel, flexıvel e atendendo as necessidades crescentes

de diretorios.

A vantagem mais significativa do LDAP, em relacao ao DAP, e que

ele funciona utilizando a pilha de protocolo TCP/IP (que e amplamente empregada e

difundida, baseado no modelo DARPA) ao inves de requerer um novo protocolo baseado

no modelo OSI como o DAP especificava. Conforme mostrado na Figura 2.9 o LDAP

e um protocolo implementado na camada de aplicacao do modelo TCP/IP, facilitando a

comunicacao entre o cliente e o servidor de diretorio. Por outro lado o DAP, baseado no

modelo OSI, requer uma complexidade de implementacao do protocolo muito difıcil de

ser realizada e nao amplamente empregado mundialmente. [Voglmaier, 2004]

E atraves do modelo DARPA que o LDAP realiza a troca de mensagens.

A informacao transmitida e uma mensagem contida em um envelope de mensagem, o qual

tem um formato bem definido e e chamado de Unidade de Dados do Protocolo (PDU -

Protocol Data Unit). O PDU deve conter duas partes de informacao, o identificador da

mensagem, que faz uma sincronizacao entre a solicitacao e a resposta, e uma operacao,

que pode ser um pedido do cliente ao servidor ou uma resposta emitida. [Voglmaier, 2004]

Page 37: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

21

Figura 2.9: Comunicacao cliente/servidor baseada no LDAP como intermediario para requisicoesDAP

Apos o cliente LDAP emitir um pedido ao servidor, este executa uma

ou mais operacoes, como especificado no pedido. Para uma transmissao bem sucedida,

o servidor emite os resultados. Ja para apresentar um erro, um aviso e emitido para o

cliente. Cada mensagem de LDAP, pedidos e respostas, contem um ID, um codigo de

operacao e os dados. [Voglmaier, 2004]

O pedido da busca pode ter resultados como os dados da propria busca,

uma mensagem que indique a execucao da pergunta ou uma referencia que indica onde

os dados pedidos poderiam ser encontrados. Para exemplificar este tipo de comunicacao

tem-se a Figura 2.10, onde sao relatadas a solicitacao e a resposta de uma conexao feita

pelo cliente ao servidor, de um pedido de busca e da desativacao da conexao realizada.

[Voglmaier, 2004]

Figura 2.10: Comunicacao cliente/servidor LDAP atraves de operacoes

Page 38: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

22

Como resultado da comunicacao cliente/servidor, observado na Figura

2.10, pode-se dizer que as informacoes do diretorio sao armazenadas em forma de arvore

ou hierarquicamente, como o DNS e estruturas de diretorios de arquivos. Esse aspecto

facilita as solicitacoes especıficas a um ramo, a implementacao de seguranca em ramos

diferentes da arvore e o controle da utilizacao de banda da rede. [Martins, 2005] Os

dados que serao armazenados na arvore sao denominados de entradas e estes passam de

objetos do mundo real para moldes das estruturas de dados de um diretorio, sendo que

cada entrada tem um nome e um identificador original do objeto (DN).

O processo de autenticacao e utilizado para estabelecer os privilegios

do cliente para cada aplicacao. Para realizar a autenticacao de forma adequada deve-se

entender quais os tipos existentes [Carter, 2003]:

• Autenticacao Anonima: e o processo de interacao com o diretorio usando um

DN e uma senha vazios. Este tipo de autenticacao e usado frequentemente por

aplicacoes do cliente (como por exemplo, os clientes de e-mail procurando um li-

vro de endereco).

• Autenticacao Simples: o login19 em forma de um DN e emitido com uma senha para

o servidor de LDAP. O usuario combina esta senha com o valor do login, ou com

algum outro atributo predefinido que e contido na entrada para o DN especificado.

• Autenticacao Simples sobre SSL20/TLS21: o LDAP utiliza uma camada de trans-

porte que realiza a cifragem dos dados (por SSL/TLS) para garantir que ao informar

um login e uma senha, o usuario tera seus dados transmitidos com maior seguranca.

O uso do LDAP com SSL suporta muitos servidores, devido a popularidade e am-

19Login e a identificacao pessoal de cada usuario no sistema, tipicamente empregando um campo de

usuario e outro de senha.20Secure Socket Layer e um protocolo de seguranca desenvolvido pela Netscape Communications que

tem por finalidade compensar a falta de protecao de dados da Internet atraves de uma camada de codificacao

dos dados que precede a camada ser protegida, podendo ser usado em varios servicos.21Transport Layer Security e um protocolo que fornece privacidade e integridade de comunicacao.

Este permite que aplicacoes cliente/servidor comuniquem-se prevenindo a escuta e/ou modificacao de

comunicacoes privadas sem autorizacao.

Page 39: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

23

plo emprego de servico baseados nessa arquitetura (sendo o servico TCP/HTTPS22

o principal)

• Autenticacao Simples e Camada de Seguranca (SASL - Simple Authentication and

Security Layer): SASL e um esquema de seguranca definido pela RFC 2222 que

pode ser usado para adicionar mecanismos de autenticacao a protocolos como LDAP.

Permite que o servidor e o usuario negociem mecanismos de autenticacao antes de

trasmitirem algumas credenciais do usuario.

Baseando-se nessas formas de autenticacao os desenvolvedores do pro-

tocolo LDAP buscaram integrar a comunicacao do servidor com seus clientes de uma

forma segura. Esta seguranca abrange varias formas e mecanismos, os quais tendem a ser

sincronizados e trabalhar de forma a atender requisitos a um alto nıvel funcional.

Com isso, foram implementados quatro modelos para a utilizacao do

LDAP, os quais abrangem pontos de vista diferentes. Entre eles estao [Voglmaier, 2004]

[LCC/UFMG, 2005]:

• Modelo de Informacao: descreve as unidades basicas usadas pelo LDAP para ar-

mazenar informacoes.

• Modelo de Nome: descreve as estruturas do diretorio.

• Modelo Funcional: define as funcoes que o LDAP oferece para acessar, manter e

controlar o diretorio.

• Modelo de Seguranca: descreve os processos de autenticacao e autorizacao.

Dentre todos os modelos existentes de LDAP, varias caracterısticas sao

definidas e seu funcionamento especificado. Em conjunto a eles, RFC’s foram criadas

objetivando detalhar as informacoes de um diretorio, a forma com que estas sao acessadas

e gerenciadas, a camada onde o protocolo atual, a seguranca necessaria para autenticacao

22O HTTPS e empregado para cifrar os dados transmitidos em conexoes HTTP, sendo amplamnete em-

pregado por empresa que fazem comercio eletronico na Internet.

Page 40: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

24

e para autorizacao do acesso de usuarios, entre outras. Isso fez com que o uso do LDAP se

tornasse mais acessıvel, gerando um aumento significativo de aplicacoes que o utilizam,

afim de gerenciar e integrar os dados de diretorios.

Devido ao aumento significativo do uso do LDAP formas de transmitir

e armazenar informacoes com maior seguranca, dentro de diretorios, tornou-se essencial.

Baseando-se nisto, maneiras de controlar o acesso e realizar autenticacao foram implan-

tadas e aperfeicoadas.

2.3 Seguranca

A seguranca das informacoes em diretorios e essencial, pois previne

contra acessos nao autorizados a determinados tipos de aplicacoes e dos proprios recur-

sos disponibilizados pelo servico. Para buscar uma seguranca em um nıvel aceitavel, e

assim garantir que as funcionalidades dos recursos nao sejam prejudicadas, e necessario

compreender alguns conceitos basicos envolvidos.

Um conceito essencial e o de vulnerabilidade, que refere-se a algum

tipo de falha(tecnica ou nao-tecnica) que possibilita a realizacao de acessos nao autoriza-

dos, podendo ser oriunda de diversos fatores (a nao atualizacao do sistema operacional,

configuracoes incorretas e falta de antivırus, sao os mais comuns). Existindo a vulnerabi-

lidade tem-se a possibilidade dessa ser explorada, implicando no que chama-se ameaca.

A relacao entre as vulnerabilidades existentes e as ameacas possıveis implicam no risco

associado aos recursos vulneraveis. A falta de seguranca proporciona riscos indesejaveis

a rede, dentre os quais relata-se o acesso nao autorizado, manipulacao dos dados e a

utilizacao nao autorizada de computadores e seus recursos, o que se pode chamar de

ameacas. Diante disso, pode-se dizer que risco e a possibilidade existente de que pessoas

nao autorizadas manipulem os dados de uma rede, comprometendo assim as atividades

de uma organizacao. [Carneiro, 2005] [Soares, 1995] [Schneier, 2001]

Devido ao desenvolvimento e a necessidade de protecao das informacoes

dentro de uma rede criou-se o termo seguranca em redes de computadores. Este direciona

seus conceitos para tudo o que e realizado com o objetivo de diminuir as vulnerabilidades

Page 41: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

25

e ameacas existentes em bens (coisas de valor) ou recursos. [Schneier, 2001]

Diante destas informacoes pode-se concluir que a protecao contra o

acesso e manipulacao das informacoes ou do computador de uma rede faz com que a

quantidade de vulnerabilidades diminua. Com isso, as ameacas existentes como, por

exemplo, destruicao, modificacao, roubo, remocao, revelacao, interrupcao ou perda das

informacoes e dos recursos, devem ser minimizadas a nıveis toleraveis23.

A protecao de uma rede pode ser feita atraves de uma Polıtica de Se-

guranca. Este termo nada mais e do que uma combinacao de regras, leis e a pratica des-

tas, em busca de realizar a gerencia e protecao dos dados e recursos de uma instituicao.

[Carneiro, 2005] Para formular uma polıtica seguranca e basicamente necessario identifi-

car as falhas na seguranca e estabelecer o que e e o que nao e possıvel durante a operacao

de um sistema na rede, o que e chamado de analise de riscos. Com isso, deve-se estabele-

cer objetivos e um plano para executa-los. [Soares, 1995]

O objetivo da analise de riscos e identificar e especificar os riscos de

seguranca que o usuario/recurso esta exposto, de acordo com as suas necessidades. Deve-

se levar em conta o impacto que uma falha na seguranca ira causar perda de confidenciali-

dade, integridade ou disponibilidade da informacao. E por isso que e necessario conhecer

os respectivos conceitos [Semola, 2003] [NBR ISO/IEC 17799, 2001]:

• Confidencialidade: significa proteger a informacao, para que apenas pessoas auto-

rizadas tenham acesso a ela.

• Integridade: e proteger a informacao de modificacoes sem permissao.

• Disponibilidade: e o usuario autorizado ter as informacoes acessıveis e prontas para

o uso.

• Autenticidade: significa garantir que a identidade da entidade com a qual se esta

comunicando corresponde aquela desejada.

Baseando-se nestas definicoes, e nas necessidades de seguranca, o LDAP

busca garantir a integridade dos dados, controlar o acesso aos diretorios e proteger essas

23Garantir cem por cento de seguranca e impossıvel. [Schneier, 2001] [Semola, 2003]

Page 42: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

26

informacoes. Para que estes fatores sejam tratados com determinado grau de seguranca

e necessario ter controle sobre autorizacoes e autenticacoes. Estes controles devem ser

estabelecidos antes que um usuario possa ter acesso ao servidor de diretorios.

Conforme fora descrito, na sub-secao 2.2.3, existem varias formas de

conectar-se ao servidor, uma delas e realizar a conexao sem a necessidade de fornecer

uma identidade, este tipo e chamado de Autenticacao Anonima. Alem disso, existem

a autenticacao onde o usuario informa um login e uma senha e a que o acesso e reali-

zado atraves de mecanismos certificados. Cada uma dessas formas possui suas particu-

laridades, e fornece um nıvel de protecao que esta atrelado ao nıvel de risco do tipo de

autenticacao. [Carter, 2003]

A forma de realizar a autenticacao atraves de certificados garante que a

identidade de um determinado usuario seja verdadeira, isso faz com que o servidor tenha

certeza de que o cliente e realmente quem diz ser. Apos ser reconhecido pelo servidor, o

usuario recebera seus direitos de acesso que foram previamente estabelecidos. Este entao

pode realizar solicitacoes e salvar novas informacoes com as limitacoes que dependem do

nıvel do acesso concedido. [Pohlman, 2003]

A implantacao adequada desses requisitos de seguranca em modelos,

padroes, protocolos e aplicacoes trazem como benefıcios um nıvel de seguranca mais

adequado a realidade do ambiente aonde se encontra inserido. Existem varios exemplos

de empresas que tem esses servicos de diretorios e buscam garantir a integridade e a

autenticidade das informacoes, mantendo o diretorio seguro.

2.4 Conclusao

Neste capıtulo foram estudados e analisados os principais conceitos e

o historico do LDAP, assim como a necessidade do surgimento de servicos de diretorio.

Estes servicos motivaram a evolucao e o desenvolvimento de diversos componentes ne-

cessarios (para o funcionamento efetivo com um performance aceitavel) como: proto-

colos, padroes, modelos e aplicacoes desta area. A aplicacao dos servicos de diretorios

somente tornou-se mais difundida/utilizada a partir da necessidade de controle de acesso

Page 43: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

27

e de gerenciamento das informacoes dentro de um esquema baseado em diretorios. Tais

informacoes podem ser definidas como dados de pessoas, organizacoes, produtos ou e-

mail.

O padrao X.500 contribuiu na definicao de uma serie de especificacoes

para o uso de diretorios, entre elas formas de adicionar, modificar, pesquisar e excluir as

informacoes. Para realizar um trabalho mutuo ao X.500, o DAP foi desenvolvido. Diver-

gindo do DAP o LDAP e uma versao mais leve que facilita a aquisicao e a manutencao

de servicos de diretorios, pois este tem menos especificacoes e torna possıvel o uso em

ambientes com limitados recursos computacionais.

Alem disso, o LDAP veio a disponibilizar diversos metodos de con-

trole de acesso, proporcionando autenticacao variada a fim de garantir a integridade das

informacoes. Deste modo, varias maneiras de buscar a seguranca e gerenciar o acesso

foram especificadas e aprimoradas, tornando a utilizacao dos servicos de diretorios mais

segura e consequentemente mais viavel.

Page 44: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Capıtulo 3

LDAP

Os servicos de diretorios surgiram devido a necessidade da integracao

de informacoes contidas em diferentes tipos de sistemas. Tais dados eram armazenados

em diretorios individuais para cada sistema. Com a integracao destas informacoes houve

uma reducao consideravel das redundancias existentes ate entao, isso viabilizou estudos,

criacao de padroes, modelos e protocolos e aperfeicoamento destes.

3.1 Definicao

LDAP e essencialmente um conjunto de protocolos e especificacoes que

servem para acessar certos tipos de dados, ou seja, especificam formas de acesso, busca,

modificacoes, exclusoes e insercoes de informacoes dentro de um diretorio. Tal acesso

ocorre entre clientes que desejam obter/submeter informacoes de um diretorio, controlado

por uma aplicacao servidora, aonde estas encontra-se armazenadas. [Voglmaier, 2004]

Alem disso, o LDAP tambem e considerado leve porque omite muitas operacoes especi-

ficadas pelo X.500, com isso, as definicoes estabelecidas sobre servicos de diretorios sao

mensuradas e aproveitadas baseando-se em seu grau de usabilidade.

Baseando-se nestas definicoes, pode-se dizer que o LDAP proporci-

ona uma maior disponibilidade e performance as informacoes de um diretorio, devido as

simplificacoes das formas de utilizacao das especificacoes propostas pelo X.500. A forma

Page 45: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

29

com que o LDAP foi projetado, tem como base uma nova estruturacao e a organizacao do

seu funcionamento, eliminando camadas de comunicacao e tipos de dados armazenados

de modo a torna-los mais flexıveis e portaveis.

Alem disso, o LDAP proporcionar a integracao de acessos, disponibili-

zando ao usuario uma unica identidade digital. Isso facilita a memorizacao, por ser um

unico login para varios sistemas, e elimina as redundancias de informacoes dentro de um

diretorio. Diante destas formulacoes e embasamentos torna-se necessario um estudo mais

amplo das funcionalidades deste protocolo, de seus servicos e aplicacoes.

3.2 Arquitetura/Funcionamento

O LDAP possui um padrao que especifica a comunicacao cliente/servi-

dor, isso significa que ele nao e um software mas sim a implementacao de um meio de

comunicacao entre eles. Devido a isto, tem-se varias ferramentas que interpretam suas

especificacoes e realizam a execucao destas. [Carter, 2003]

Sendo projetado para ser uma versao resumida do DAP, e usado em con-

junto com diretorios de X.500, foi definido inicialmente para intermediar a comunicacao

entre um cliente e um servidor que abrangesse todas as especificacoes do Modelo OSI.

Devido ao fato de isso mostrar-se por demais complexo (e tambem questionavel quanto

a sua utilidade efetiva), ele foi simplificado para realizar a comunicacao cliente/servidor

baseada no Modelo DARPA, onde as mensagens sao transmitidas sobre a camada de

aplicacao TCP/IP. A diferente abordagem de implementacao da pilha de protocolos origi-

nou-se essencialmente devido a equipe que densenvolveu o TCP/IP (DARPA) empregar

uma abordagem que exigia a comprovacao dos conceitos atraves de implementacoes, en-

quanto que a ISO (responsavel pelo desenvolvimento do OSI) preocupava-se mais com a

abordagem conceitual, resultando que quando ambas as equipes terminaram as suas pes-

quisas a DARPA ja possuıa um protocolo operacional enquanto a outra so dispunha de

um modelo referencial (o qual nao havia comprovacao se sua implementacao era viavel

ou nao). As diferencas entre as duas abordagens de desenvolvimento de protocolo podem

ser percebidas na Figura 3.1. [Carter, 2003]

Page 46: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

30

Figura 3.1: Representacao dos modelos OSI e DARPA

O fato de empregar o Modelo DARPA, ao inves do Modelo OSI espe-

cificado no DAP, fez com que a implementacao do LDAP fosse viabilizada, pois mui-

tas caracterısticas definidas no DAP, raramente utilizadas, foram eliminadas. Com base

nesta simplificacao, o LDAP adquiriu vantagens, fez com que sua popularidade e aces-

sibilidade se tornassem amplas e que a comunicacao cliente/servidor perdesse requisitos

desnecessarios anteriormente estabelecidos.

Nesta forma de comunicacao estabelecida pelo LDAP, a unidade basica

de informacao e transmitida atraves de um envelope de mensagem, tambem conhecido

como Unidade de Dados do Protocolo (PDU), conforme a Figura 3.2. Este envelope tem

um formato bem definido e permite que a comunicacao cliente/servidor seja realizada, em

forma de mensagens, onde solicitacoes e respostas sao enviadas. Para realizar de forma

adequada esta troca de mensagens, a PDU deve conter dois pedacos de informacao: um

identificador de mensagem e uma operacao. [Voglmaier, 2004]:

Figura 3.2: Representacao do PDU e de seu formato

Diante deste formato, pode-se dizer que ambas as partes sao essenciais,

visto que, o identificador garante que os pedidos e as respostas sejam sincronizados e que

Page 47: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

31

uma resposta seja nomeada a cada pedido, vinda do servidor ou do cliente. Ja a operacao

define o que foi solicitado ao servidor de LDAP. A Tabela 3.1 apresenta algumas das

possıveis operacoes disponibilizadas. [Voglmaier, 2004]

Tabela 3.1: Operacoes LDAP

Operacao Descricao

bindRequest Solicitacao de conexaobindResponse Resposta a solicitacao de conexaounbindRequest Requisicao para desconexaosearchRequest Solicitacao de buscasearchResEntry Entrada resultante da buscasearchResDone Resultado da busca finalizadosearchResRef Referencia do resultado da busca

modifyRequest Pedido de modificacao de informacoesmodifyResponse Resposta a modificacao

addRequest Solicitacao de adicao de dadosaddResponse Resposta a solicitacao de adicaodelRequest Requisicao para apagar informacoes

delResponse Resposta a requisicao de deletarmodDNRequest Solicitacao de modificacao de DN

modDNResponse Resposta a solicitacao de modificar um DNabandonRequest Requisicao de abandono

extendedReq Solicitacao de estencaoextendedResponse Resposta ao pedido de estencao

O cliente faz um pedido ao servidor LDAP, conforme a Tabela 3.1, e

este por sua vez executa tantas operacoes necessarias para realizar a solicitacao. Apos o

processamento o servidor envia os resultados para representar o sucesso ou uma mensa-

gem para indicar a falha na execucao do pedido. Diante disto, pode-se concluir que para

todos o pedidos existe uma solicitacao e normalmente uma resposta, porem isso podera

nao ocorrer para a operacao unbind (sendo que esta realiza a desconexao e nao requer ne-

nhuma resposta). Outro ponto relevante de ser comentado e que ao usuario solicitar uma

busca, ele pode receber tres tipos de resultados, como os dados resultantes do pedido, uma

mensagem que indica a execucao ou uma referencia que indique onde as informacoes re-

queridas podem ser achadas. [Voglmaier, 2004]

Analisando o funcionamento da operacao entre o pedido e a resposta

constata-se que o LDAP estabelece uma comunicacao comum entre cliente/servidor, sendo

que esta e representada por envio e recebimento de mensagens. O PDU realiza esta trans-

Page 48: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

32

missao atraves de um envelope que contem um identificador e uma operacao, isso facilita

ao servidor enviar um determinado tipo de resposta a solicitacao do cliente. Com isso,

a comunicacao torna-se mais detalhada, no sentido de que qualquer solicitacao recebe

uma mensagem para avisar se a operacao ocorreu como esperado ou se algum erro foi

identificado.

Este detalhamento e a necessidade de gerar novas alteracoes na especifi-

cacao do LDAP deram origem a duas novas versoes. Entretanto as tres versoes existentes

buscam, cada vez mais, aprimorar o acesso e a gerencia de diretorios, originando diversas

aplicacoes com este objetivo.

3.2.1 Versoes

A maior parte do desenvolvimento do LDAP foi coordenado pela Uni-

versidade de Michigan, sendo seus primeiros protocolos estao definidos na RFC 1202

- Directory Assistance Service e na RFC 1249 - DIXIE Protocol Specification. Na RFC

1202 encontra-se a definicao de um mecanismo pelo qual um usuario pode acessar uma in-

terface DAP usando uma conexao de TCP/IP. Ja a RFC 1249, especifica uma simplificacao

do transporte e de protocolos de apresentacao para a utilizacao de servicos de diretorios.

[Archives, 2005]

A primeira especificacao de LDAP foi na RFC 1487 - X.500 Lightweight

Directory Access Protocol, que apos ser aprimorada, melhor estruturada e simplificada foi

substituıda pela RFC 1777, Lightweight Directory Access Protocol. Esta RFC tambem e

conhecida como a que deu origem a segunda versao do LDAP. [Archives, 2005]

A terceira versao fornece/define um modelo mais simples para os pro-

gramadores e administradores. Esta definiu as operacoes de uma forma sucinta e eliminou

as caracterısticas raramente usadas. Com isso, o objetivo era de aumentar o uso do LDAP

em aplicacoes e fazer isto de uma forma facil.

Baseando-se na origem destas, consideraveis diferencas entre a segunda

e a terceira versao foram apresentadas, relatando a melhoria de funcionalidades existente

entre ambas. Principais caracterısticas da terceira versao [Voglmaier, 2004]:

Page 49: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

33

• Muitos elementos de dados podem ser codificados como strings ordinarias.

• Indicacoes podem ser retornadas. Caso um servidor de diretorio nao contenha as

informacoes pedidas, este pode indicar outro servidor de diretorio que as tenha.

• Mecanismos SASL podem ser usados com LDAP para prover servicos de seguranca.

• Foram internacionalizados valores de atributo e distintos nomes com uso fixo da

quantidade de carateres (10,646 carateres).

• O protocolo pode ser estendido para suportar novas operacoes e podem ser usados

controles para estender operacoes existentes.

• A descricao das estruturas de dados de um diretorio e publicada no diretorio para

ser utilizada pelos clientes.

A terceira versao do LDAP e a versao atual e define varias caracterısticas

adicionais que nao eram contempladas na segunda versao. Sua especificacao e mais clara

e detalhada, tornando este protocolo mais divulgado e utilizado em diferentes aplicacoes.

Alem disso, a terceira versao de LDAP disponibiliza maior protecao as informacoes de

um diretorio, implementando recursos mais seguros para autenticacao e autorizacao de

usuarios.

3.2.2 Aplicacoes

Devido ao fato de que o LDAP realizar a comunicacao cliente/servidor

ele nao define como ou onde os dados sao armazenados. A escolha de onde as informacoes

ficarao e independente da implementacao sendo que o repositorio pode ser implementado

por diversas aplicacoes, como o OpenLDAP, o Netscape, o Microsoft AD, o IBM Tivoli

Directory Server, o Novell eDirectory e o AE Slapd. Estas aplicacoes sao baseadas nos

requisitos da implementacao do LDAP, feitos pela Universidade de Michigan.

Page 50: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

34

3.2.2.1 OpenLDAP

O OpenLDAP consiste em uma implementacao para realizar o acesso e

a gerencia das informacoes dentro de um diretorio. Seu projeto e gerenciado pela Open-

LDAP Foundation, sendo que este descreve fundamentos do LDAP como DIT’s, esque-

mas, indicacoes, classes de objetos, ligacao, seguranca, entre outros. [MacIsaac, 2005]

Sua implementacao baseia-se em codigo livre, pois o OpenLDAP foi

desenvolvido para trabalhar em ambientes que envolvam os usuarios dos S.O. GNU/Linux,

MS-Windows NT, AIX, BSD e Solaris. O OpenLDAP foi implementado na segunda

versao do LDAP, porem so se tornou estavel e foi liberado na terceira versao, fornecendo

suporte para replicacao de servidores e integracao com demais servidores LDAP de outras

plataformas. [Marshall, 2005]

A implementacao do OpenLDAP prove de muitas funcionalidades, co-

mo suporte a SSL/TLS, autenticacao com SASL, integracao com Kerberos, conceitos do

padrao X.500, controle de acesso pelo usuario ou grupo e apoio a LDBM (Lightweight

Database Management) e SQL (Structured Query Language). [Marshall, 2005] Com

base nestas utilidades, pode-se dizer que o OpenLDAP foi desenvolvido para garantir a

seguranca, autenticacao, autorizacao e acesso, buscando possibilitar aos usuarios uma co-

nexao com o servidor LDAP e os servicos previamente estabelecidos pelo padrao X.500.

O Netscape utiliza uma administracao leve da base de dados do sistema

(LDBM). Esta base de dados e denominada como um banco de dados embutido, o qual

evita o consumo de recursos e atividades desnecessarias. Ja o OpenLDAP oferece uma

diversidade de escolhas para este tipo de armazenamento, isto inclui varias bases de dados

embutidas ou a criacao de sua propria base. Este ainda possibilita o acesso a um SQL,

isto lhe permite usar um RDBMS1(Relational Database Management System). Assim

o OpenLDAP permite combinar o LDAP com um sistema de base de dados relacional.

Entretanto, um RDBMS e um servidor de endereco de diretorio tem propositos diferentes.

Estas diferencas podem ser [Voglmaier, 2004]:

• Um servidor de diretorios nao reconhece uma transacao. O proposito de uma

1RDBMS e um sistema que realiza a gerencia de uma base de dados relacional.

Page 51: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

35

transacao e garantir consistencia de dados. Um RDBMS oferece apoio transaci-

onal, porem o LDAP nao garante tal integridade de dados.

• O servidor de diretorio nao oferece suporte entre diferentes dados.

• Um servidor de diretorio nao reconhece as utilidades de realizar a construcao de

relatorios.

• O servidor de diretorio tem um mecanismo complicado de replicacao. Este tambem

apoia um modelo multi-mestres alem do modelo de replicacao mestre-escravo.

• Os diretorios surgiram com o intuıto de serem utilizados para realizar a leitura dos

dados e nao para fazer atualizacoes. Aplicacoes que atualizam varios dados por

minuto nao sao candidata para servicos de diretorios.

• Os diretorios sao organizados de modo hierarquico. Esta forma de armazenar

informacoes ajuda a evitar redundancias de dados.

• Os diretorios confiam em padroes abertos que garantem a interoperabilidade de

aplicacoes diferentes em distintas plataformas.

• Na utilizacao de diretorios os usuarios tem acesso a funcoes como distribuicao de

dados e replicacao destes dentro do software.

• Os diretorios oferecem uma forma leve de conectar um repositorio, trabalhar com

os dados e fechar a conexao. Um RDBMS necessita de mais tempo para estabelecer

uma conexao. Porem, apos estabelecer conexao o RDBMS oferece uma quantidade

maior de servicos.

Estes fatores e a forma com que e combinado o LDAP com um RDBMS,

influenciam na escolha, na performance e nas especificacoes das aplicacoes existentes.

Estas aplicacoes servem como uma interface a utilizacao do protocolo e alem destas mui-

tas outras podem ser integradas ao LDAP e podem auxiliar os usuarios a utilizacao dos

servicos de diretorios.

Page 52: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

36

3.2.2.2 Active Directory

O Active Directory tem o objetivo criar e manipular informacoes de

um diretorio, fornecendo funcionalidades de servicos de diretorios incluindo ferramen-

tas de organizacao, gerencia, controle de acessos e permissoes. Este foi desenvolvido

pela Microsoft para ser integrado a versao MS-Windows 2000 e suas versoes posteriores.

[Brito, 2005] [Quirino, 2005]

Diante de suas funcionalidades o AD centraliza os recursos de rede, fa-

zendo com que sua topologia torne-se transparente, Figura 3.3. Isto possibilita, ao usuario,

obter qualquer recurso e acesso sem saber onde o recurso esta ou como ele esta fisicamente

conectado a rede. [Brito, 2005]

Figura 3.3: Topologia de rede transparente para usuarios

Na Figura 3.3 sao representados varios tipos de recursos, aplicacoes

Page 53: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

37

e usuarios os quais de uma forma geral sao centralizados aos servicos do AD. Todas

os recursos como usuarios, clientes, servidores, dispositivos, aplicacoes, aplicativos e

servicos de diretorios sao representados com algumas caracterısticas as quais fazem com

que eles parecam um unico recurso, ou seja, nao e necessario saber onde estes encontram-

se ou como funcionam.

Com base nas suas caracterısticas de implementacao, o AD pode ser

utilizado com qualquer aplicativo que esteja previamente autenticado no controlador de

domınio, seja capaz de utilizar o protocolo LDAP e conheca previamente o esquema do

diretorio, o que teoricamente o torna portavel a qualquer plataforma. Porem, alem de ser

proprietario, exige licenciamento. [Quirino, 2005] [Brito, 2005]

A organizacao do AD e feita em secoes e subsecoes e isto permite o

armazenamento de um grande numero de objetos. Com isso, os recursos podem ser ex-

pandidos conforme o crescimento da organizacao, mantendo o gerenciamento unico com

um servidor e centenas de objetos ou entao com milhares de servidores e milhoes de

objetos. [Quirino, 2005] [Brito, 2005]

No AD os recursos de rede, como usuarios, grupos, computadores, im-

pressoras, servidores, domınios e sıtios na rede, sao os objetos e cada objeto possui suas

caracterısticas especıficas, as quais sao utilizadas para agrega-los em unidades organi-

zacionais distintas. Estes objetos sao armazenados em um banco de dados distribuıdo,

possibilitando a gerencia de um unico administrador. [Quirino, 2005] [Brito, 2005]

Para realizar este gerenciamento, foram criadas unidades organizacio-

nais, que reunem objetos com atributos comuns, permitindo que polıticas e delegacoes

sejam aplicadas a todos os elementos pertencentes aquele agrupamento. Alem disso, um

objeto pode pertencer a diversas unidades organizacionais, adquirindo caracterısticas dos

grupos aos quais participa. [Quirino, 2005] [Brito, 2005]

No AD o esquema contem as definicoes dos objetos, de forma que estes

devem obedecer as mesmas regras. Existem dois tipos de definicoes no esquema , a classe

de objetos e os atributos. As classes de objetos descrevem os objetos que podem ser cria-

dos em um diretorio e definem colecoes de atributos. Estes atributos sao definidos apenas

uma vez e podem ser utilizados em varias classes de objetos. Este esquema e armazenado

Page 54: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

38

no banco de dados relacional, possibilitando assim a disponibilidade dinamica aos aplica-

tivos de usuario, onde outros aplicativos de usuario podem ler o esquema para descobrir

que objetos e propriedades estao disponıveis para utilizacao, e a atualizacao dinamica,

onde um aplicativo pode estender o esquema adicionando novos atributos e classes de

objetos.

A implementacao do AD consiste em um servico constituıdo de uma

serie de composicoes de aplicativos escolhidos pela Microsoft. Como o OpenLDAP e

o Netscape, ele e uma aplicacao que serve de interface entre cliente e servidor. Estas

implementacoes tem atribuıdas, em suas funcionalidades, as definicoes de servicos de

diretorios, entre eles a forma de acesso e gerenciamento das informacoes, e a utilizacao

ou integracao ao LDAP.

3.2.2.3 IBM Tivoli Directory Server

O Tivoli Directory Server foi desenvolvido pela IBM, baseado nas es-

pecificacoes do protocolo LDAP. Este tem como vantagem a utilizacao do IBM DB2, que

consiste em um sistema gerenciador de banco de dados. Com base nisto, o Tivoli Direc-

tory Server tem um armazenador de informacoes, o que e diferente para outros servicos

de diretorio, os quais procuram utilizar em suas implementacoes bases de dados menos

sofisticadas e especializadas em leitura. [TUTTLE, 2005] [ALVES, 2005]

Esta ferramenta disponibiliza suporte a varias ferramentas, tanto para

administracao do diretorio como para suporte a ferramentas via WEB. Alem disso, dis-

ponibiliza documentacao, para criacao de ferramentas clientes a fim de utiliza-la em seu

diretorio.

O Tivoli Directory Server pode ser utilizado em diferentes sistemas sis-

temas operacionais, como no MS-Windows 2000/2003 Server, Linux, AIX e no IBM

Z/Series. Este ainda pode ser considerado, depois do OpenLDAP, um servicos de di-

retorio com tecnologia aberta, ou seja, um dos servicos mais acessıvel do momento. Com

base nisto, este possui suporte a varios protocolos de seguranca, dentre eles o SASL e o

Kerberos.

Page 55: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

39

3.2.2.4 Novell eDirectory

O eDirectory utiliza uma infra-estrutura baseada em padroes que per-

mite um controle facil e flexıvel diante as polıticas de seguranca da rede, aos admi-

nistradores. Servicos de criptografia e de autenticacao sao integrados com o diretorio,

possibilitando aos administradores um gerenciamento mais centralizado e controlado.

[Naguel, 2005] [ALVES, 2005]

Este e baseado na implementacao dos conceitos de LDAP e possui su-

porte a todas as especificacoes desse protocolo, sendo compatıvel com XML(Extensible

Markup Language), DSML(Directory Services Markup Language), SOAP(Simple Object

Access Protocol), entre outros. Alem disso, pode ser utilizado em plataformas GNU/Linux,

MS-Windows, SUN Solaris, IBM AIX, NOVEL NetWare e HP-UX. [EDirectory, 2005]

O eDirectory disponibiliza um controle real sobre a autenticacao e au-

torizacao dos usuarios, no sentido de que caso ocorra alguma interrupcao diante o contato

cliente/servidor, os recursos cedidos ao usuario sao imediatamente bloqueados. Alem

disso, ele possui suporte a cartoes inteligentes, tokens, certificados digitais, biometria e

alguns outros metodos de autenticacao.

3.2.2.5 AE Slapd

O AE Slapd e uma solucao de servidores LDAP, para plataformas como

GNU/Linux e MS-Windows. Este foi desenvolvido pela APS Engineering e tem como

base as funcionalidades da terceira versao do LDAP. [Naguel, 2005] [ALVES, 2005]

Diante as demais solucoes, pode-se dizer que este e menos complexo,

por utilizar um servico de acesso a diretorios simplificado. Porem este mostra-se eficiente

diante objetivos que nao requerem grande capacidade de armazenamento de informacoes.

Tambem possui suporte para administracao via web e para sistemas que necessitem de

diretorio e possuam o padrao LDAP como protocolo de comunicacao.

Page 56: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

40

3.3 Modelos

Para uma boa utilizacao dos recursos disponibilizados pelo LDAP, deve-

se entender que e necessario realizar a modelagem das informacoes de um diretorio. Por

modelagem deve-se entender como o modo de sistematizar as informacoes de modo que

fiquem estruturadas e tenham o seu acesso otimizado. Para atingir tal estado e necessaria

a compreensao de todos os modelos (Informacao, Nomes, Funcionalidade e Seguranca)

que sao empregados na elaboracao dos diretorios e o funcionamento do protocolo de

comunicacao LDAP.

Tais modelos definem, respectivamente, as entradas de dados de um

diretorio, como estas sao organizadas e disponibilizadas, as funcoes para realizar o acesso,

a gerencia e as formas de autenticacao e autorizacao fornecidas pelo servico LDAP. Dentre

estes conceitos, varias sao as operacoes e as especificacoes envolvidas, todas com suas

funcoes e seus respectivos objetivos, buscando facilitar a comunicacao cliente/servidor.

3.3.1 Modelo de Informacao

O Modelo de Informacao (Information Model) define todas as entradas

de dados num diretorio. Tais entradas sao compostas de atributos, cada atributo tem um

tipo e um ou mais valores, conforme mostra a Figura 3.4. O tipo de atributo define os va-

lores que este pode ter, como numeros de telefone, nomes. Estes tipos sao estabelecidos

na definicao da sintaxe, que define qual tipo de valor pode ser armazenado no atributo.

[Voglmaier, 2004] [Vitorio, 2005] [Isquierdo, 2001]

Alem de definir quais informacoes podem ser armazenadas nos atribu-

tos, a sintaxe especifica como os valores devem se comportar durante as operacoes dentro

de um diretorio, como buscas, alteracoes, inclusoes ou exclusoes. Alguns exemplos de

sintaxe podem ser observados na Tabela 3.2.

Para exemplificar as funcionalidades geradas pela sintaxe, deve-se re-

lacionar os atributos a estas, gerando assim uma nova especificacao para os dados que

deseja-se atribuir ao diretorio. Na Tabela 3.3 tem-se como atributos o nome, sobrenome

e o telefone, suas respectivas sintaxes, descricoes e um exemplo.

Page 57: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

41

Figura 3.4: Entradas e Atributos

Tabela 3.2: Exemplos de Sintaxe

Sintaxe Descricao

bin Informacao Binariaces Maiusculas e minusculas sao significantes na comparacao (case exact string)cis Maiusculas e minusculas nao sao significantes na comparacao (case ignore string)tel Numeros telefonicos. Numeros sao tratados como texto, sem considerar espacos em brancodn Diferenciar os objetos da arvore

Tabela 3.3: Exemplos de atributos relacionados as suas sintaxes

Atributos Sintaxe Descricao Exemplo

nome cis Primeiro nome Camilasobrenome cis Sobrenome da pessoa Tonezer

telefone tel Numero do telefone 445-0000

Estas informacoes sao organizadas em uma arvore de informacao de di-

retorio (DIT). O topo da DIT e a raiz do diretorio, este tambem e conhecido como diretorio

de entrada especıfica, nela sao listados os tipos de objetos que podem ser armazenados em

um diretorio e os atributos destes. [Vitorio, 2005] [Bernardes, 2005] [Isquierdo, 2001]

Estes atributos, referentes a uma determinada entrada, formam um grupo

que e chamado de Object Class. Alem disso, ao ser instanciada uma entrada pode-se

atribuır a esta uma ou mais classes de objetos. Estas classes possuem atributos opcionais

ou exigidos que fazem parte do diretorio. [Voglmaier, 2004] [Vitorio, 2005]

Page 58: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

42

O diretorio LDAP e configurado para reconhecer varias classes de ob-

jeto, as quais definem a natureza das entradas no diretorio. Com base nestas especificacoes,

a implementacao do servidor de diretorio LDAP precisa de varias definicoes de classes de

objetos para especificar que tipo de entrada o diretorio pode ter. [Voglmaier, 2004]

Como o armazenamento do sistema e hierarquico, pode-se ter entradas

pertencentes a mais de uma classe de objeto. Estas entradas pertencem a classe especıfica

e tambem de onde esta classe foi derivada ou estendida. [Voglmaier, 2004]

Devido a estes conceitos, pode-se dizer que um objeto de LDAP e uma

representacao de um objeto do mundo real no diretorio, os quais usam um conjunto de

propriedades comuns e podem ser classificados. Esta classificacao e baseada em um con-

junto comum de atributos, os quais conduzem para uma hierarquia de objetos e dao origem

a classes de objeto que podem ser abstratas, estruturais ou auxiliares. [Voglmaier, 2004]

O nıvel superior desta hierarquia e construıdo por classes de tipo abs-

trata, sendo que este tipo de classificacao define um objeto que nao necessita ser imple-

mentado de fato. Um exemplo disto e a classe do topo, onde nenhuma entrada e imple-

mentada, mas e dela que todas as outras classes serao derivadas. [Voglmaier, 2004]

O tipo estrutural define os dados que serao armazenados no diretorio,

ou seja, estabelece a estrutura do diretorio. Estas informacoes que serao inseridas podem

ser dados de uma pessoa ou de organizacoes. Alem disso, algumas implementacoes de

servidor usam classes estruturais para definir onde as informacoes devem ser colocadas

na arvore de diretorio. [Voglmaier, 2004]

Ja a auxiliar e definida para situacoes que necessitam de uma nova

classe de objeto que estenda de uma outra ja existente. Este tipo nao ajusta a estru-

tura de objeto, para isto deve-se definir todas as informacoes que o novo objeto precisa

conter junto com uma classe auxiliar e este pode ser colocado em qualquer lugar da DIT.

[Voglmaier, 2004]

Estes tipos de classificacoes ajudam a realizar a configuracao e a estru-

turacao dos objetos e de suas classes dentro de um diretorio de dados, ou dentro da arvore

de informacoes de diretorios. Todos os dados inseridos na DIT devem ser especificados

de acordo com os tipos existentes e devem manter um padrao previamente estabelecido.

Page 59: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

43

Baseando-se nisto, pode-se dizer que o Modelo de Informacoes e de

extrema importancia na definicao das entradas de dados e de seus respectivos atributos e

tipos. Alem disso, a especificacao da sintaxe e a definicao das classes de objetos auxiliam

na modelagem das informacoes dentro da DIT.

3.3.2 Modelo de Nome

O Modelo de Nome (Naming Model) descreve como as estruturas de

dados, entradas e classes de objeto, que usam elementos basicos, sao constituıdas, orga-

nizadas e identificadas. Este modelo define alguns conceitos sobre a DIT e a estrutura

de definicao dos nomes que especificam as entradas. [Voglmaier, 2004] [Vitorio, 2005]

[Isquierdo, 2001]

A DIT realiza a organizacao de seus dados, tornando mais facil fazer

a referenciacao destes, e define a estrutura das entradas do diretorio. Na Figura 3.5

pode-se observar um exemplo desta forma de organizacao, onde ”o”representa a universi-

dade , ”ou”determina os departamentos ou unidades organizacionais e ”uid”identifica os

usuarios para cada departamento. [Voglmaier, 2004] [Isquierdo, 2001]

Figura 3.5: Exemplo de uma Arvore de Informacoes de Diretorio

Estas entradas de dados tem atributos que sao baseadas em nomes dis-

tintos (DN), os quais dao sentido ao Modelo de Nomes. O DN e utilizado para realizar

Page 60: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

44

a identificacao unica para cada entrada, ou seja, para tornar uma entrada unica entre as

demais existentes em um diretorio.

Os DN’s sao compostos de uma sequencia de relativos nomes distintos

(RDN - Relative Distinguished Name) e cada RDN corresponde a um ramo na DIT, desde

a raiz ate a entrada, a qual o DN faz referencia. Cada RDN e composto de atributos de sua

entrada no diretorio, o qual pode ser representado pela estrutura: <nome do atributo> =

<valor>, como cn = Camila Tonezer. [Voglmaier, 2004] [Isquierdo, 2001]

Ja um DN e formado por uma serie de RDN’s separados por vırgulas

como: cn = Camila Tonezer, o=pai, c=br. Neste exemplo, o DN e composto pelo RDN cn

= Camila Tonezer, que caracteriza um atributo de entrada, adicionado ao DN pai o=pai,

c=br. Com base nisto, uma serie de atributos e suas representacoes sao apresentados na

Tabela 3.4, os quais comumente sao indicados por strings que buscam facilitar o reconhe-

cimento [Voglmaier, 2004].

Tabela 3.4: Relacao dos principais atributos com suas respectivas representacoes

Tipo de Atributo String Definicao

CommonName cn Atributo que representa um nomeLocalityName l Atributo para expressar nome de localidades

StateOrProvinceName st Atributo para dar nome a provıncias ou estadosOrganizationName o Atributo que nomeia organizacoes

OrganizationalUnitName ou Atributo para nomear unidades organizacionaisCountryName c Atributo que representa nome de paısStreetAddress street Atributo que representa o endereco da rua

domainComponent dc Atributo para dar nome aos componentes de domıniouserid uid Atributo para indicar usuarios

Estes tipos de atributos combinados entre si e bem organizados, cons-

tituem os nos da DIT. Para a organizacao da arvore, uma sequencia relativamente com-

binada ao mundo real deve ser estabelecida e seguida pelas novas entradas que apare-

cerao, mantendo padrao. Alem desta distribuicao interna, uma DIT pode ter seus ramos

distribuıdos por mais de um computador, sendo possıvel encontrar um servidor LDAP

apenas com parte da arvore. Estas divisoes da DIT podem ser representadas por sufixos,

conforme Figura 3.6. Com isso, torna-se necessaria a existencia de uma ligacao entre

o servidor LDAP que armazena o ramo superior e aquele que armazena o ramo inferior

Page 61: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

45

da arvore, sendo esta chamada de referencia. Diante desta forma de comunicacao entre

servidores e possıvel realizar a localizacao de informacoes. [Voglmaier, 2004]

Figura 3.6: Divisao de ramos

Na Figura 3.6, quando um cliente conecta-se ao servidor LDAP e soli-

cita uma informacao, o servidor processa este pedido e verifica que os dados solicitados

encontram-se em outro servidor. Diante disto, o servidor 1 envia uma resposta ao cliente

informando a referencia do local onde as informacoes estarao, conforme mostra a Figura

3.7. O cliente por sua vez, decide se seguira a indicacao e retoma ou nao a requisicao,

agora ao servidor indicado.

Figura 3.7: Servidor LDAP retornando referencia ao pedido

Alem disso, o servidor 1 pode realizar uma indicacao imediata, con-

Page 62: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

46

forme a Figura 3.8, na qual a requisicao e feita pelo cliente e o servidor solicitado efetua a

comunicacao com o servidor onde os dados se encontram. Apos obter estas informacoes

o servidor 1 retorna-as ao cliente.

Figura 3.8: Servidor LDAP retornando resposta ao pedido

Para controlar as formas de realizar uma indicacao correta, surgiram

ferramentas que disponibilizam estas aplicacoes. Estas formas nao existem na segunda

versao do LDAP, elas somente apareceram na terceira versao, buscando padronizar as

entradas e suas respectivas sintaxes. [Voglmaier, 2004]

Sendo assim, o Modelo de Nome tem como objetivo organizar as en-

tradas dentro da arvore de informacoes de diretorio e definir como estas podem ser con-

figuradas e representadas atraves de uma sintaxe. Alem disto, este modelo define formas

de realizar a comunicacao de informacoes que estao em diferentes servidores, ou seja,

formas de comunicar partes separadas da DIT atraves de referencia. Estas referencias ser-

vem para informar o cliente de onde estao os dados solicitados ou, ate mesmo, responder

a solicitacoes cuja resposta se encontra em outro servidor LDAP.

3.3.3 Modelo Funcional

O Modelo Funcional descreve como as operacoes podem ser executadas

dentro do diretorio, ou seja, como o servidor trata as solicitacoes do usuario e como este

deve faze-las. Com base nisto, pode-se dizer que este modelo ainda especifica as funcoes

Page 63: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

47

que o LDAP oferece para realizar o acesso e a gerencia das informacoes dentro de um

diretorio. [Voglmaier, 2004] [Vitorio, 2005] [Isquierdo, 2001]

Para que a comunicacao, cliente/servidor, possa ocorrer sao necessarios

determinados aspectos como classe de objeto, tipo de atributo, sintaxe, referencias e um

identificador de objeto unico (OID - Unique Object Identifier). Desta forma, o padrao do

LDAP descreve a natureza dos pedidos que o cliente pode enviar ao servidor, conforme

definido na RFC 2251. [Voglmaier, 2004]

Depois de receber o pedido, o servidor executa a operacao para somente

assim enviar uma resposta. Como as operacoes devem ser resolvidas e decidido pelo de-

senvolvedor ou pela organizacao que implementa o servidor de diretorio, porem estas sao

classificadas e definidas neste modelo, o qual objetiva o funcionamento da implantacao

do LDAP.

Para realizar a parte funcional da comunicacao existem tres tipos de

operacoes, sendo que todas consistem em pedidos feitos por um cliente de LDAP a um

servidor de LDAP [Voglmaier, 2004] [Quirino, 2005]:

1. Operacoes de interrogacao podem ser de dois tipos: de busca e de comparacao.

A de busca baseia-se na parte do diretorio onde as entradas que espelham-se em

uma condicao especıfica sao filtradas. Neste processo, e possıvel especificar como

a operacao deve acessar as informacoes do diretorio, o ponto da DIT onde o servi-

dor deveria comecar a busca, os atributos que envolvem a questao e um prazo para

o termino da busca no servidor. A comparacao realiza uma funcao semelhante a

operacao de busca, acessando o diretorio para achar algo referente a uma entrada.

Porem, este nao retorna nenhum dado somente mensagens informando se e verda-

deira ou falsa a comparacao.

2. Operacoes de atualizacao sao constituıdas de soma, exclusao, modificacao de DN e

simplesmente modificacao. A soma serve para adicionar uma entrada no diretorio,

o oposto da exclusao que serve para retirar uma determinada entrada da arvore. A

operacao de modificacao pode alterar ou ate mesmo apagar um ou mais atributos

de uma entrada. Ja a modificacao de DN, na terceira versao de LDAP, realiza a

Page 64: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

48

alteracao dos dados incluindo a modificacao do DN, onde e removida a sua entrada

referente ao seu pai e inserida uma nova. Na segunda versao este processo era mais

simples e somente o DN relativo era alterado.

3. Operacao de autenticacao e formada por conexao e desconexao e a de controle por

abandono. A operacao de conexao permite que um usuario estabeleca conexao

com um servidor de diretorio LDAP. Esta e uma operacao de autenticacao pois o

usuario entra com um login e uma senha, os quais sao analisados pelo servidor. A

operacao de desconexao finaliza a conexao previamente estabelecida. Por sua vez,

a de abandono interrompe a conexao entre o cliente e servidor.

Estas operacoes detalham um nıvel muito abrangente de como e rea-

lizada a parte funcional do LDAP. Com o Modelo Funcional pode-se entender como e

realizada a gerencia das informacoes, entre ela alteracoes, buscas, exclusoes e adicoes,

e as formas de acesso ao diretorio, como autenticacao e controle. Buscando uma me-

lhor especificacao destas operacoes, torna-se importante um estudo mais detalhado das

informacoes e das funcionalidades referentes a estas.

3.3.3.1 Operacoes de Interrogacao

A operacao de busca (search) e realizada quando um usuario solicita ao

servidor de diretorios informacoes especıficas. Estes dados sao filtrados e enviados como

resposta ao cliente. Esta e a operacao mais complicada, pois pode ter muitos parametros,

como base, escopo, definicao de pseudonimos, limite de tamanho, limite de tempo, atri-

buto de retorno, filtro de busca, e lista de atributos. [Quirino, 2005]

A base define onde o processo deve comecar, ja o escopo especifica a

extensao da busca dentro da DIT. Na Figura 3.9, estao dispostos a base e o escopo da

busca, sendo que estes tem valores iguais, ou seja, um unico objeto (baseObject) repre-

senta o escopo.

Alem deste tipo, pode-se ter um escopo envolvendo um nıvel da arvore,

conforme a Figura 3.10. Neste a busca e feita nos objetos basicos e em seus filhos (sin-

gleLevel).

Page 65: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

49

Figura 3.9: Busca com escopo igual a base

Figura 3.10: Busca com escopo igual a um nıvel da DIT

Outro exemplo pode-se obter na Figura 3.11, onde o escopo da busca

envolve uma parte da arvore, ou uma sub-arvore. Com isso, a busca estende-se a toda

sub-arvore do objeto basico.

Page 66: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

50

Figura 3.11: Busca onde o escopo envolve uma parte da arvore

As definicoes de pseudonimos (derefAliases) indicam como estes de-

vem ser controlados, sendo usados como ligacoes simbolicas em um sistema de arquivo.

Em vez de conter uma entrada, este contem um objeto de uma classe de objetos particu-

lares que aponta a entrada que contem os dados reais. [Voglmaier, 2004] [Quirino, 2005]

O emprego deste tipo de parametro facilita ao servidor encontrar o que e desejado.

O tamanho limite (sizeLimit) e o limite de tempo (timeLimit) determi-

nam, respectivamente, o numero maximo de entradas e o tempo maximo em segundos

que deve levar a busca. Estes valores, se nao especificados pelo cliente serao definidos

como zero. [Voglmaier, 2004] [Quirino, 2005]

O atributo de retorno (attrOnly) trabalha com tipos booleanos, sendo

que se um valor indicar verdade serao retornados os tipos de atributos, porem se indicar

falso este retorna os tipos e os valores dos atributos. [Voglmaier, 2004] [Quirino, 2005]

Com isso, pode-se dizer que este parametro vem atribuir as respostas, fornecidas pelo

servidor ao usuario, dados que fazem parte da solicitacao feita.

Page 67: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

51

Os filtros de busca (searchFilter) analisam as condicoes da solicitacao e

disponibilizam ao cliente os resultados referentes as condicoes de busca. Estas condicoes

podem ser combinadas com tipos booleanos utilizando os operadores ”e”, ”ou”, e ”nao”.

Para retornar os resultados estes filtros devem verificar se os dados sao identicos ou nao as

condicoes existentes, com isso e gerada uma lista de atributos (attributeList). Esta relacao

de informacoes sera retornada ao usuario, como resposta a sua busca. [Voglmaier, 2004]

[Quirino, 2005]

A operacao de comparacao (compare) serve para testar a presenca de

um atributo em uma entrada com um determinado DN. Esta apos realizar o teste retorna

verdadeiro caso na entrada for encontrado o atributo e falso se a entrada nao tiver o atri-

buto. Alem disso, ela contem parametros que sao entradas (entry) e afirmacao de valor do

atributo (ava). As entradas representam as informacoes ou DN que servem para realizar a

busca. Ja a ava define o nome e o valor do atributo que sera verificado. [Voglmaier, 2004]

[Quirino, 2005]

A operacao de interrogacao trabalha com a interacao direta entre o ser-

vidor e o diretorio, onde o cliente realiza uma solicitacao e o servidor de LDAP comunica-

se com o diretorio, percorrendo a arvore de informacoes, atras dos dados que irao satis-

fazer as necessidades do usuario. Para que isto ocorra e para facilitar este processo de

localizacao das informacoes, o usuario especifica uma serie de atributos.

3.3.3.2 Operacoes de Atualizacao

Uma operacao de atualizacao pode ser enquadrada sob tres formas [Quirino, 2005]:

1. Operacao de soma (add): realiza a insercao de informacoes dentro de um diretorio,

sendo de simples realizacao pois, contem somente dois parametros, a entrada (en-

try) e a lista de atributo (attributeList). A entrada e representada por um DN, a lista

de atributos por nome e valor de atributos da entrada.

2. Operacao de exclusao (delete): tem como funcao apagar os dados existentes na DIT.

Nela encontra-se um unico parametro, a entrada, que e utilizada para especificar o

DN a ser eliminado.

Page 68: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

52

3. Operacao de modificacao (modify): tem o papel de realizar alteracoes e exclusoes

nos atributos das entradas. Sendo que esta, por sua vez, e definida por tres parame-

tros, o DN, o tipo da operacao e por combinacoes de nome e valor. Neste processo

a entrada ou DN representa a informacao que sera alterada. O tipo de operacao para

este contexto pode ser soma, exclusao ou ate mesmo modificacao.

O processo de modificacao de DN (modify DN) pode ser utilizado para

renomear uma entrada ou para mover uma entrada dentro de um diretorio. Os parametros

necessarios para modificar o DN de uma determinada entrada sao entrada, novo RDN

(newRDN), exclusao do antigo RDN (deleteOlRDN) e novo superior (newSuperior). Tendo

uma entrada a ser modificada e um novo RDN que sera inserido, a exclusao do velho RDN

ocorre e o novo e posicionado na arvore de acordo com o seu novo superior ou seu novo

pai. Na Figura 3.12, tem-se a representacao da operacao onde uma entrada e renomeada.

Neste exemplo somente o DN e renomeado e seu pai permanece o mesmo.

Figura 3.12: Modificacao de DN onde a hierarquia permanece a mesma

Page 69: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

53

Alem disso, esta operacao possibilita que seja modificado o DN e tam-

bem sua hierarquia. Com isso, DN’s podem deslocar-se dentro da arvore, modificando

seu pai, conforme Figura 3.13.

Figura 3.13: Modificacao de DN com mudanca na hierarquia

A operacao de modificacao de DN possibilita ainda que a entrada seja

duplicada, ou seja, o local de origem permanece com o conteudo inicial e o local de

destino da modificacao tambem recebe este conteudo, Figura 3.14. Esta opcao e fornecida

ao usuario no momento da execucao.

Page 70: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

54

Figura 3.14: Modificacao de DN mantendo o antigo

As operacoes de atualizacao realizam a modificacao dos dados dentro de

um diretorio. Levando em consideracao que estas permitem ao usuario realizar alteracoes,

adicoes e modificacoes das informacoes e pertinente que qualquer cliente LDAP que de-

seje realizar este tipo de processo, tenha um nıvel de acesso ou permissao definido na sua

identidade e que devem estar correlacionadas ao seu login.

3.3.3.3 Operacoes de Autenticacao e Controle

A operacao de conexao (bind) tem como objetivo conectar o cliente com

o servidor de diretorio LDAP. Esta tem como parametro a versao, o nome e a autenticacao.

Com isto, o usuario deve informar a versao de LDAP que deseja utilizar, o nome do objeto

Page 71: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

55

de diretorio que este deseja conectar-se e a forma de autenticacao que pode ser simples

e SASL. A autenticacao simples onde o usuario informa o login e a senha para realizar a

conexao e a SASL que busca tornar segura nao somente o acesso como tambem o meio.

[Voglmaier, 2004] [Quirino, 2005]

A operacao de desconexao (unbind) e simples, pois nao tem nenhum

parametro. Alem disso, esta nao retorna valor ao usuario, sendo que este ao mandar

executar a operacao de desconexao ja assume que a mesma esta fechada. Com isso, o

servidor liberta qualquer recurso alocado para o usuario e fecha a conexao de TCP/IP.

[Voglmaier, 2004] [Quirino, 2005]

A operacao de controle abrange somente um tipo de operacao o aban-

dono (abandon), que serve para parar uma requisicao previamente solicitada. Esta tem

somente como parametro o ID operacao (operationID), que indica o ID da operacao que

deve ser terminada. Neste tipo de processo o servidor nao manda nenhuma resposta para

a operacao de abandono e o cliente nao recebe nenhuma resposta. [Voglmaier, 2004]

[Quirino, 2005]

Com base nestes conceitos, pode-se dizer que o Modelo Funcional per-

mite que determinadas operacoes sejam realizadas em um diretorio. Alem disso, e neste

modelo que sao definidas formas de como lidar com solicitacoes e respostas de, res-

pectivamente, clientes e servidores LDAP. Estas formas sao bem especificadas e suas

operacoes devem obedecer/informar determinados tipos de atributos e parametros. Di-

ante desta troca de informacoes existente entre cliente e servidor, alguns requisitos de

autorizacao e controle tambem sao especificados, buscando fornecer a seguranca ade-

quada os servicos de diretorios.

3.3.4 Modelo de Seguranca

Os modelos de Interrogacao, Nome e Funcional proporcionam muitos

elementos necessarios para construir um diretorio e a estrutura da arvore de diretorios.

Porem para que se possa projetar e manipular estes dados, com um nıvel de seguranca

aceitavel, e necessario a implementacao de mecanismos que garantam os aspectos basicos

Page 72: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

56

de seguranca2.

O Modelo de Seguranca e importante porque o LDAP e um protocolo

orientado a conexao, o que o torna bastante acessıvel a qualquer usuario/aplicacao. Ao

iniciar uma comunicacao entre cliente e servidor, o servidor proporciona ao cliente deter-

minados tipos de credenciais, como por exemplo login e senha, para possa ser compro-

vada a sua identidade. Ao fazer isto, o servidor estabelece direitos de acesso para este

indivıduo, que estao atribuıdo ao seu login. Isso caracteriza dois argumentos que devem

ser protegidos: a autenticacao3 e a autorizacao4. [Voglmaier, 2004] [Isquierdo, 2001]

Na autenticacao o cliente identifica-se ao servidor tentando conectar-se.

Neste processo depende-se dos mecanismos de autenticacao empregados, onde pode-se

ter uma conexao anonima (para usuarios que desejam conectar-se sem obter uma identi-

dade) ou uma conexao utilizando autenticacao que pode ser simples ou com a utilizacao

de certificados digitais.[Voglmaier, 2004] [Martines, 2002] Ao estabelecer a conexao o

cliente e reconhecido pelo servidor e este concede determinados direitos de sobre os da-

dos contidos no diretorio.

Por autorizacao deve-se interpretar como a forma que o servidor con-

cede estes direitos de acesso ao cliente anteriormente autenticado. Os direitos concedidos

pelo servidor representam o que o usuario pode ler e o que ele pode escrever dentro de

um diretorio. Para definir o que cada cliente pode fazer, o servidor necessita manter um

arquivo com determinadas informacoes de controle de acesso (ACI - Access Control In-

formation). [Voglmaier, 2004] [Martines, 2002]

O Modelo de Seguranca busca garantir a seguranca das informacoes do

diretorio, porem, este ainda esta sendo aperfeicoado, principalmente no que tange ao as-

pecto de autorizacao. A segunda versao de LDAP iniciou o processo da implementacao

de autorizacao, sendo que na terceira versao ja existem diversas especificacoes, entre-

tanto nao tantas necessarias para um perfeito funcionamento. Para maior detalhamento

destes aspectos de seguranca e necessario um estudo mais especıfico sobre autenticacao e

2Confidencialidade, integridade, disponibilidade e autenticidade.3Autenticacao e o processo de identificacao positiva dos clientes.4Autorizacao controla quais os recursos e as operacoes o cliente tera permissao de acesso.

Page 73: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

57

autorizacao.

3.3.4.1 Autenticacao

Buscando realizar o processo de autenticacao foi desenvolvida a RFC

2829 - Authentication Methods for LDAP. Nela estao definidos varios ıtens exigidos pelo

LDAP, dentre os quais destacam-se:[Voglmaier, 2004] [Martines, 2002]

• Autenticacao de Cliente: O cliente realiza a autenticacao, informando seu login e

sua senha ao servidor de diretorios. Para este processo o cliente utiliza certificados.

• Autorizacao de Cliente: O servidor controla, por mecanismos de controle de acesso,

o que o cliente pode solicitar ao diretorio. Estes direitos sao baseados na sua

autenticacao.

• Mecanismo de Integridade de dados: Garante que as informacoes enviadas pelo

usuario chegue ao servidor e as enviadas pelo servidor ao usuario.

• Protecao contra Intrusao: Impede que pessoas nao autorizadas tenham acesso a

comunicacao entre cliente e servidor.

• Protecao contra Monopolizacao: Recursos de limites estabelecidos para evitar que

um usuario monopolize o sistema, afetando a disponibilidade do mesmo.

• Autenticacao do Servidor: O servidor realiza sua autenticacao, comprometendo-se

a responder as requisicoes do cliente.

Diante destes aspectos, e definicoes, o LDAP busca garantir a auten-

ticacao tanto dos usuarios como do servidor. Este processo envolve toda a seguranca

dos dados do diretorio e das solicitacoes/respostas enviadas entre a comunicacao cli-

ente/servidor.

A autenticacao existente nas especificacoes de LDAP podem ser de di-

ferentes nıveis, envolvendo varios metodos para que um cliente possa realizar a autenti-

cacao. Este metodos podem ser [Carter, 2003]:

Page 74: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

58

• Acesso Anonimo: Esta forma de acesso tambem pode ser chamada de conexao

anonima, pelo fato do servidor nao saber quem esta solicitando uma conexao. A co-

nexao anonima e utilizada para realizar o acesso de informacoes publicas, como por

exemplo uma lista de telefones publicos. O servidor e quem determina se o acesso

anonimo sera disponibilizado e qual o nıvel de acesso que os usuarios anonimos

devem ter. Alem disso, o servidor pode assumir uma conexao anonima se o cliente

nao tiver acesso autorizado ou previamente estabelecido.

• Autenticacao Simples: Esta forma de autenticacao e simples e e utilizada em outros

protocolos como o HTTP. O cliente envia suas credenciais, login ou DN e senha,

ao tentar se conectar ao servidor. Este envio e realizado sem a utilizacao de crip-

tografia e isso e uma forma nao adequada aos requisitos de seguranca (no aspecto

de confidencialidade). O servidor, ao receber a identificacao do usuario, realiza

uma busca para identificar se o DN e autorizado. Se este for encontrado a conexao

e estabelecida, senao o servidor encaminha uma mensagem de erro ao cliente e a

conexao nao e estabelecida.

• Autenticacao Simples com a utilizacao de criptografia: Para realizar a cifragem das

informacoes o LDAP utiliza o SSL, o qual implementa mecanismos de seguranca

no protocolo TCP/IP. O SSL e baseado em criptografia de chave publica e foi desen-

volvido pelo Netscape Communications. Outro protocolo utilizado na especificacao

do LDAP e o TLS, o qual originou-se da terceira versao do SSL. A integracao deste

no LDAP foi estabelecida na terceira versao. Seu objetivo e prover integridade e

privacidade de dados, ou seja, o TLS garante que o envio de informacoes entre cli-

ente/servidor seja assegurado e que uma pessoa nao possa interceptar a conversacao,

conforme pode e mostrado na Figura 3.15.

O TLS inclui dois protocolos diferentes, o TLS Record e o TLS Handshake. A

funcao do protocolo TLS Record e somente encapsular o protocolo mais alto, o

protocolo TLS Handshake prove de mecanismos de seguranca, permitindo ao cli-

ente/ servidor autenticar e cifrar os dados utilizando chaves de criptografia.

Page 75: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

59

Figura 3.15: Protecao ao meio de transmissao das informacoes

• Autenticacao com criptografia e certificados: Para garantir a seguranca das informacoes

que trafegam entre cliente/servidor e prevenir contra acessos nao autorizados, a se-

gunda versao do LDAP adotou mecanismos de conexao baseados em Kerberos.

Este consiste em um mecanismo de seguranca planejado para ser utilizado em am-

bientes que necessitam de seguranca na Internet, serve para realizar a autenticacao

diante do cliente e esta definido na RFC 1510 - The Kerberos Network Authenti-

cation Service (v5). Com o Kerberos, a comunicacao e codificada e a identidade

assegurada ao ponto de garantir que o cliente e quem diz ser ao tentar realizar a

conexao. Para isso, o servidor disponibiliza ao cliente uma chave da sessao cifrada,

a fim de que este possa realizar a conexao autenticando-se. O protocolo Kerberos e

estavel, realiza muitas das exigencias de seguranca, podendo ser usado por muitos

protocolos e interpretado por plataformas independentes. Porem, ate a versao atual,

o uso deste nao garante total seguranca. Para isso, foram agregados protocolos de

seguranca como o SASL, o qual fornece de servicos de autenticacao a protocolos

orientados a conexao (TCP). O padrao de SASL esta definido na RFC 2222 - Simple

Authentication and Security Layer, e utiliza mecanismos similares ao do Kerberos.

A autenticacao fornece ao servidor as credenciais, do cliente, necessarias

para que a conexao possa ser estabelecida e permite que ambos possam verificar a iden-

tidade alheia. Apos realizada a conexao, servidor e cliente podem trocar mensagens sem

que as informacoes sejam modificadas por um outro usuario nao autorizado. Para que esta

questao de autenticacao possa ser prevenida tornou-se necessario que mecanismos e pro-

tocolos de seguranca (Kerberos, SASL, TLS e SSL) fossem adicionados as especificacoes

Page 76: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

60

do LDAP de modo a criar uma infra-estrutura de seguranca adequada aos diferentes con-

textos em que esta inserido.

3.3.4.2 Autorizacao

A autorizacao ou o controle de acesso e o processo pelo qual um ser-

vidor concede direitos de acesso a um cliente anteriormente autenticado. Os servicos de

diretorios buscam implementar solucoes para este fim, porem elas tambem podem ser en-

contradas em softwares especıficos, os quais tem sua propria solucao. [Voglmaier, 2004]

Autorizacoes estabelecem as permissoes de acesso que um usuario pode

exercer diante a utilizacao das informacoes em um diretorio. Estas permissoes vao limitar

as acoes e operacoes que um cliente tem direito. Alem disso, estas sao estabelecidas no

momento em que o usuario tenta uma conexao ao servidor. [MOTTA, 2001]

A partir do momento que o cliente executa uma operacao de conexao

(bind), este fornece a sua identificacao (DN), credenciais de autenticacao, senha, cha-

ves privadas, entre outros. Diante destas informacoes, uma lista de controle de acesso

(ACL) e consultada a fim de determinar que entradas do diretorio o cliente pode ver e que

alteracoes ele tem permissao para fazer. [MOTTA, 2001]

A fim de garantir o processo de autorizacao, o servidor de LDAP man-

tem uma lista (ACL) contendo as informacoes de controle de acesso (ACI). Porem, toda

implementacao de servidor tem sua propria maneira de trabalhar com a ACI. Pode-se citar

como exemplo o OpenLDAP, que mantem estas informacoes nos arquivos de configuracao,

e o Netscape que as mantem no diretorio. [Voglmaier, 2004] Diante disto, pode-se dizer

que o controle de acesso das informacoes podem conter as seguintes especificacoes:

• Protecao de dados: Pode-se restringir o acesso de um determinado usuario a uma

parte da DIT, a um DN ou liberar para que este possa acessar toda a arvore.

• Acesso de dados: Pode-se definir quais clientes terao acesso ao sistema.

• Nıvel de acesso: Pode-se definir direitos de acesso ao usuario.

Page 77: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

61

• Restricao de requerimentos: Pode-se restringir o numero de IP ou o nome do host

a ser encontrado.

Com base nestes conceitos, pode-se dizer que a autorizacao vem pro-

porcionar ao cliente LDAP determinados direitos de acesso, com base em sua identidade

digital. Tais acessos definem ate onde o usuario pode utilizar (modificar, adicionar ou

excluir) os dados existentes em um diretorio e quais informacoes este podera ter acesso.

3.4 Modelagem de Identidades

A identificacao de pessoas podem ser realizada de diferentes formas,

como pela cedula identidade, CPF, pela carteira de motorista, por passaporte, cartoes

magneticos de funcionarios ou por cartoes de clubes. Estas maneiras de identificacao po-

dem conter informacoes exclusivas do ser proprietario, como nome, sobrenome, endereco,

foto e dados das autoridades que emitiram o documento. [Morgan, 2005]

Com base nisto, pode-se dizer que a nocao de identidade no mundo

fısico e mais compreendida do que as definicoes para modelagem de identidades digitais.

A modelagem de identidades digitais e formada de partes como um identificador, suas

credenciais, principais atributos e os atributos especıficos do contexto, conforme a Figura

3.16 [Chong, 2004] [Morgan, 2005]:

Figura 3.16: Analise da Identidade Digital. Adaptado de [Chong, 2004]

Page 78: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

62

• O identificador e a informacao que identifica o objeto dessa identidade, com ex-

clusividade , dentro de um determinado contexto. Pode-se citar como exemplo de

identificadores os enderecos de e-mail e os nomes distintos.

• As credenciais sao informacoes privadas ou publicas que podem ser usadas para

provar a autenticidade de qualquer solicitacao de identidade. Um exemplo para ex-

plicar esta parte de uma identidade pode ser encontrado quando um usuario informa

sua senha, ao servidor, a fim de estabelecer conexao. Neste momento somente o sis-

tema de autenticacao e o cliente devem saber qual a senha informada. Diante disto,

pode-se dizer que uma chave privada e o certificado de chave publica associados

sao exemplos de credenciais.

• Os principais atributos sao dados que auxiliam a descricao da identidade e estes po-

dem ser utilizados em diversos contextos comerciais e de aplicacoes. Tem-se como

exemplo os numeros de telefones e enderecos, onde ambos podem ser utilizados e

consultados por diferentes aplicacoes.

• Ja os atributos especıficos de contexto sao informacoes que tambem ajudam a des-

crever a identidade, porem sao utilizadas e consultadas somente dentro do contexto

especıfico no qual a identidade e utilizada. Pode-se citar como exemplo, em uma

empresa, os dados do plano de saude do funcionario sao atributos especıficos de

um contexto, pois estes interessam a assistencia medica e nao ao setor de servicos

financeiros.

Diante de tantas informacoes e da necessidade de protecao destas, torna-

se necessario que ocorra um gerenciamento das identidades digitais. Este gerenciamento

consiste em um conjunto de processos de negocio e uma infra-instrutura com suporte para

a criacao, manutencao e uso destas identidades, ou seja, o gerenciamento de identidade

refere-se ao processo, as tecnologias e as polıticas para gerenciar as identidades digitais e

controlar o uso destas para acessar recursos.

Com isso, pode-se estabelecer uma estrutura que represente a geren-

ciamento e o acesso de identidades, como mostra a Figura 3.17. Esta estrutura tem tres

Page 79: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

63

partes fundamentais, o gerenciamento do ciclo de vida da identidade, o gerenciamento de

acesso e os servicos de diretorios. No ciclo de vida de uma identidade sao gerenciados

os usuarios, as credenciais, as habilidades e a integracao de identidades. Para o acesso

sao gerenciados a autenticacao, a confianca e federacao, as habilidades e autorizacao, a

auditoria de seguranca, a propagacao de identidade, a personificacao e a delegacao. Ja os

servicos de diretorio oferecem determinada infra-estrutura para atender o armazenamento,

o gerenciamento e as buscas dos dados de forma segura. [Chong, 2004]

Figura 3.17: Exemplo de alguns componentes logicos. Adaptado de [Chong, 2004]

Para garantir a seguranca das informacoes, processos de autenticacao,

autorizacao e auditoria5 sao disponibilizados em servicos de diretorio e incluem a gerencia

de acessos, para evitar intrusao. Estes conceitos abrangem todo o ciclo de vida de uma

identidade, (estagios como: criacao, utilizacao e termino). Durante a criacao de uma

identidade digital, as informacoes precisam ser propagadas e inicializadas nos sistemas

de identidade, alem disso, estas ainda podem ser amplificadas, ou seja, dados podem ser

adicionados dependendo da necessidade existente. Depois de que a identidade nao estiver

em atividade esta deve ser excluıda ou seu status alterado. [Chong, 2004]

Existem varios nıveis para que a realizacao do gerenciamento do ciclo

5Auditoria e o processo realizado para contabilizar e registrar eventos de seguranca.

Page 80: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

64

de vida de uma identidade seja realizado. Na Figura 3.18, estao representados os nıveis

existentes que podem ser representados pelos seguintes dados [Chong, 2004]:

Figura 3.18: Nıveis do ciclo de vida de uma identidade

• Nıvel de Dados da Identidade: As credenciais representam senhas e certificados,

as habilidades sao direitos e privilegios e os atributos podem ser nome, endereco e

numero de telefone.

• Nıvel de Operacoes de Dados: Representa as operacoes que podem ser realizadas

com os dados da identidade, como criar, ler, atualizar e excluir.

• Nıvel de Modelos de Administracao: Podem ser classificados como auto-servico,

onde os usuarios atualizam alguns de seus dados, e administracao delegada, onde

as responsabilidades da administracao do ciclo de vida da identidade sao comparti-

lhadas entre grupos de administradores.

• Nıvel de Situacao de Negocio: Representa a modificacao das identidades no sentido

de alterar um usuario de grupo, excluir este ou adicionar.

Com a apresentacao de como funciona o ciclo de vida pode-se rela-

tar necessidade existente de um usuario ter uma unica identidade para acessar diferentes

servicos. Como mostra a Figura 3.19, sem a integracao dos dados um usuario tem que

Page 81: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

65

lidar com varias identidades digitais, as quais sao armazenadas e gerenciadas de forma

independente.

Figura 3.19: Exemplo da utilizacao de varias identidades para diferentes sistemas. Adaptado de[Chong, 2004]

Com base nisto, problemas podem ser constatados, como a duplicacao

de informacoes e a falta de integracao destas. Estes problemas fazem com que o usuario

seja cadastrado em diferentes sistemas e consequentemente seus dados sejam duplicados.

[Carvalho, 2005b]

Alem disto, um outro problema consiste na necessidade do usuario de

informar varios logins e senhas em diferentes sistemas que este necessite acessar. Do

ponto de vista do usuario, este procedimento exige que sejam memorizados e relacio-

nados os sistemas e suas respectivas formas de acesso. Ja do lado do gerenciamento,

incidentes como o esquecimento de senhas aumentam o custo de gerenciamento e quando

combinados com habitos incorretos de gerenciar senhas de usuarios, podem levar a um

aumento de vulnerabilidades de seguranca. [Carvalho, 2005b]

Tentando solucionar esses tipos de problemas e facilitar o gerencia-

mento de identidades e de acesso uma solucao chamada Single Sign-On (SSO), foi es-

tudada, desenvolvida e aprimorada. Dentre esta solucao tem-se cinco classes, que repre-

sentam diferentes situacoes de aplicacoes [Chong, 2004] [Carvalho, 2005b]:

• SSO na Web: Usuarios de navegadores nao autenticados sao redirecionados a sites

de login para introduzir as identificacoes e credenciais de usuarios. Depois de ser

Page 82: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

66

realizada a autenticacao, cookies HTTP sao emitidos e utilizados pelas aplicacoes

Web a fim de validar as sessoes autenticadas.

• Sign-On Integrado no Sistema Operacional (SO): Refere-se a modulos de autenti-

cacao e interfaces desenvolvidas no SO.

• Sign-On Federado: Necessita que as infra-estruturas de autenticacao de aplicacoes

compreendam as relacoes de confianca e interoperabilidade atraves de protoco-

los padroes. Isto significa que a responsabilidade de autenticacao e repassada a

alguem de confianca. Neste caso, um usuario nao precisa realizar o processo de

autenticacao novamente.

• Mapeamento de Identidade e Credencial: Sao caches de credenciais para manter

o controle das identidades e credenciais que podem ser utilizadas para acessar as

listas correspondentes de sites de aplicacoes.

• Sincronizacao de Senha: E utilizada para sincronizar senhas em bancos de dados de

credenciais de aplicacoes de forma que o usuario e o sistema nao precisem gerenciar

varias alteracoes em senhas. Esta classe pode fazer com que uma aplicacao de

camada intermediaria trate uma senha como a mesma para varios sistemas.

Diante disto, torna-se necessario realizar o gerenciamento das habilida-

des, o qual refere-se ao conjunto de tecnologias usado para conceder e invocar direitos

de acesso e privilegios para a modelagem de identidades. Com base na utilidade e na ne-

cessidade de utilizacao de esquemas de autenticacao, nem sempre fica esclarecido como

deve ser modelada uma estrutura de gerenciamento de habilidades.

Para tal, deve-se analisar todos os direitos pertencentes a uma determi-

nada identidade. Diante disto e para satisfazer e facilitar o gerenciamento, as organizacoes

aproveitam para realizar o armazenamento de diretivas de forma centralizada.

As mudancas ocorridas diariamente fazem com que ocorra a necessi-

dade de reorganizar a modelagem das identidades, incluindo seus direitos de acesso. Em

muitas vezes, uma duplicacao de dados do usuario ocorre, gerando redundancias e assim

Page 83: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

67

dificultando o gerenciamento das informacoes. Para agregar estas identidades, deve-se

trabalhar com a manutencao de relacoes para que se possa transformar os dados, com a

otimizacao de operacoes de dados e com a sincronizacao de destes. [Carvalho, 2005b]

Na Figura 3.20, pode-se observar o processo onde a construcao de um

unico diretorio e realizada e a modelagem das identidades digitais dos usuarios e atualiza-

da a cada mudanca. Neste exemplo, ocorre uma conciliacao de registros e as identidades

serao utilizadas pelos usuarios para realizar o acesso de diferentes sistemas.

Figura 3.20: Exemplo da integracao de identidades de varios sistemas em uma unica identidadedigital

Isso proporciona varios benefıcios para as aplicacoes, como o forneci-

mento de aplicacoes com uma visao unica ou agregada dos dados de sistemas individuais,

conforme a Figura 3.21. Nesta, dois diferentes esquemas de modelagem de identidades

sao unidos e transformados em uma so modelagem.

Para o acesso aos dados de uma identidade e necessaria a existencia de

questoes de confianca, as quais podem implicar em delegacao de responsabilidades, ou

Page 84: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

68

Figura 3.21: Exemplo da integracao de dados de varios sistemas em uma unica identidade digital

seja, na criacao de federacoes. A federacao e um repasse de responsabilidades honra-

das por meio de relacoes de confianca entre as partes federadas. Sao exemplos desta o

MEC, o Lattes, o DataCapes, o IBICT, o ensino a distancia, as bibliotecas, entre outros.

[Carvalho, 2005a]

As federacoes nao buscam criar uma identidade unica, mas sim traba-

lhar como uma corporacao distribuindo as tarefas entre as partes, onde as identidades sao

armazenadas localmente e acessadas por mecanismos especiais. Esta forma de tratamento

de dados apresenta vantagens como seguranca, diminuicao de custo e ainda facilidades

administrativas, como flexibilidade para autenticar os usuarios de organizacoes. [?]

Muitas formas de funcoes podem ser delegadas a alguem de confianca,

como a autenticacao, a autorizacao, o gerenciamento de perfis, os servicos de pseudonimo

e a cobranca. Para que isso possa ser executado tres elementos fundamentais devem ser

Page 85: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

69

respeitados [Chong, 2004]:

• Um protocolo de comunicacao: Este tem como funcao realizar a comunicacao entre

as partes federadas.

• Uma infra-estrutura: Esta deve ser de confianca, flexıvel e que ofereca suporte a

uma variedade de modelos de confianca.

• Uma estrutura de gerenciamento: Onde sao gerenciadas diretivas extensıveis que

oferece suporte a distintos requisitos de controle.

Para realizar a comunicacao entre as partes federadas sao utilizados pro-

tocolos de federacao. Estes devem disponibilizar recursos para que as partes federadas

possam executar suas tarefas com eficacia. [Chong, 2004]

Com base nestes conceitos, pode-se dizer que a necessidade de gerar

uma identidade unica para cada usuario poder acessar varios sistemas tem crescido com o

aumento de sistemas dentro de uma organizacao e com a constante modificacao de aces-

sos disponibilizados aos usuarios. Esta centralizacao das informacoes, correspondentes a

cada usuario, vem diminuir a replicacao e a redundancia dentro de um diretorio. Alem

disso, a modelagem de identidades para os usuarios proporciona uma consideravel me-

lhora a utilizacao e ao gerenciamento dos dados de um diretorio.

3.5 Conclusao

Neste capıtulo foram relatados os principais conceitos envolvendo o

LDAP, desde sua definicao, funcionamento, versoes, aplicacoes e modelos, bem como

deve ser a criacao e a modelagem de identidades digitais para um diretorio. Tais aspectos

sao considerados essenciais para entender como este protocolo vincula-se aos servicos de

diretorio.

Os modelos de Informacao, Nome, Estrutural e de Seguranca do LDAP

relatam a comunicacao com o diretorio, como sao definidos os atributos, seus tipos e

Page 86: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

70

valores, como as estruturas de dados, entradas e classes de objeto sao constituıdas, or-

ganizadas e identificadas, como sao descritas as operacoes que realizam a comunicacao

cliente/servidor, e como deve ser a seguranca dos dados e do processo de comunicacao.

Diante disto, pode-se relatar a importancia que contem estes modelos, pelo fato de que

eles auxiliam a organizacao, a especificacao e o manuseio das informacoes de um di-

retorio.

Com isto previamente definido, foram apresentados dados sobre a criacao

e a importancia de identidades. Estas foram desenvolvidas para que as informacoes de

sistemas independentes fossem incorporadas em um unico diretorio, evitando assim a

duplicacao e a inconsistencia dos dados.

Page 87: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Capıtulo 4

OpenLDAP

Para poder gerenciar e utilizar as informacoes contidas em um diretorio

e necessario que haja uma implementacao das definicoes oferecidas pelo LDAP. Com

isso, pode-se dispor das funcionalidades do protocolo, a fim de resolver problemas de

informacoes de uma rede de computadores.

Diante desta necessidade, a implementacao do OpenLDAP mostra-se

funcional e suas aplicacoes e operacoes abrangem aspectos necessarios para tal. Suas ca-

racterısticas e sua disponibilidade vem destaca-lo diante das outras ferramentas de acesso

e gerencia de informacoes de um diretorios. Entre estas pode-se relatar [Voglmaier, 2004]:

• O OpenLDAP e um software de codigo aberto, com licenca publica e seu codigo

fonte pode ser encontrado de adquirido gratuitamente;

• Possui versoes que sao compatıveis e foram adaptadas a terceira versao do LDAP;

• Trabalha em diferentes plataformas, como GNU/Linux, Solaris, MS-Windows;

• Desenvolvido pela Universidade de Michigan para ser compatıvel ao LDAP e, com

isso, realizar a conexao e a comunicacao entre cliente/servidor.

Conforme especificado nas definicoes do LDAP, o OpenLDAP vem rea-

lizar a comunicacao entre o cliente e o servidor. Devido a suas caracterısticas e definicoes,

pode-se dizer que o OpenLDAP disponibiliza muitos recursos e aplicacoes para realizar

Page 88: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

72

o acesso e a gerencia das informacoes de um diretorio. Dentre estas, estao os daemons1

slapd e slurpd, os quais realizando suas respectivas funcoes dao maior funcionalidade aos

quizitos pre-definidos pelo OpenLDAP.

4.1 Slapd e Slurpd

A comunicacao entre o cliente e o servidor e feita com base em API’s

e utilizando servicos destinados a realizar a configuracao. Tais arquivos, disponibiliza-

dos pelo OpenLDAP, sao chamados de ldap.conf e slapd.conf. O arquivo de ldap.conf

configura parametros para aplicacoes de cliente, e isso e especificado de distintas formas

dependendo de como o usuario realiza a configuracao. Ja o arquivo slapd.conf e onde

estao as informacoes para a configuracao do servidor OpenLDAP (slapd), do daemon de

replicacao (slurpd). [Carter, 2003]

Alem disso, o arquivo slapd.conf pode ser utilizado para gerenciar os

parametros que afetam o comportamento global dos servidores de OpenLDAP, ou de

parametros que sao relacionados a um banco de dados usados pelo daemon de slapd.

A configuracao do slapd e armazenada como um diretorio especial de LDAP, para isso

ele deve conter um esquema e uma arvore predefinidos. Estes podem ser representados

conforme a Figura 4.1, onde sao especificados comandos globais, definicoes de schemas,

de backend e de banco de dados [Foundation, 2005].

Figura 4.1: Elementos usados para configuracao do slapd

1Daemons sao sistemas residentes, ou seja, nao sao configurados de forma a utilizar informacoes

contınuas do usuario. Assim este desconecta-se do terminal na primeira oportunidade. [Anonimo, 2005a]

Page 89: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

73

A arvore da configuracao de slapd.d e bem especıfica, onde na raiz

encontram-se os ajustes globais da configuracao e nos outros nos tem-se os ajustes adi-

cionais que representam as entradas. Com base nisso, pode-se dizer que as entradas sao

especificadas de acordo com tais definicoes, as quais tem como base os conceitos que

envolvem o LDAP. [Foundation, 2005]

O OpenLDAP, alem de conter pacotes que trabalham com configuracao,

aplicacao e manutencao de servicos de cliente e servidor, especifica bibliotecas de desen-

volvimento. Estas podem ser apresentadas em conjunto a varios componentes conforme

a Tabela 4.1.

Tabela 4.1: Componentes do OpenLDAP

Nome Descricao

libexec/slapd Servidor LDAPlibexec/slurpd Auxiliar de Replicacao

bin/ldapadd, bin/ldapmodify, bin/ldapdelete e bin/ldapmodrdn Tratar entradas de dados no diretoriobin/ldapsearch e bin/ldapcompare Realizar operacoes de buscas e comparacoes

bin/ldappasswd Tratar atributos de senhassbin/slapadd, sbin/slapcat e sbin/slapindex Manipular dados usados em slapd

sbin/slappasswd Utilizar e simplificar o uso de senhas no slapd.conf

O funcionamento proporcionado pelo slapd pode ser estendido para su-

portar sintaxes adicionais, tipos do atributo e classes do objeto. Estas ampliacoes podem

ser feita de cinco formas:

• Obtendo um identificador de objetos: Cada elemento do schema e representado por

um identificador global original do objeto (OID), sendo que estes sao usados para

identificar outros objetos. Sao usados pelo Simple Network Management Protocol

(SNMP). Por ser organizado em forma hierarquica, estes podem ser representados,

conforme a Figura 4.2 [Foundation, 2005]:

• Escolhendo um prefixo especıfico: Deve-se fornecer pelo menos um nome para

cada elemento e estes devem ser descritivos. Estes devem ser diferentes dos nomes

padroes previamente estabelecidos e padronizados;

• Criando um arquivo local de schema: As classes de objetos e as diretrizes da

configuracao dos tipos de atributos podem ser usados para definir as entradas no

Page 90: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

74

diretorio. Para isso, tais devem ser armazenados e organizados em um arquivo lo-

cal;

• Definindo tipos de atributos: A diretriz orientadora do tipo de atributo e utilizada a

fim de definir um novo tipo de atributo. Esta usa a mesma descricao definida pela

RFC 22522;

• Definindo classes de objetos: A diretriz orientadora das classes de objeto e usada

para definir uma classe nova do objeto. Esta usa a mesma descricao definida na

RFC 2252.

Figura 4.2: Elementos que constituem a DIT para OpenLDAP

Com a utilizacao e a configuracao do slapd e do slurpd, pode-se alme-

jar a comunicacao entre cliente/servidor. Atraves destes, parametros e definicoes sao

previamente estabelecidos a fim de tornar abrangente e compatıvel a forma de trocar

informacoes.

4.1.1 Replicacao com slurpd

A troca de informacao cilente/servidor pode ser feita atraves de uma

unica instancia do slapd. Porem isso pode ser insuficiente para responder a quantidade2A RFC 2252 (Lightweight Directory Access Protocol (V3): Definicoes de sintaxe de atributos.) repre-

senta os valores dos atributos para realizar a transmissao no protocolo LDAP, definindo os valores inteiros,

selo de hora, enderecos de email e outros.

Page 91: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

75

de clientes que necessitam de servicos de diretorio LDAP. Para satisfazer tais necessida-

des, utilizando a replicacao, pode-se configurar o DNS de tal forma que seja retornado o

endereco IP de um desses servidores de cada vez, distribuindo a carga entre eles (mestres)

ou entre os escravos. A forma com que e feita a replicacao pode ser observada na Figura

4.3.

Figura 4.3: Replicacao de dados

Com isso, a comunicacao torna-se simples e efetiva, aumentando a ca-

pacidade, a disponibilidade e a confiabilidade do servico. O slurpd realiza este servico de

replicacao utilizando o mesmo canal que os clientes utilizam para acessar os servidores

escravos, ou seja, atraves do protocolo LDAP. Pode-se ter como exemplo a Figura 4.4 e

4.5.

Page 92: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

76

Figura 4.4: Comunicacao entre o Slapd Mestre e o Escravo

Conforme a Figura 4.4, o cliente LDAP envia uma operacao de modifi-

cacao ao slapd escravo. Este retorna uma referencia para o cliente, redirecioando-o para o

slapd mestre. Ja o cliente LDAP, por sua vez, envia o pedido de modificacao para o slapd

mestre, o qual realiza a operacao, escreve a mudanca no log de replicacao e retorna um

codigo de sucesso para o cliente.

Figura 4.5: Processo Slurpd

Na Figura 4.5, o processo slurpd descobre que uma nova entrada foi

colocada no final no arquivo do log de replicacao, entao este realiza a leitura da entrada

do log de replicacao e envia a mudanca para o escravo via LDAP. Este realiza a operacao

e retorna um codigo de sucesso para o processo slurpd.

Page 93: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

77

Ao ser configurado, o slapd gerar um arquivo de log de replicacao, este

contem registros de modificacoes no formato LDIF e informa o local da(s) replica(s), o

DN da entrada que sera modificada e as linhas que especificam as mudancas a serem

realizadas.

4.1.2 Autenticacao e Autorizacao

A fim de garantir a seguranca diante o acesso as informacoes de um

diretorio, o OpenLDAP disponibiliza recursos para tratar a autenticacao e a autorizacao.

Tais recursos sao correspondentes e especificados com os mesmos parametros e as mes-

mas definicoes da terceira versao do LDAP.

Os diretorios foram desenvolvidos para dar resposta rapida a um grande

volume de consultas e operacoes de busca. Estes tambem podem replicar informacoes, e

isto e usado para acrescentar disponibilidade, confiabilidade e reduzir o tempo de resposta.

As diferentes formas de disponibilizar um servico de diretorio, vem per-

mitir que distintos tipos de informacoes possam ser armazenadas, referenciadas, requisi-

tadas, atualizadas e protegidas de acessos nao autorizados. A protecao contra acessos nao

autorizado nao e comum para todos os servicos de diretorios, sendo que isso permite que

qualquer pessoa possa ver os dados existentes.

Com base no modelo de seguranca do LDAP, OpenLDAP vem dis-

por de diversas funcionalidades para assegurar a identificacao, a autenticacao de um cli-

ente, provando sua identidade diante do diretorio, e o controle de acesso, protegendo as

informacoes contidas no servidor. Como na especificacao do LDAP, isso e feito atraves

da operacao bind.

Depois que o usuario e autenticado e identificado, um controle de acesso

e disponibilizado a fim de determinar se o usuario tem permissao para fazer o que ele

solicitou. Alem disso, o usuario pode nao se identificar, ou seja, acessar o diretorio como

anonimo, assim sendo este tambem vai receber certos controle de acesso aos dados de um

diretorio.

Page 94: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

78

4.2 Conclusao

Neste capıtulo foram relatados os principais conceitos envolvendo o

OpenLDAP, como seu funcionamento, principais caracterısticas e funcionalidades. Tais

aspectos buscam representar os fatores que implicaram na escolha desta ferramenta para

implementar o modelo proposto.

Alem disso, e apresentado como o OpenLDAP pode-se realizar a co-

municacao entre cliente/servidor atraves dos daemons, slapd e slurpd, disponibilizados

por este. Estas funcionalidades buscam caracterizar as formas com que esta ferramenta

trabalha e os servicos que ela pode disponibilizar.

Com isto previamente definido, foram relatados as formas de autenticacao

e autorizacao do OpenLDAP. Estes conceitos espelham-se nos apresentados anterior-

mente com a terceira versao do LDAP e buscam, respectivamente, validar o login e a

senha de um usuario e disponibilizar permissoes de acesso.

Page 95: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Capıtulo 5

Analise e Modelagem das Identidades

dos Sistemas da UDESC

Com base na necessidade de integracao dos dados de diferentes sistemas

em um unico diretorio e na criacao de uma unica identidade para cada usuario, deve-se

analisar as informacoes contidas nas bases de dados e a forma com que estas sao acessa-

das, ou seja, a forma com que a autenticacao e a identificacao sao realizadas. Diante disto,

varios dados e informacoes foram coletados, envolvendo diferentes sistemas da UDESC.

Tais sistemas tem distintas funcionalidades e buscam, de forma geral,

auxiliar e armazenar as informacoes necessarias e utilizadas diariamente, a fim de dispor

seus dados a pesquisas e atualizacoes constantes. Porem todos estes sistemas tem suas

bases de dados individuais o que causa duplicidade e redundancia de informacoes entre

eles.

5.1 Sistemas e Servicos Existentes

Para a utilizacao, no Centro de Ciencias Tecnologicas da UDESC (Join-

ville), estao dispostos diversos sistemas e servicos como o SigmaWeb, o Pergamum, o

Sistema de Empenho, o Sistema de Viagens, a Intranet, o Sistema de Bolsas de Apoio

Discente e a disponibilizacao de contas de usuarios, de servicos de correio eletronico, de

Page 96: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

80

ADSL e de acesso via VPN. Cada qual possui seus respectivos objetivos e informacoes

as quais sao armazenadas isoladamente, fazendo com que nao exista integracao entre os

sistemas.

5.1.1 SigmaWeb

O SigmaWeb e o aplicativo de registro e controle academico utilizado

pela UDESC, o qual visa possibilitar o controle dos alunos, alunos visitantes e profes-

sores. Dentre estes, varias funcionalidades estao co-relacionadas, como a matrıcula dos

alunos e professores e a possibilidade de acesso as informacoes dos cursos, disciplinas,

professores, currıculos, notas, presencas, historicos escolares, requerimentos, entre ou-

tros, como mostra o Apendice D. [UDESC, 2005]

Este sistema foi desenvolvido em PHP e utiliza o banco de dados MySQL.

Sua base de dados localiza-se no centro de Lages, base unica para todos os centros da

UDESC, onde sao disponibilizadas informacoes pra consulta, atualizacoes e cadastros. A

forma de autenticacao referente a este e constituıda de dois campos, matrıcula e senha,

conforme Figura 5.1. A matrıcula e uma informacao unica para cada usuario, ou seja,

para cada novo cadastro.

Figura 5.1: Tela de autenticacao do SigmaWeb

Page 97: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

81

A partir deste ponto os dados sao relacionados com diversas outras in-

formacoes, que vao caracterizar e constituir o cadastro. Excluindo-se os atributos do

usuario, todos os outros dados sao informacoes especıficas do Sistema Academico, as

quais determinam suas funcionalidades e seus objetivos.

5.1.2 Pergamum

O Pergamum (Sistema Integrado de Bibliotecas) e um sistema informa-

tizado de gerenciamento de Bibliotecas, este foi desenvolvido pela Divisao de Processa-

mento de Dados da Pontifıcia Universidade Catolica do Parana. O Sistema foi imple-

mentado para comunicacao com base na arquitetura cliente/servidor, utilizando banco de

dados relacional. [PUCPR, 2005]

Este contempla as principais funcoes de uma biblioteca, com a funcio-

nalidade de integrar desde a aquisicao de materiais ate o emprestimo destes, tornando-se

assim um software de gestao de Bibliotecas. Desde o inıcio de sua comercializacao em

1997, este esta sendo utilizado em 101 instituicoes. [PUCPR, 2005]

Seu objetivo e utilizar conceitos e ideias de cada instituicao a fim de

mante-lo atualizado e atuante no mercado, tornando-o capaz de gerenciar qualquer tipo

de documento. Alem disso, o Pergamum atende Universidades, Faculdades, Centros de

Ensino de primeiro e segundo grau, assim como empresas, orgaos publicos e governa-

mentais. [PUCPR, 2005]

Este sistema contempla cadastros, como o cadastro de usuarios, que

podem ser professor, aluno, tecnico administrativo da UDESC ou aluno visitante, e o

cadastro de emprestimo (livros, jornais, entre outros). O cadastro de usuarios, busca

conter os dados necessarios para uma possıvel identificacao deste, conforme a Figura 5.2

e seus dados complementares dispostos no Apendice E.

Page 98: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

82

Figura 5.2: Tela de Cadastro de Usuario do Pergamum

A partir do momento que estas informacoes sao cadastradas, o empres-

timo de livros pode ser realizado e a identificacao do usuario feita. Alem disso, pode-

se observar que no Sistema Pergamum utilizado na UDESC, abrange duas formas de

identicacao para o usuario, uma que e realizada com uma matrıcula gerada pelo sistema

e outra que utiliza a mesma matrıcula disponibilizada pelo SigmaWeb, padrao este que

vem sendo imposto nos ultimos anos.

5.1.3 Sistema de Empenho

O Sistema de Empenho da UDESC consiste em realizar o empenho de

compras de materiais e/ou prestacao de servicos. Este e solicitado atraves da ficha de pre-

empenho, conforme Apendice F, sendo que e nela que estao as informacoes necessarias

Page 99: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

83

para realizar a solicitacao do servico.

Apos serem adicionadas ao Sistema de Empenho, como mostra o Apendice

G, tais informacoes sao analisadas por funcionarios do setor financeiro do CCT, bem

como o Diretor Geral, os quais tem acesso ao sistema. Desta forma, os dados sao valida-

dos a fim de estabelecer uma pertinencia ao pagamento.

Este sistema foi desenvolvido na linguagem PHP e utiliza o banco de

dados MySQL. Sua base e unica e esta localizada geograficamente em Florianopolis.

5.1.4 Sistema de Viagens

O Sistema de Viagens visa possibilitar a solicitacao de diarias e trans-

portes (recursos financeiros) para viagens com fins especıficos ou objetivos em prol da

Universidade. Tal solicitacao e realizada atraves deste sistema que esta disponıvel no site

da UDESC (Joinville).

Ao realizar a solicitacao de recursos o usuario estara preenchendo in-

formacoes condizentes a viagem, conforme Apendice H. Tais dados serao analisados por

funcionarios da Secretaria Geral e/ou pelo Diretor Geral do CCT.

Este sistema foi desenvolvido em PHP e utiliza o banco de dados MySQL.

Sua base de dados esta localizada no campus de Joinville e e utilizada so por este. A forma

de autenticacao deste sistema e feita pelos seis primeiros dıgitos da matrıcula do Sistema

Academico, como mostra a Figura 5.3. Alem disso, nao existe nenhuma validacao refe-

rente a isto, ou seja, qualquer valor pode ser informado no campo matrıcula que o sistema

nao verifica a existencia.

Page 100: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

84

Figura 5.3: Tela de Autenticacao do Sistema de Viagens

5.1.5 Intranet

A Intranet disponibiliza varios servicos como agenda, lista de usuarios,

disponibilidades de horarios, de contatos, de classificados, de notıcias e de telefones.

Alem disso, pode-se realizar a reserva de recursos, como som, canhao, TV, vıdeo, sa-

las, auditorio e anfiteatro, bem como a solicitacao de servicos prestados pelo suporte da

Universidade. Tais servicos podem ser observados nas telas dispostas no Apendice I.

O acesso a este sistema e restrito aos professores, funcionarios e bol-

sistas. Com suas respectivas permissoes e nıveis de agrupamento1, estes usuarios tem

1Sao nıveis de permissoes dadas aos usuarios a fim de diferenciar qual grupo este encaixa-se.

Page 101: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

85

diferentes servicos disponibilizados.

A Intranet foi desenvolvido na linguagem Java, utiliza o banco de da-

dos MySQL e o TomCat disponibilizando servicos de solicitacoes ao servidor. Sua base

localiza-se e e propria do Centro de Joinville. A autenticacao e realizada atraves de um

login e uma senha, como mostra a Figura 5.4. Diante disto, pode-se dizer que este pro-

cesso e particular e, por consequencia, causador de redundancias e falta de integracao das

informacoes existentes entre os sistemas.

Figura 5.4: Tela de Autenticacao da Intranet

5.1.6 Sistema de Bolsas de Apoio Discente

O Sistema de Bolsas de Apoio Discente tem como objetivo realizar os

processos de cadastro, alteracao de cadastro e consulta da situacao da bolsa de traba-

Page 102: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

86

lho disponibilizada pela UDESC. [UDESC, 2005] Com ele cada aluno pode realizar sua

inscricao a fim de participar da selecao de candidatos para as bolsas2.

Os dados de cadastro do usuario sao apresentados no Apendice J e bus-

cam contemplar as informacoes necessarias para este sistema. Estes sao dispostos em

partes como identificacao, preferencia de atuacao, situacao socio-economica e disponibi-

lidade para trabalhar.

A Sistema de Bolsas foi desenvolvido em PHP e utiliza o banco de

dados MySQL. Sua base localiza-se em Joinville e e utilizada por outros centros. A

autenticacao deste sistema e feita pela matrıcula e pela senha do usuario, conforme a

Figura 5.5, porem estas informacoes sao cadastradas pelo proprio usuario e nao validadas

de acordo com os dados existentes nos cadastros da Universidade. Diante disto, pode-se

ter informacoes nao consistentes e redundancia dos dados, pelo fato de um usuario poder

cadastrar seus dados mais de uma vez.

Figura 5.5: Tela de Autenticacao do Sistema de Bolsas de Apoio Discente

2As descricoes desse processo de selecao sao feitas com base na Resolucao presente no site da UDESC.

Page 103: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

87

5.1.7 Conta de Acesso ao Domınio

Para ter acesso as contas de usuarios disponibilizadas pela UDESC

basta preencher uma ficha de inscricao, conforme Apendice K. Nesta estao as informacoes

necessarias para que a liberacao da conta seja realizada.

A liberacao e feita manualmente pelos funcionarios do Suporte do CCT

e com isso, um login e uma senha sao disponibilizados para a autenticacao. O login e

criado a partir de informacoes pre-definidas que descrevem o tipo de usuario e o depar-

tamento ou atuacao que ele pertence, conforme as Tabelas 5.1 e 5.2. Com a uniao destas

informacoes, sao formadas composicoes como mostra a Tabela 5.3.

Tabela 5.1: Siglas que diferenciam a atuacao

Sigla do Departamento Descricao da Sigla

dcb Departamento de Ciencias Basicas e Sociaisdcc Departamento de Ciencias da Computacaodec Departamento de Emgenharia Civildee Departamento de Emgenharia Eletricadem Departamento de Emgenharia Mecanicadep Departamento de Emgenharia de Producaodfi Departamento de Fısica

dma Departamento de Matematicaesp Contas Especiaisfej Funcionarios

Tabela 5.2: Tipos de usuario

Tipo de Usuario Descricao do Usuario

2 Professor6 Aluno7 Funcionario

Tabela 5.3: Exemplos de contas

Exemplos de Nomes Composicao Final da Conta

Camila Tonezer (ct) dfi6ctJuliana Patrıcia Detroz (jpd) dcc6fbe

Joao Pereira (jp) dee2jpBruna Benvenutti Eccel (bbe) dma2bbe

Page 104: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

88

Como mostram as Tabelas, existe uma sequencia que representa res-

pectivamente a sigla do departamento, a classificacao do usuario e as iniciais do nome do

portador da conta. Alem disso, para os tipos de usuario sao determinados tamanhos dife-

rentes de contas, assim alunos tem um espaco disponıvel de 4 MB, o que e diferenciado

dos professores e funcionarios, os quais tem 10 MB para armazenamento.

5.1.8 Correio Eletronico

A disponibilidade do correio eletronico oferecida pela UDESC e soli-

citada atraves do preenchimento das informacoes contidas no Apendice K. Com estes

dados os funcionarios do Suporte podem liberar o acesso e uma conta de e-mail. A fim

de criar uma autenticacao para o solicitante, formas foram definidas e sao seguidas, como

mostra a Tabela 5.1 e a 5.2. Diante disso, pode-se ter como exemplo os enderecos da

Tabela 5.4.

Tabela 5.4: Exemplos de e-mail

Nome Endereco de Correio Eletronico

Camila Benvenutti Eccel (cbe) [email protected] Silho (js) [email protected]

A disponibilidade de tamanho para o correio eletronico e especificada

conforme as contas de usuarios, ou seja, para alunos 4 MB e para professores e fun-

cionarios 10 MB. Alem disso, e diponibilizada a funcionalidade de utilizar o e-mail como

alias3.

5.1.9 Servico de ADSL

A UDESC ainda oferece um servico de autenticacao para ADSL, no

qual a partir de uma conta de correio eletronico pode-se obter um login e uma senha para

utilizar o provedor da Universidade. Este cadastro e feito conforme mostra o Apendice L.

3Alias e enderecos de e-mail que nao tem um espaco definido nem senha e seu objetivo e direcionar as

mensagens para uma conta POP existente em outra conta.

Page 105: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

89

5.1.10 Servico de VPN

Disponibiliza um servico de Virtual Private Network (VPN) para servicos

e sistemas internos especıficos (como o acesso de portal do CAPES), oferecidos pela

UDESC. Para utiliza-lo e necessario que um cadastro seja preenchido, Apendice K, neste

sao informados os dados necessarios para a identificacao do usuario.

5.2 Estrutura do Diretorio

A analise dos sistemas existentes na UDESC, foi realizada a partir de

entrevistas e coleta de informacoes, a fim de dispor de um consideravel conteudo para

que a modelagem pudesse ser desenvolvida. As entrevistas foram feitas com pessoas

responsaveis pela manutencao e/ou com usuarios dos mesmos, estes por sua vez, dispo-

nibilizaram todo material possıvel e existente para a construcao deste.

Diante da analise feita, diversos resultados foram obtidos e, consequen-

temente, uma representacao para um diretorio foi especificada. Conforme a Figura 5.6,

tem-se a forma mais adequada para organizar as informacoes da estrutura proposta. No

no raiz encontra-se a UDESC e em suas ramificacoes estao dispostos o CCT, o Centro

de Ciencias Agroveterinarias (CAV), o Centro Educacional do Oeste (CEO), o Centro de

Ciencias da Educacao (CCE-FAED), o Centro de Educacao a Distancia (CEAD), o Cen-

tro de Artes (CEART), o Centro de Educacao Fısica, Fisioterapia e Desportos (CEFID) e

a Escola Superior de Administracao e Gerencia (ESAG). Esta divisao foi feita por refle-

tir a estrutura organizacional da UDESC e pode ser analisada diante sua implementacao

conforme Apendice M.

Page 106: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

90

Figura 5.6: Representacao da Arvore de Diretorios

A partir disto, o centro de Joinville (CCT) foi expandido nos quatro

tipos de usuario identificados, os quais sao alunos, professores, funcionarios e adminis-

tradores. Isto foi especificado porque os sistemas analisados tem seus acessos restringidos

de acordo com esta classificacao. No quarto nıvel da DIT, estao os objetos que represen-

tam os usuarios propriamente ditos. Tais objetos sao instancias da classe Usuario, a qual

esta detalhada nos diagramas de classes das Figuras 5.7 e 5.8.

Page 107: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

91

Figura 5.7: Modelo que representa os nıveis de acesso

Page 108: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

92

Figura 5.8: Modelo de diretorios e seus respectivos dados

Page 109: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

93

Buscado atender ao objetivo de propor um modelo que realize a integra-

cao das autenticacoes dos diversos sistemas da Universidade4, foi elaborado o diagrama

da Figura 5.7. Este tem como principal objetivo contemplar os atributos necessarios, a

fim de nivelar as permissoes de acesso de acordo com as classes:

• Centro: os objetos desta classe representam os centros da Universidade, como o

CCT, o CAV, CEO, CCE-FAED, CEAD, CEART, CEFID e a ESAG;

• Usuario: e uma classe abstrata que contem os atributos comuns a todos os tipos de

usuarios. Entre eles destacam-se a matrıcula, que e um identificador unico para os

sistemas, o login, o qual tambem e unico, com a diferenca que este e um identi-

ficador que sera usado para realizar os acessos aos sistemas, e a senha que e uma

credencial que garante a autenticidade. Alem disso, tem-se o campo contaAtiva que

informa a ativacao de uma conta para o usuario e o auxiliar DeAutenticacao, o qual

foi projetado para possıveis autenticacoes/identificacoes atraves do uso de cartoes

ou outros auxiliares para tal;

• TipoAluno: os objetos desta classe representam os tipos de aluno, que podem ser

alunos regularmente matriculados ou alunos visitantes;

• Aluno: e uma subclasse concreta de Usuario, a qual nao tem atributos especıficos,

porem sua existencia facilita a expansao do sistema, a fim de diferenciar estes dos

outros tipos de acesso/usuarios;

• TipoBolsista: os objetos desta classe representam os tipos de bolsista, que podem

ser de pesquisa, de extensao ou e trabalho;

• Bolsista: esta classe herda as caracterısticas de Aluno, incluindo uma associacao do

tipo agregacao com a classe TipoBolsista. Devido a este relacionamento, a classe

Bolsista contem um atributo implıcito que possibilitara o acesso a determinados

sistemas de acordo com o tipo do bolsista;

4Como parte inicial, sendo que o diretorio pode ter sua estrutura expandida para incorporar novos siste-

mas/finalidades.

Page 110: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

94

• Departamento: os objetos desta classe representam os departamentos da Universi-

dade, como Departamento de Ciencias da Computacao (DCC), Departamento de

Engenharia Eletrica (DEE), Departamento de Engenharia Mecanica (DEM), entre

outros;

• TipoProfessor: os objetos desta classe representam os tipos de professor, que podem

ser de Coordenador de Curso, Chefe de Departamento, Diretor Geral, entre outros;

• Professor: e uma subclasse de Usuario com um relacionamento do tipo agregacao

com a classe Departamento. Com isso, pode-se filtrar acesso de acordo com esta

informacao;

• Setor: os objetos desta classe representam os setores da Universidade, entre eles o

Financeiro, o Administrativo, o de Compras, entre outros;

• Funcionario: e uma subclasse de Usuario com um relacionamento do tipo agregacao

com a classe Setor. Desta forma, filtra-se o acesso baseado nestas informacoes;

• FuncionarioVisitante: esta classe representa os funcionarios de outras instituicoes

que prestam servicos a Universidade;

• Administrador: e uma subclasse de Usuario que contem atributos especıficos e

representa pessoas responsaveis pela administracao dos sistemas, bem como do

proprio diretorio.

Na Figura 5.8, estao representados os atributos que sao comuns entre os

sistemas existentes na UDESC e os que podem ser pontos de extensao de novos sistemas.

Dessa forma pretende-se evitar redundancia de dados, bem como inconsistencias entre

os diversos sistemas no que tange os dados referentes aos usuarios. Com base nisto, as

expansoes do primeiro modelo para o segundo sao:

• A classe Pessoa que contem os atributos comuns aos quatro tipos de usuarios, que

nao sao utilizadas para controle de acesso, sendo esses o telefone, o email, o celular,

o sexo, a identidade, o Orgao Emissor e o CPF;

Page 111: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

95

• As classes Aluno, Funcionario, Professor e Administrador, que no primeiro modelo

herdavam as caracterısticas de Usuario, agora passaram a ser sub-classes de Pessoa,

que por sua vez e filha de Usuario;

• A classe Endereco especifica dados de localizacao que sao utilizados em varios

sistemas, estes sao: logradouro, numero, complemento, bairro, CEP, cidade, UF e

pais;

• A inclusao do tıtulo do professor, que representa a graduacao deste, a fim de titular

e diferenciar Especialistas, Mestres, Doutores, entre outros;

• A classe RegimeDeContratacao que distingue, como por exemplo, professores co-

laboradores de efetivos;

• O curso no qual o aluno esta matriculado e representado pela classe Curso, sendo

que esta informacao e de vital importancia para os diversos sistemas que fazem

parte da UDESC.

Com base nesses dados, pode-se dizer que este modelo busca englobar

os atributos que fazem parte da estrutura do diretorio proposto, a fim de satisfazer a ne-

cessidade de integracao das informacoes, eliminando as redundancias e as inconsistencias

entre varios sistemas existentes. Alem disso, este tambem foi desenvolvido visando con-

templar possıveis novas aplicacoes de forma que estas ja tenham uma modelagem pre-

definida.

5.3 Conclusao

Neste capıtulo foram apresentados os principais sistemas e servicos uti-

lizados no CCT/UDESC, como o SigmaWeb, o Pergamum, o Sistema de Empenho, o Sis-

tema de Viagens, a Intranet, o Sistema de Bolsas de Apoio Discente e a disponibilizacao

de contas de usuarios, de servicos de correio eletronico, de ADSL e de acesso via VPN.

Page 112: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

96

Para cada sistema foram descritas informacoes que contemplam suas

principais caracterısticas, funcionalidades e funcionamento. Alem disso, foram levanta-

das as formas de autenticacao/identificacao existentes e os cadastros realizados.

Estas informacoes foram analisadas dando origem a um modelo que

trata as formas e nıveis de acesso e os dados mais relevantes e redundantes destes sistemas/

servicos. Com base nisto, uma modelagem padrao e generalizada foi relatada, buscando

sempre nao intervir nas funcionalidades proprias ou individuais de cada sistema.

Page 113: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Capıtulo 6

Consideracoes Finais

O LDAP e uma simplificacao do DAP, porem com muitas de suas fun-

cionalidades. Diante disto, pode-se dizer que este e de facil compreensao e fora elaborado

de modo a disponibilizar sua implantacao em diferentes plataformas e em ambientes com

poucos recursos computacionais e integrar os dados existentes em diferentes sistemas.

Esta integracao e baseada na criacao de identidades digitais, as quais facilitam a gerencia

de dados de um diretorio e os processos de autenticacao e autorizacao, diante cliente e

servidor.

Buscando realizar uma modelagem das informacoes, definindo identi-

dades para os usuarios, deve-se saber tambem como funciona a comunicacao entre um cli-

ente e um servidor, a fim de verificar como e realizada a comunicacao com os dados dentro

do diretorio, como sao definidos os atributos, seus tipos e valores, como as estruturas de

dados, entradas e classes de objeto sao constituıdas, organizadas e identificadas, como

sao descritas as operacoes, as quais definem formas de comunicacao cliente/servidor, e

como devem ser tratados os dados para que se obtenha seguranca. Tais definicoes relatam,

respectivamente, os Modelos de Informacao, Nome, Estrutural e de Seguranca.

Com base nas diversas especificacoes, necessarias para definir um di-

retorio, e na necessidade de modelar as identidades deste, pode-se dizer que existe o

problema de como definir tais identidades. Tal fato e proveniente da dificuldade de en-

contrar literaturas a respeito (sobre modelagem e definicoes de identidades) e pela falta

Page 114: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

98

de um padrao a ser seguido, ou seja, por esta tender a ser implıcita e empırica.

Este tipo de modelagem, e determinacao de como sao especificadas

as identidades, podem ser encontradas em trabalhos desenvolvidos pela UFRGS e pela

UFRJ. Porem, cada um deles adotou sua propria forma de desenvolvimento e aplicabi-

lidade. Nesses dois casos os requisitos sao analisados e com base nestes o trabalho e

executado, nao aparentando empregar uma metodologia especıfica, ou seja, aparentando

ser executado de modo empırico.

O modelo proposto neste trabalho teve como base uma pesquisa reali-

zada (levantamento de dados) com os usuarios dos sistemas e servicos do CTT/UDESC.

Tais informacoes foram analisadas de forma geral, a fim de eliminar as redundancias

existentes. Alem disso, esta modelagem leva em consideracao as informacoes necessarias

para unificar os dados relativos a identificacao/autenticacao. Essa abordagem, de modelar

a identificacao do usuario, foi seguida em funcao da necessidade em encontrar um ponto

de convergencia de todos os sistemas que pudesse ser empregado como base comum a

modelagem dos sistemas existentes e futuros.

Outra consideracao relevante pode ser feita quanto aos aspectos tec-

nologicos disponıveis para implementacao do LDAP. Comprovou-se que existem solucoes

disponıveis para varias plataformas de sistemas operacionais para implementacao do ser-

vidor nao sendo este fator um impecilho a implementacao do servico. Porem analisando

do lado cliente percebe-se que cabe ao desenvolvedor de aplicativos implementar o pro-

cesso de gerenciamento do LDAP (consultas, insercoes, exclusoes, etc) no seu software,

empregando os padroes de comunicacao que sao abertos e de domınio publico. Obser-

vando esses pontos chegou-se a conclusao que o LDAP nao e mais empregado devido

a ausencia de capacitacao (e em determinadas situacoes o desconhecimento que existe o

proprio recurso)por grande parte dos desenvolvedores de aplicativos, que acabam gerando

redundancias e inconsistencias recriando recursos que ja existem.

No decorrer da realizacao deste, a maior dificuldade foi a de identi-

ficar as informacoes que sao comuns nos sistemas e servicos, pois estes nem sempre

tinham documentacao. Com base nisso, conclui-se que alguns sistemas podem conter

informacoes em comum que nao foram identificadas e consequentemente analisadas.

Page 115: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

99

Baseando-se na modelagem sugerida, trabalhos futuros podem ser fei-

tos relacionados a este, como a sua implantacao e a forma de integracao/utilizacao deste

para outros centros. Isso mostra-se estimulante ao fato de que, uma vez realizadas es-

tas adaptacoes, varios sistemas e centros poderao ter acesso a uma forma de padro-

nizar/centralizar as informacoes e gerenciar estas com maior facilidade, possibilitando

tambem ao usuario um unico meio de acesso e maior seguranca.

Com a execucao deste trabalho foram atingidos os objetivos definidos

no projeto de acordo com o planejado. Observando o Apendice B, constata-se que todo

o cronograma foi seguido, com alguns atrasos devido a falta de materiais, porem mesmo

assim os objetivos puderam ser conquistados. Estes objetivos podem ser representados

pela contextualizacao apresentada neste trabalho, gerando assim uma contribuicao para

o entendimento dos conceitos e definicoes, que proporcionaram a base teorica para a

realizacao do modelo proposto. Alem desses fatos, varios outros assuntos interessantes

de pesquisar foram revelados, sendo que os mesmos nao foram abordados por nao estarem

inseridos nos objetivos/escopo desse estudo.

Diante do escopo pre-definido, pode-se concluir que a necessidade da

criacao e desenvolvimento dos servicos de diretorios surgiu devido a grande quantidade

de sistemas isolados, os quais geravam replicacao de dados e consequentemente incon-

sistencia destes. Com o objetivo de sintetizar e unir estas informacoes, eliminando as

redundancias, foram especificados padroes, protocolos, modelos, servicos e aplicacoes

que tem como base as funcionalidades do protocolo LDAP.

Page 116: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Referencias Bibliograficas

[Allen, 2003] Allen, R. (2003). Active Directory Cookbook. O’Reilly.

[ALVES, 2005] ALVES, J. M. (2005). Proposta de Uso Do Protocolo LDAP Na Infra-

Estrutura Da UDESC-Joinville.

[Anonimo, 2005a] Anonimo (2005a). Daemons, sinais e controle de processos. Dis-

ponıvel em: <http://www.openit.com.br/freebsd-hb/basics-daemons.html>.

[Anonimo, 2005b] Anonimo (2005b). Fatos e numeros: O uso da mnemonica. Dis-

ponıvel em: <http://www2.uol.com.br/publifolha/lv 262a.htm>.

[Archives, 2005] Archives, I. F. (2005). Internet RFC STD/FYI/BCP archives. Dis-

ponıvel em: <http://www.faqs.org/faqs/ >.

[Bernardes, 2005] Bernardes, M. C. (2005). Senha universal com LDAP. Disponıvel em:

<http://www.usp.br/cci/downloads/SenhaUniversal LDAP.ppt#19>.

[Brito, 2005] Brito, I. C. (2005). Servico de Ddiretorio. Universidade Catolica do Salva-

dor.

[Carneiro, 2005] Carneiro, L. F. (2005). Rotea-

dores e seguranca em redes. Disponıvel em:

<http://www.apostilando.com/download final.php?cod=342&autenticado=nao>.

[Carter, 2003] Carter, G. (2003). LDAP System Administration. O′Reilly.

[Carvalho, 2005a] Carvalho, Osvaldo; Buzato, L. E. (2005a). GT-middleware. Dis-

ponıvel em: <http://www.rnp.br/ arquivo/documentos/pal0221.pdf>.

Page 117: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

101

[Carvalho, 2005b] Carvalho, Osvaldo; Buzato, L. E. (2005b). Middlleware universitario:

Vantagens da adotacao por universidades. Disponıvel em: <http://www.dirigentes-

tiifes.ufrgs.br/6encontro/Palestra%2018 GT%20Middleware%20MECRNP-

ANDIFES.pps>.

[Carvalho, 2005c] Carvalho, Osvaldo; Rodriguez, N. J. E. P. D. (2005c). GT - diretorios:

Uma arquitetura de autenticacao e autorizacao para a universidade brasileira. Dis-

ponıvel em: <http://www.rnp.br/ arquivo/gt/2003/diretorios.pdf>.

[Chong, 2004] Chong, F. (2004). Gerenciamento de identidade e acesso. JOURNAL3

Jornal de Arquitetos da Microsoft, pages 20–31.

[Craft, 2001] Craft, Melissa C.; Llewellyn, T. (2001). Windows 2000 Active Directory, 2

Ed. Syngress Publishing.

[EDirectory, 2005] EDirectory, N. (2005). Novell. Disponıvel em:

<http://www.novell.com/ptbr/products/edirectory/>.

[Filho, 2005] Filho, A. R. (2005.). X.500: Um servico de diretorio para

redes de computadores em ambientes heterogeneos. Disponıvel em:

<http://www.pr.gov.br/batebyte/edicoes/1995/bb45/x500.htm>.

[Foundation, 2005] Foundation, O. (2005). Configuring slapd. Disponıvel em:

<www.openldap.org>.

[Garcia, 2005] Garcia, L. F. F. (2005.). X.500. Disponıvel em:

<http://penta2.ufrgs.br/rc952/trab2/x500.html>.

[Goldani, 2005] Goldani, C. A. (2005). Seguranca em redes de telecomunicacoes. Dis-

ponıvel em: <http://www.unicert.com.br/files/doc/unicert08.doc>.

[GSI, 2005] GSI, G. d. S. d. I. (2005.). Servico de di-

rectoria para a universidade do minho. Disponıvel em:

<http://campusvirtual.uminho.pt/uploads/Servico Directoria.pdf>.

Page 118: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

102

[Guimaraes, 2005] Guimaraes, J. d. O. (2005.). Apostilas de padroes de projeto e fra-

mework. Disponıvel em: <http://www.dc.ufscar.br/ jose/courses/oc/pct.htm>.

[Hoffman, 2004] Hoffman, Marc; Hoffman, L. A. P. (2004). Active Directory By the

Numbers: Windows Server 2003. Numbers Publications.

[House, 2000] House, Daniel E.; Hahn, T. M. L. D. R. (2000). E-Directories: Enterprise

Software, Solutions, and Services. Pearson Education Corporate Sales Division.

[Isquierdo, 2001] Isquierdo, G. S. (2001). Integracao do servico de diretorio LDAP com

o servico de nomes CORBA.

[Kanies, 2001] Kanies, L. A. (2001.). An introduction to LDAP. Disponıvel em:

<http://www.onlamp.com/pub/a/onlamp/2001/08/16/ldap.html>.

[Kellermann, 2005] Kellermann, Gustavo Adolfo; Silvello, J. C. (2005).

Programacao distribuıda e paralela: OpenLDAP. Disponıvel em:

<http://planeta.terra.com.br/informatica/silvello/openldap/ >.

[Komarinski, 2005] Komarinski, M. (2005.). LDAP − lightweight di-

rectory access protocol − o que, e por que. Disponıvel em:

<http://br−linux.org/artigos/ldap intro.htm>.

[LCC/UFMG, 2005] LCC/UFMG, L. d. C. C. . U. F. d. M. G. (2005.). LDAP. Dis-

ponıvel em: <http://www.rnp.br// arquivo/sci/2004/curso LDAP.pdf>.

[Lozano, 2005] Lozano, F. (2005). Integracao de rede com diretorios LDAP. Disponıvel

em: <http://labbi.uesc.br/apostilas/revista do linux/025/rede.html>.

[MacIsaac, 2005] MacIsaac, M. (2005). Directory Solutions Using OpenLDAP. SHARE.

[Marshall, 2005] Marshall, B. (2005). Introduction to LDAP, pages 1–127.

[Martines, 2002] Martines, Carla Guimaraes; Lima, E. C. d. (2002). Estudo da

configuracao do protocolo LDAP visando a replicacao do modulo catalogo do soft-

ware direto.

Page 119: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

103

[Martins, 2005] Martins, D. N. (2005.). LDAP: Uso e aplicacoes. Disponıvel em:

<http://www.rnp.br/ arquivo/sci/2000/ldap.pdf>.

[Microsoft, 2005] Microsoft (2005). Active directory. Disponıvel em:

<http://www.dcc.ufmg.br/pos/html/spg2002/anais/lamarque/lamarque.html>.

[Morgan, 2005] Morgan, B. L. B. (2005). Identifiers, authentication,

and directories: Best practices for higher education. Disponıvel em:

<http://sites.grude.ufmg.br/QuickPlace/lcc/PageLibrary83256A0900141D08.nsf/$

defaultview/A7599465F72F8C9A83256A460071E2C7/$File/Identifiers%2C%20Au

thentication%2C%20and

[MOTTA, 2001] MOTTA, Gustavo H. M. B.; FURUIE, S. S. (2001). Um modelo de

autorizacao e controle de acesso para o prontuario eletronico de pacientes em ambi-

entes abertos e distribuıdos. Revista Brasileira de Engenharia Biomedica, 17(3):141–

150.

[Naguel, 2005] Naguel, Frederico Fernando; Fernandes, E. C. (2005).

LDAP - lightweight directory access protocol. Disponıvel em:

<http://www.ldap.liceu.com.br/index.html>.

[NBR, 2001] NBR, I. . (2001). Tecnologia Da Informacao: Codigo de Pratica Para

a Gestao Da Seguranca Da Informacao. ABNT - Associacao Brasileira de Normas

Tecnicas, Rio de Janeiro.

[Pininga, 2005] Pininga, Jose Edmir; Silva, J. E. D. T. J. (2005). Trabalho sobre OpenL-

DAP. Disponıvel em: <http://www.geocities.com/SoHo/1062/>.

[Pohlman, 2003] Pohlman, M. (2003). LDAP Metadirectory Provisioning Methodology:

A Step by Step Method to Implementing LDAP Based Metadirectory Provisioning &

Identity Management Systems. Writer’s Showcase.

[PUCPR, 2005] PUCPR (2005). Pergamum. Disponıvel em:

<http://www.pergamum.pucpr.br/pergamum/php/index.php>.

Page 120: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

104

[Quirino, 2005] Quirino, Felipe Silva; Junior, H. S. d. F. (2005). Autenticacao distribuıda

de sistemas hıbridos e servicos de rede baseada em servico de diretorios. Disponıvel

em: <http://www.redes.unb.br/PFG.202004.pdf>.

[Rhee, 2003] Rhee, M. Y. (2003). Internet Security: Cryptographic Principles, Algo-

rithms and Protocols. John Wiley & Sons Ltd.

[RNP, 2005] RNP, R. N. d. E. e. P. (2005.). Public key cryptography for initial authenti-

cation in kerberos. Disponıvel em: <http://www.rnp.br/ietf>.

[Schneier, 2001] Schneier, B. (2001). Seguranca.Com, Segredos e Mentiras Sobre a

Protecao Na Vida Digital. Editora Campus Ltda, Rua: Sete de Setembro, 111 − 16

andar - Rio de Janeiro/RJ.

[Semola, 2003] Semola, M. (2003). Gestao Da Seguranca Da Informacao: Uma Visao

Executiva. Editora Campus Ltda, Rio de Janeiro/RJ.

[Soares, 1995] Soares, Luiz Fernando Gomes; Lemos, G. C. S. (1995). Redes de Com-

putadores: Das LANs, MANs e WANs As Redes ATM. 2. Ed. Campus, Rio de Janeiro.

[Souza, 2005] Souza, L. V. (2005). Servico descentralizado de

localizacao de recursos em redes de computadores. Disponıvel em:

<http://www.dcc.ufmg.br/pos/html/spg2002/anais/lamarque/lamarque.html>.

[Takahashi, 2005] Takahashi, Hugo Leonardo; Hattori, K. H. (2005). In-

teligencia artificial voltada a educacao: Glossario. Disponıvel em:

<http://www.din.uem.br/ia/a correl/iaedu/glossario.htm>.

[Tanenbaum, 1997] Tanenbaum, A. S. (1997). Redes de Computadores. Rio de Janeiro,

3rd edition.

[TUTTLE, 2005] TUTTLE, S. e. a. (2005). Understan-

ding LDAP: Design and implementation. Disponıvel em:

<http://www.redbooks.ibm.com/redbooks/pdfs/sg244986.pdf>.

Page 121: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

105

[UDESC, 2005] UDESC (2005). Centro de ciencias tecnologicas - CCT. Disponıvel em:

<www.joinville.udesc.br>.

[UFRGS, 2005] UFRGS, I. d. I. (2005). Projeto direto: Siste-

mas avancados para comunicacao eletronica. Disponıvel em:

<http://www.inf.ufrgs.br/procpar/direto/#>.

[Vitorio, 2005] Vitorio, Marcelo Martinho; Luz, S. E. B. D. (2005.).

Servico de diretorio LDAP: Estrutura e funcionamento. Disponıvel em:

<http://twiki.im.ufba.br/pub/GESI/WebHome/GESI apresentacao LDAP release

candidate.ppt>.

[Voglmaier, 2004] Voglmaier, R. (2004). The ABCs of LDAP: How to Install, Run, and

Administer LDAP Services. Auerbach Publications.

[Wanderley, 2005] Wanderley, Euricelia Viana; Moura, M. T. (2005). A integracao de

LDAP e certificados digitais em uma polıtica de seguranca. Disponıvel em: <http://

www.rnp.br/newsgen/0011/ldap.html#ng-resumo>.

Page 122: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice A

Plano de Trabalho

Neste anexo esta contido o Plano de Trabalho, da primeira e segunda

parte do Trabalho de Conclusao de Curso (TCC), aprovado no primeiro semestre do

ano de 2005. A inclusao deste plano visa esclarecer detalhes de execucao, eliminar re-

dundancias de descricoes e estabelecer uma correlacao entre o planejado e desenvolvido

pela orientanda.

Page 123: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice B

Cronograma do Trabalho

Neste anexo estao contidas as etapas do Cronograma de Trabalho, da

primeira e segunda parte do Trabalho de Conclusao de Curso (TCC), aprovado no pri-

meiro semestre do ano de 2005. A inclusao deste cronograma visa deixar clara a relacao

existente entre as etapas1 que foram previstas e as que foram realizadas.

Figura B.1: Cronograma Geral: Previsto X Realizado

1Verificar a descricao das etapas no Apendice A.

Page 124: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice C

Configuracao do OpenLDAP no Linux

Neste anexo estao contidas as informacoes necessarias para a configu-

racao do OpenLDAP na distribuicao do Linux Kurumin versao 5.0. A incluso desde visa

possibilitar a visualizacao de forma pratica de configurar e trabalhar com um servidor

LDAP.

Apos a instalacao do Kurumin deve ser feita a atualizacao dos pacotes

no apt-get atraves do comando:

• sudo apt-get update

Finalizando esta etapa, verifique quais dos pacotes estao apresentando

erro e comente-os no arquivo:

• etc/apt/sources.list

Com o linux ja instalado e com os pacotes atualizados, deve-se instalar

o Apache-php4 e o MySQL que se encontra no Centro de Controle do Kurumin/Instalar

e Configurar Servidores.

Depois de instalados o Apache e o Mysql instale o OpenLdap, que nessa

distribuicao recebe o nome do pacote gforge-ldap-openldap, com o comando:

• sudo apt-get install gforge-ldap-openldap

Page 125: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

109

A fim de facilitar a criacao dos grupos e usuarios no OpenLDAP, pode-

se utilizar o phpldapadmin que e uma interface grafica. Para instala-lo execute o comando:

• sudo apt-get install phpldapadmin

Para acessar o phpldapadim digite o endereco:

• http://127.0.0.1/phpldapadmin

Page 126: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice D

Tela de Dados do SigmaWeb

Neste anexo esta contida a tela principal do SigmaWeb, onde as infor-

macoes estao dispostas e organizadas de acordo com o menu a esquerda. Tais dados re-

presentam informacoes do contexto academico, da Univesidade, para professores, alunos

e funcionarios.

Figura D.1: Tela de Dados do SigmaWeb

Page 127: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice E

Telas de cadastro do Pergamum

Neste anexo estao contidas as telas do Sistema Pergamum, as quais

contem os dados necessarios para o cadastro de usuarios. Tais dados sao caracterizadores

e geram uma identidade para cada novo cadastro.

Figura E.1: Tela Validade do Cadastro de Usuario do Pergamum

Page 128: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

112

Figura E.2: Tela Area de Conhecimento do Cadastro de Usuario do Pergamum

Figura E.3: Tela Base de Dados do Cadastro de Usuario do Pergamum

Page 129: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

113

Figura E.4: Tela Dados Responsavel do Cadastro de Usuario do Pergamum

Figura E.5: Tela Unidade Organizacional do Cadastro de Usuario do Pergamum

Page 130: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

114

Figura E.6: Tela Emprestimo - Senha do Cadastro de Usuario do Pergamum

Page 131: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice F

Ficha de Pre-Empenho

Neste anexo esta contida a Ficha de Pre-Empenho que e utilizada por

interessados em realizar uma solicitacao de um determinado empenho. Esta serve para

demonstrar as informacoes necessarias para tal fim, as quais serao adicionadas no Sistema

de Empenho.

Figura F.1: Ficha com as informacoes necessarias para realizar uma solicitacao de empenho.

Page 132: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice G

Telas de Cadastro de Empenho

Este anexo apresenta as telas do Sistema de Empenho, onde sao ca-

dastradas todas as informacoes necessarias para realizar a solicitacao de empenho. Este

sistema, disponibilizado pela Universidade, busca facilitar o controle de pedidos e de

pagamentos realizados.

Figura G.1: Tela de Dados do Sistema de Empenho

Page 133: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

117

Figura G.2: Tela de Dados do Sistema de Empenho

Page 134: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice H

Telas do Sistema de Viagens

Neste anexo estao contidas as telas do Sistema de Viagens, as quais pos-

sibilitam o cadastro de solicitacoes de recursos financeiros. Com base nestas informacoes,

as propostas sao analisadas e o auxılio financeiro concedido ou nao.

Figura H.1: Tela de Identificacao do Sistema de Viagens

Page 135: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

119

Figura H.2: Tela de Solicitacao do Sistema de Viagens

Page 136: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice I

Tela da Intranet

Este anexo apresenta a tela principal da Intranet, na qual estao dispostos

os servicos existentes. Este sistema, disponibilizado pela Universidade, busca atender os

seus usuarios com suas inumeras funcionalidades.

Figura I.1: Tela de servicos disponibilizados pela Intranet

Page 137: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice J

Telas do Cadastro do Sistema de Bolsa

Este anexo contem as telas de cadastro do Sistema de Bolsas de Apoio

Discente. Tais informacoes sao necessarias para caracterizar aspectos relevantes diante as

condicoes financeiras e as necessidades de bolsa de cada pessoa.

Figura J.1: Tela de Cadastro do Sistema de Bolsa

Page 138: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

122

Figura J.2: Tela de Identificacao do Sistema de Bolsa

Figura J.3: Tela de Dados do Sistema de Bolsa

Page 139: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice K

Ficha de Dados

Neste anexo esta contida a Ficha de Dados que e utilizada por inte-

ressados em adquirir algum dos servicos disponibilizados pela UDESC. As informacoes

contidas nela sao utilizadas pelo Suporte da Universidade para realizar cadastros e dispor

os servicos.

Figura K.1: Ficha de Dados para Solicitacao de Servicos

Page 140: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice L

Telas de Cadastro de Solicitacao de

ADSL

Este anexo apresenta as telas do Sitema de Solicitacao de ADSL. Tais

informacoes sao preenchidas para requisitar a disponibilizacao do servico de ADSL que

a Universidade fornece.

Figura L.1: Termo de Acordo

Page 141: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

125

Figura L.2: Tela de Cadastro de Solicitacao de ADSL

Page 142: Uma Proposta de Implementac¸ao do Protocolo LDAP˜ no ... · UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIENCIA DA COMPUTACˆ ¸ AO˜ Franscielly Benvenutti Eccel Uma

Apendice M

Implementacao do modelo proposto

Este anexo apresenta a tela com as configuracoes do modelo proposto,

que pode ser representadas pela Figura 5.6. Esta estrutura foi desenvolvida buscando

contemplar os possıveis usuarios do CTT/UDESC e as funcionalidades do OpenLDAP e

da interface grafica phpldapadmin.

Figura M.1: Tela de demonstracao da implementacao do que foi proposto