Sumario
1. Introdução
2. Autenticação de Redes
3. LDAP
3.1.
Origem
3.2.
Mais Sobre
3.3.
Definições
3.4.
Modelo de Informações
3.5.
Implantação
3.6.
Modelo de Serviços LDAP
3.7.
Operações Aceitas pelo LDAP
4. Open LDAP
5. Kerberos
5.1. O que é
5.1. O que é
5.2.
Como Surgiu
5.3.
Funcionalidade
6. Integração
7. Vantagens e Desvantagens
8. Conclusão
9. Referencias
Introdução
Computadores
são maquinas capazes de vários tipos de tratamentos automáticos de informações
ou processamento de dados. Alguns de seus mais notáveis exemplos incluem o
ábaco, a calculadora, o computador analógico e o computador digital. O
computador possui inúmeros atributos, entre eles estão à possibilidade de
comunicação entre as maquinas por meio de cabeamento ou sinais remotos, sendo
mais conhecido como a rede.
Hoje
em dia praticamente todas as empresas possuem uma rede interligando os
computadores, por conta da necessidade do uso de aplicações distribuídas, que
por sua vez podem vir a utilizar os mesmos dados para realizar suas funções,
então é necessária uma forma de organizar seus dados. Pela diversificação de
equipamentos de sistemas que compõe uma rede é necessário a implantação de
diversos serviços que atendam e facilitam o acesso para os usuários, além de
manter a segurança e a estabilidade da rede.
Nesse
trabalho abordaremos o tema, e explicando o uso e a necessidade da autenticação
e criptografia nas redes, dando ênfase aos protocolos LDAP e Kerberos,
explicando um pouco de sua história, sua funcionalidade, algumas curiosidades
sobre os mesmos e suas vantagens e desvantagens.
Autenticação
de Redes
A autenticação é importante quando uma corporação
oferece acesso em sua rede privada, através de uma rede pública como a Internet
a funcionários que estão em trânsito, e que, precisam acessar a rede para atualizar
ou consultar informações vitais.
Segundo a ISO (International Standardization
Organization - Organização Internacional para Padronização), no contexto da
computação, “vulnerabilidade é qualquer fraqueza que pode ser explorada para se
violar um sistema ou as informações que nele contém”.
A Segurança de Rede pode ser dividida, em três
grandes áreas: a defesa contra catástrofes, a defesa contra falhas previsíveis
e a defesa contra atividades não autorizadas.
A necessidade de autenticação de usuários em uma
rede de computadores é o principal aspecto para a segurança da informação e
está associada à possibilidade de acesso restrito a uma determinada área ou
serviço da rede, se caso não for possível identificar uma pessoa que esteja
tentando acessar um sistema, nenhum outro modo de segurança fará sentido.
LDAP
Origem
O Protocolo LDAP, é um protocolo leve
para acessar serviços de diretórios baseados no padrão X. 500. O protocolo X.
500 é um protocolo pesado, e custoso, pois opera sobre toda a pilha OSI (Open
Systems Interface) e demanda de uma grande quantidade de recursos
computacionais. Já o LDAP foi criado para funcionar sobre o TCP/IP e
fornece a maioria dos recursos do X. 500, porém de uma forma muito mais rápida.
O LDAP é considerado leve, pois não precisa
rodar em toda a pilha de sete camadas OSI. O LDAP é baseado no modelo
cliente servidor e conta com requisições assíncronas, ou seja, elas acontecem
em background, podendo assim, um cliente efetuar várias requisições em
paralelo, desta forma, as respostas não acontecem na mesma ordem que foram
efetuadas as requisições. Outro motivo que justifica o ganho (leveza) do LDAP
sobre o X. 500 é que ele omite várias operações que são raramente utilizadas.
Definições
Serviço de diretório
Os Diretórios
que de forma simples, podemos resumir, como um banco de dados, otimizado para
consultas é um repositório de informações sobre objetos. Podemos fazer uma
analogia de um diretório com um dicionário, onde as informações são armazenadas
para consultas, tendo os verbetes organizados em ordem alfabética. Serviços de
diretório e banco de dados como o Microsoft SQL Server compartilham várias
características importantes, como uma busca rápida e um esquema que pode ser
estendido. A diferença é que um serviço de diretório é tem como foco a
consulta, já o MS SQL, se assume que a escrita ocorre com a mesma frequência.
Portanto, para os serviços de diretórios, não são essenciais, algumas
características, ainda sim, contamos com transações e travas de escritas.
Camada OSI
É um padrão
para conectar computadores em rede, sua arquitetura tem um modelo baseado em
sete camadas: Camada Física, Camada de Enlace/Ligação de dados, Camada de Rede,
Camada de transporte, Camada de Sessão, Camada de Apresentação, Camada de
aplicação.
Modelo de informações
O modelo de informações do LDAP é
baseado em entradas, que são uma coleção de atributos contando sempre com um
Nome Distinto (Distinguished Name DN) globalmente único. O DN é usado para se
referir a uma entrada sem o problema de ambiguidade. Cada entrada sempre tem um
tipo, e uma ou mais valores. Os tipos geralmente são textos (strings)
mnemônicos, como por exemplo, mail, para e-mail. Já a sintaxe dos valores
depende do tipo do atributo, Por exemplo, um atributo mail pode conter o valor
“castelanzinho@esamc.edu.br”, já um atributo jpeg Photo poderia
conter uma fotografia no formato JPEG (binário). No LDAP as entradas de serviço
de diretório são organizadas em uma estrutura de árvore hierárquica. Essa arvore
é denominada como DIT (Directory Information Tree).
Implantação
É cada vez mais comum armazenar as
informações de rede em um diretório, utilizando de um serviço de diretório
LDAP. Isso facilita e padroniza o acesso, contando sempre com segurança e agilidade.
Sendo assim, todos os serviços de rede, como autenticação, e-mail, impressão,
compartilhamento, entre outros, buscaram as informações neste diretório. Outra
vantagem neste modelo é que podemos ter uma rede heterogênea. Como exemplo,
podemos montar um servidor Open LDAP como base, integrarmos a máquinas Linux
autenticadas com o PAM (Pluggable Authentication Modules), e Windows com o
Samba, e toda a comunicação entre os serviços protegidas com TLS.
O serviço de diretório LDAP é baseado
no modelo cliente servidor, Onde um ou mais servidores LDAP contêm os dados,
montando assim a árvore de informação do diretório (DIT). O cliente se conecta
no servidor LDAP, o mesmo envia a resposta com a informação requisitada, ou
aponta para outro servidor LDAP. Os modelos são: Cliente Servidor simples;
Cliente Servidor com Referência, Cliente Servidor Com Replicação.
Operações aceitas pelo LDAP:
- start_tls -
utiliza o protocolo TLS(Transport Layer Security) para garantir uma
conexão segura.
- bind -
estabelece a conexão, autentica o cliente e especifica a versão do LDAP.
- search -
realiza uma busca por entradas no diretório.
- compare - testa
se uma entrada possui determinado atributo.
- add -
adiciona uma nova entrada.
- delete -
remove uma entrada.
- modify -
altera uma entrada.
- modify_DN -
renomeia ou move uma entrada.
- abandon -
aborta uma operação, mas não envia resposta.
- unbind -
abandona qualquer operação pendente e fecha a conexão.
- extended operations - é uma operação genérica que permite criar novas operações.
Podemos citar como exemplo Password Modify para alteração de senha e
Cancel que funciona de maneira semelhante à Abandon, mas retorna mensagem
de erro ou sucesso.
OPEN LDAP
O Open LDAP é um pacote de aplicativos
LDAP Open-Source, que disponibiliza todas as ferramentas necessárias para um
serviço de diretórios LDAP como (Servidores, clientes, ferramentas de
desenvolvimento, etc.), ela esta disponível, para várias plataformas (Linux,
Solaris, MacOs) e por ser madura, é uma excelente alternativa a implementações
comerciais existentes, como o Microsoft Acitve Directory, Sun Java System
Directory Server, etc. O Open LDAP trabalha com threads, para melhor desempenho
e com TLS, SSL, SASL para maior segurança.
Kerberos
Trata-se
de um protocolo de autenticação de rede utilizado para autenticar cliente
servidor de uma rede de uma maneira baseada em chaves mestras e criptografia,
com isso elimina senhas trafegando pela rede, e assim obtendo mais segurança em
sistemas de informações.
Ele
é o principal protocolo de segurança e autenticação do Active Directory, além
de ser um protocolo de segurança distribuído, permitindo com que os usuários
acessem os recursos em qualquer lugar da rede com apenas um logon.
Como surgiu
Foi
criado nos anos 80 em Massachussets no MIT (Massachusetts Institute of
Technology), idealizado principalmente por Clifford Neuman e Steve Miller. Foi
criado com base no protocolo Needham-Schroeder, desenvolvido durante o projeto
Athena, dai vem seu nome baseado no Cérbero (cão mitológico que guardava os
portões de Hades), sendo relacionado a sua função com a função no próprio cão.
“Eu
não sei o quanto a você, mas não gosto da ideia de associar minha rede aos
portões de Hades!”
(Gilson Banin)
Funcionalidade
Trata-se
de um sistema de autenticação integrada, sendo necessário informar a senha
apenas uma vez, depois disso o Kerberos faz a autenticação e criptografia de
forma transparente entre usuários e serviços, pois a permissão do cliente não
expira. Tem por definição autenticar os usuários e criptografar as informações,
criando uma rede na qual não seja possível clonar ou “furtar” senhas, ou então
que uma maquina não conhecida, não possa invadir a rede durante a comunicação.
Possui a autenticação mutua que consiste no cliente validar a identidade da
identidade de servidor e com isso o servidor validar o cliente, o Kerberos
utiliza apenas permissões criptografadas e as senhas não acompanham as
permissões, com isso o aumento da segurança.
O
Kerberos trabalha através de um ou mais servidores chamados de KDCs (Key
Distribuition Centers). Cada KDC possui um banco de dados com os usuários e
senhas da rede, pois ele é o responsável por armazenar e autenticar os
principals. Para tornar a rede segura o
Kerberos não envia as senhas pela rede, ao invés disso, ele utiliza tickets
encriptados para comprovar a identidade dos usúarios.
O
ticket é composto por informações que servem para confirmar a identidade de um usuário
(podendo ser uma máquina, ou serviço) ,
tem como função, identificar os participantes de uma transação, e estabelecer
uma chave de sessão de curta duração que será usada pelas partes para estabelecer
uma comunicação segura., com isso o tráfego de senhas é dispensado. Um ticket possui
o nome do principal solicitante, o nome do principal do serviço solicitado, a
partir de quando o ticket é válido e quando ele expira (normalmente entre 8 e
24 horas), uma lista de endereços IP dos quais o ticket pode ser usado, uma
chave de sessão encriptada que é usada na comunicação entre o usuário e o
serviço.
Integração
Por que integrar Kerberos e LDAP?
Autenticação e Autorização.
A
autenticação é a identificação de algo, como um usuário por exemplo. O termo
“autenticar em um sistema”, quer dizer que estamos dizendo a ele, quem somos,
passando nossas credenciais, normalmente, usuário e senha.
A
autorização por sua vez esta relacionada com as permissões que cada usuário
tem, por exemplo, leitura e escrita. Talvez mais importante que sabermos quem é
o usuário, e saber o que ele pode ou não fazer.
Vantagens e Desvantagens
Como
todos os tipos de transferência de dados, a comunicação pela rede possui
alguns pontos fracos que podem ser
usados para obter senhas e dados em geral. Por esse motivo foram criados os
protocolos de segurança de redes, para tornar essa comunicação mais segura.
Aqui serão apresentadas algumas vantagens e desvantagens dos protocolos LDAP e
Kerberos.
Vantagens
·
Maior resolução, brilho e contraste com
um preto mais intenso
·
Economia de energia comparado aos
monitores de plasma e LCD
·
Telas ultrafinas
·
Ecologicamente corretos (não possuem
mercúrio na fabricação nem )
Desvantagens
·
Preço (ainda alto comparado com a LCD
convencional)
Conclusão
O
protocolo Kerberos é uma ferramenta que se preocupa com a autenticação dos
usuários e serviços em rede, porém somente isso às vezes é pouco, pois é sempre
importante levarmos em conta a autorização do mesmo, afinal não devemos dar
permissão de administradores para todos os usuários, ou mesmo de leitura de
arquivos confidenciais a pessoas não autorizadas, neste ponto podemos contar
com toda a agilidade e organização de outra ferramenta, que agrega muito valor
a este cenário, o LDAP.
Problemas
- Apesar do Kerberos e o LDAP adicionarem mais segurança a rede, ela não estará
totalmente livres de problemas, pois ainda sim continuamos a mercê de problemas
de Hardware e Software. Uma vez que os servidores (Kerberos e LDAP) possam
apresentar um mal funcionamento, ou mesmo parar, é extremamente importante que
tenhamos redundância tanto do servidor com a base de dados quanto do servidor KDC.
Além do Hardware podemos também eleger os problemas de software, uma vez que o
servidor esteja em rede ele pode sofrer ataques, portanto um bom Firewall, um
sistema operacional bem configurado (com as portas fechadas) é extremamente
importante. Outro problema, mas não menos importante, são os usuários, que
devem possuir senhas fortes e não informa-las a ninguém.
Referencias
http://www.ietf.org/rfc/rfc1510.txt
http://www.ietf.org/rfc/rfc4120.txt
Rede
USP
http://www.linux.ime.usp.br/~cef/mac499-06/monografias/erich/html/index.html
Viva
o Linux – Entendendo o LDAP
http://www.vivaolinux.com.br/artigo/Entendendo-o-LDAP?pagina=1
Uso
do protocolo de autenticação Kerberos em redes Linux
http://www.ginux.ufla.br/node/96
Livraria
Microsoft
http://msdn.microsoft.com/pt-br/library/cc280744%28v=sql.105%29.aspx