• Nenhum resultado encontrado

Protocolos de autentica¸ c˜ ao (e/ou autoriza¸ c˜ ao)

At´e agora temos vindo a identificar caracter´ısticas da informa¸c˜ao, mecanismos de au- tentica¸c˜ao e algumas propriedades destes, sempre numa perspectiva generalista. ´E chegada agora a altura de procurar nos protocolos existentes, e que se encontram `a disposi¸c˜ao dos programadores bem como dos administradores de sistemas, estas mesmas caracter´ısticas e propriedades. Quais deles as possuem, em que casos eles se utilizam, o que os diferencia e qual a sua abrangˆencia, s˜ao algumas das perguntas que vamos tentar responder na presente sec¸c˜ao.

3.5.1 Protocolos – problemas, limita¸c˜oes e vantagens

Quando um administrador de sistemas tem de optar por um sistema de autentica¸c˜ao (ou de autoriza¸c˜ao), primeiro que tudo tem de enumerar as caracter´ısticas que necessita que eles possuam para perante os dispon´ıveis poder efectuar a escolha acertada para a empresa/ins- titui¸c˜ao em causa. Nem sempre o que ´e melhor para a Empresa A, significa que tamb´em o ser´a para a Empresa B. Tipicamente no conjunto de caracter´ısticas procuradas est˜ao a abrangˆencia, a possibilidade de recorrer a autentica¸c˜ao forte, autentica¸c˜ao m´utua, tipos de criptografia usados, entre outros. Vamos ent˜ao ver mais em pormenor, na tabela 3.1, os protocolos que s˜ao mais vulgares de encontrar implementados, bem como o que os diferencia. Conforme ´e poss´ıvel observar os protocolos que s˜ao simultaneamente mais vers´ateis e completos s˜ao o LDAP e o Kerberos. Ambos s˜ao independentes da plataforma (Windows, Linux/Unix, etc), possuem uma norma bem definida (RFCs) e, por coincidˆencia ou n˜ao, foram inventados em universidades/institutos de investiga¸c˜ao e n˜ao por fabricantes.

O protocolo Kerberos possui cifra nativa, enquanto o LDAP apenas a possui como op- cional. No que diz respeito `a password de um utilizador que pretende ser autenticado ou aceder a um recurso, no caso do Kerberos ela nunca ir´a fluir na rede; o contr´ario acontece no LDAP – mais uma raz˜ao para ser imprescind´ıvel o recurso ao SSL – pois ir´a fluir em texto simples.

O LDAP possui a vantagem de ser um sistema cujo principal prop´osito ´e o de ser um reposit´orio de informa¸c˜ao de utilizadores (Direct´orio), pelo que, com base nele, ´e poss´ıvel autorizar ou n˜ao o acesso a recursos. Dado que o Kerberos ´e apenas um protocolo de auten- tica¸c˜ao, ele por si s´o n˜ao consegue implementar autoriza¸c˜ao. Por esta raz˜ao estes protocolos surgem frequentemente em conjunto sendo assim explorados os pontos fortes de cada um: o

Protocolo LDAP NTLM NIS Kerberos Propriedade (Light Direc-

tory Access Protocol) (NT LAN Manager) (Network Information Service) Origem / in- ven¸c˜ao University of Michigan

Microsoft Sun Microsys-

tems Massachusetts Insti-

tute of Technology (MIT) Standard RFC 4511, 4513, inde- pendente da platforma protocolo de autentica¸c˜ao desenvolvido pela Microsoft dependente da plataforma aberto, baseado no RFC 4120

Autoriza¸c˜ao sim sim sim standard n˜ao, ex-

tens˜ao MS sim Autentica¸c˜ao forte nativamente n˜ao, apenas atrav´es do GSSAPI n˜ao n˜ao sim Autentica¸c˜ao m´utua n˜ao n˜ao n˜ao opcionalmente pode

ser usado caso o cliente suporte Criptografia SSL opcional v1: RFC 2433;

v2: RFC 2759

S´o no caso do NIS+

sim´etrica: DES de base; podem ser us- adas outras password circula do cliente para o servidor apli- cacional; deste para o servidor de LDAP

sim, cifrada sim nunca circula na rede

Delega¸c˜ao n˜ao n˜ao n˜ao suporta v´arios tipos:

delega¸c˜ao total; del- ega¸c˜ao parcial (Con- strained Delegation); e delega¸c˜ao parcial com transi¸c˜ao de pro- tocolo (vers˜ao 2003 ou mais recentes)

Dependˆencias n˜ao n˜ao NTP NTP e DNS

Kerberos faz a autentica¸c˜ao e o LDAP a autoriza¸c˜ao. Este processo conjunto pode funcionar de duas formas:

• o utilizador apresenta as credenciais Kerberos junto do servidor que possui o recurso ao qual ele pretende aceder; este, ap´os confirmar a veracidade das credenciais, vai obter, via LDAP, as informa¸c˜oes sobre o utilizador para determinar se concede ou n˜ao o acesso ao recurso

• o servidor ao detectar um utilizador a tentar aceder a um recurso, e n˜ao estando o primeiro ainda autenticado vai obrig´a-lo a fazˆe-lo perante o LDAP, mas em vez de recorrer ao mecanismo base do protocolo, vai delegar esta tarefa a uma interface apli- cacional externa, Generic Security Services Application Programming Interface (GSS- API). Esta framework permite que as aplica¸c˜oes que a usem possam, entre outras coisas, vir a evoluir no que diz respeito `a componente de autentica¸c˜ao, sem que a aplica¸c˜ao propriamente dita tenha de ser re-escrita. Como um dos mecanismos a que o GSS-API pode recorrer ´e o Kerberos, isto possibilita que o LDAP possa ter clientes cuja auten- tica¸c˜ao ´e efectuada com recurso a este protocolo. Ap´os a autentica¸c˜ao, o processo de autoriza¸c˜ao decorre de forma idˆentica ao caso anterior.

Apesar do Kerberos de raiz n˜ao implementar autoriza¸c˜ao, atrav´es da explora¸c˜ao de um campo que neste se encontra dispon´ıvel, a Microsoft decidiu implement´a-la com base na informa¸c˜ao existente no reposit´orio LDAP que faz coexistir num s´o servidor. A esta imple- menta¸c˜ao conjunta do servi¸co de Kerberos e do servi¸co de LDAP o fabricante d´a o nome de Active Directory e por sua vez a cada servidor Domain Controler - DC.

O protocolo Kerberos tem vindo a evoluir e por sua vez a implementar novos mecanismos, nomeadamente de delega¸c˜ao de poderes. Por exemplo, no caso de um servidor web que tenha sido autorizado a usar a delega¸c˜ao, quando um utilizador se autenticar perante ele, ser´a poss´ıvel ao servidor obter credenciais para se apresentar junto de um outro servidor como se do pr´oprio utilizador se tratasse,(ex: base de dados), e efectuar nele opera¸c˜oes usufruindo das permiss˜oes atribu´ıdas ao utilizador em causa e n˜ao de permiss˜oes gen´ericas, atribu´ıdas ao servidor ou ao servi¸co em causa. Por uma quest˜ao de seguran¸ca esta delega¸c˜ao poder´a ser parcial, ou seja, pode estar limitada a algum ou alguns servi¸cos que estejam em execu¸c˜ao no servidor e n˜ao `a sua totalidade.

Documentos relacionados