Você está na página 1de 10

A Integrao de LDAP e Certificados Digitais em uma Poltica de Segurana

Euriclia Viana Wanderley <euri@rnp.br> Maria Teresa Moura <teresa@rnp.br> Servio de Suporte a Informaes (SSI) Rede Nacional de Ensino e Pesquisa (RNP) Resumo 1. Introduo 2. Certificados Digitais 3. LDAP 4. Poltica de Segurana 4.1 Ambiente de Segurana do ColdFusion 4.2 Autenticao 4.3 Autorizao 4.4 Viso Geral 4.5 Independncia de Produto 5. Contribuies e Trabalhos Futuros 6. Concluses Agradecimentos Referncias bibliogrficas

Resumo
Este artigo apresenta uma poltica de segurana que integra o uso de certificados digitais e LDAP, no contexto de segurana de Web, para prover autenticao e autorizao para aplicaes Internet. Certificados digitais so relativamente novos na Internet, mas eles representam uma forte tendncia para prover identificao individual e para proteger a privacidade e a integridade das informaes. Em particular, o uso de certificados digitais e criptografia no mais uma opo, mas uma necessidade para corporaes que tencionam fazer uso de troca eletrnica de informaes sem se expor a problemas de privacidade e acessos no autorizados. Na poltica, LDAP integrado com certificados digitais para armazenar as chaves pblicas dos certificados assim como outras informaes dos usurios. LDAP foi escolhido pela tendncia da Internet em adot-lo como um padro. Um framework de segurana foi definido, usando o ambiente de segurana avanado da aplicao Web do ColdFusion, para simplificar o trabalho da equipe de desenvolvimento, mantendo o cdigo fonte da aplicao to independente quanto possvel das mudanas nas regras do controle de acesso. Algumas caractersticas foram priorizadas: o crescimento da segurana sem perda de transparncia para o usurio e o acesso individualizado.
^

1. Introduo
A RNP - Rede Nacional de Pesquisa um programa prioritrio do MCT - Ministrio da Cincia e Tecnologia , cuja execuo encontra-se a cargo do CNPq - Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico . O

principal papel da RNP manter um backbone de servios Internet para a comunidade de ensino e pesquisa do Brasil. Atualmente, a RNP est presente em 26 Estados do Brasil, interconectando centenas de milhares de computadores em mais de 900 instituies. A RNP possui uma Coordenao Nacional subdividida em quatro Coordenaes: geral, operaes, informaes e administrativa. Os diversos servios e atividades mantidos pela Coordenao Nacional so executados pelos ncleos da RNP de forma distribuda e adequada s caractersticas de um projeto de backbone nacional. Este artigo tem como foco a apresentao de uma poltica de segurana para a Intranet da RNP. O principal propsito desta Intranet organizar as informaes produzidas pelos membros do projeto, a fim de facilitar o gerenciamento do trabalho, melhorar a integrao e a comunicao e ajudar no trabalho do dia-a-dia de cada funcionrio da RNP. Nas primeiras verses da Intranet, os principais problemas sobre segurana diziam respeito ao compartilhamento da identificao atravs de grupos de usurios e mecanismos de autenticao baseados em login e senha. Para contornar estes problemas, foi desenvolvida a poltica de segurana apresentada neste documento, que tem como principal propsito integrar o uso de certificados digitais e servios de diretrios para aumentar a segurana, mantendo transparncia, e prover acesso individualizado Intranet.
^

2. Certificados Digitais
Dentre as alternativas existentes para substituir a autenticao por meio de login e senha, a utilizao de certificado digital um mecanismo que permite aumentar o nvel de segurana em transaes pela Internet. Um certificado digital o equivalente eletrnico a documentos fsicos de identidade, tais como RG, CPF ou passaporte. Assim como seu equivalente fsico, um certificado digital identifica unicamente um usurio e pode ser armazenado em um disco rgido, disquete ou at mesmo em um smartcard, quando desejado um alto nvel de segurana. Certificados digitais so a base de uma infra-estrutura de chave pblica (PKI - Public Key Infrastructure). Uma PKI prov um sistema de identificao em que cada usurio recebe um certificado digital. Com estes certificados, so gerados pares de chaves formados por uma chave pblica e uma chave privada de forma que uma informao criptografada com a chave pblica de um usurio s pode ser aberta com a sua chave privada correspondente e vice-versa. A chave pblica disponibilizada, enquanto que a privada mantida em segredo pelo usurio. Os certificados so emitidos e mantidos por uma autoridade certificadora que funciona como uma espcie de cartrio digital. Esta autoridade certificadora pode ser representada por uma entidade externa de confiana ou pela prpria organizao quando a aplicao em questo for restrita corporao, como no caso da Intranet da RNP. Um certificado digital pode ser utilizado, dentre tantas outras aplicaes, para autenticar clientes Web. Neste caso, o certificado emitido para o usurio associado ao seu navegador Web e a transao para envio do certificado fica transparente para o mesmo, sendo realizada entre o navegador do usurio e o servidor Web. No caso particular da Intranet, a proposta a utilizao de certificados para a identificao dos usurios de forma que, a partir do certificado digital instalado no seu navegador, cada um poder efetuar sua autenticao junto Intranet da RNP. A utilizao de certificados digitais hoje uma tendncia muito forte e tem sido apontada como uma das solues mais eficientes para identificao pessoal e para a proteo da privacidade e integridade das informaes. Em artigo publicado na revista Developers em agosto de 2000 [1], os autores consideram que a utilizao de certificados digitais e de criptografia deixa de ser uma opo e passa a ser uma necessidade em corporaes que

desejam fazer uso da praticidade da troca eletrnica de informaes sem a exposio da organizao aos problemas de autenticao e privacidade.
^

3. LDAP
O LDAP (Lightweight Directory Access Protocol) um subconjunto do X.500 DAP que no possui a sobrecarga (overhead) da pilha de protocolos OSI. O protocolo prov um mecanismo para passar queries baseadas em texto de um cliente para um servidor LDAP atravs de uma rede com protocolo TCP/IP. Um servio de diretrio uma aplicao de base de dados distribuda, projetada para gerenciar as entradas e atributos em um diretrio e disponibiliz-las para usurios e outras aplicaes. LDAP um protocolo definindo um servio de diretrio e acesso a este servio, de forma que um servidor LDAP prov o servio de diretrio, e os clientes LDAP usam-no para acessar entradas e atributos. Ele est se tornando o servio de diretrio padro da Internet e capaz de tanto prover acesso aberto aos servios de diretrios da Intranet/Internet, bem como de integrar diretrios heterogneos. Um diretrio consiste de entradas contendo informaes descritivas armazenadas em seus atributos. Por exemplo, um diretrio pode conter entradas descrevendo pessoas ou recursos de redes. Ele pode ser usado em uma larga faixa de aplicaes. Algumas aplicaes so as seguintes:

como um diretrio da instituio para ser usado pelos sistemas de recusrsos humanos (RH); para prover identificao nica, considerando que prover uma senha nica uma grande meta de muitos administradores de sistemas;

como diretrios PKI, tornando possvel que diretrios de diferentes organizaes troquem informaes referentes a chaves pblicas. O diretrio da RNP foi definido baseado na hierarquia das divises e nas funes desempenhadas pelos empregados na instituio. Os nveis superiores refletem as divises, comeando com as divises de coordenao (geral, operaes, informaes e administrativa), como mostrado no exemplo abaixo. dn: cn=Employees_RNP, ou=intranet, o=rnp.br cn: Employees_RNP objectclass: top objectclass: groupofuniquenames ou: intranet uniquemember: cn=general, ou=intranet, o=rnp.br uniquemember: cn=operations, ou=intranet, o=rnp.br uniquemember: cn=information, ou=intranet, o=rnp.br uniquemember: cn=administrative, ou=intranet, o=rnp.br Os nveis inferiores refletem os departamentos de cada diviso de coordenao e as funes do empregado nesta diviso. No exemplo abaixo, tm-se nomes distintos que contm a entrada para o departamento SSI (Servio de Suporte Informao), o Departamento de Manuteno de Web, o de Design e o Coordenador de Informaes: dn: cn=information, ou=intranet, o=rnp.br cn: general objectclass: top

objectclass: groupofuniquenames ou: intranet uniquemember: cn=ssi, ou=intranet, o=rnp.br uniquemember: cn=webmaintainance, ou=intranet, o=rnp.br uniquemember: cn=design, ou=intranet, o=rnp.br uniquemember: cn=information_coordinator, ou=intranet, o=rnp.br O nvel abaixo descreve os departamentos. No exemplo, mostra-se o primeiro departamento (SSI) da diviso de coordenao de informaes. Ele contm as funes dos empregados (tcnico, asistente e coordenador) no departamento: dn: cn=ssi, ou=intranet, o=rnp.br cn: ca objectclass: top objectclass: groupofuniquenames ou: intranet uniquemember: cn=ssi_technical,ou=intranet,o=rnp.br uniquemember: cn=ssi_assistant,ou=intranet,o=rnp.br uniquemember: cn=ssi_coordinator,ou=intranet,o=rnp.br O prximo nvel contm os usurios que fazem parte de cada departamento. Por exemplo, o corpo tcnico do SSI (ssi_technical): dn: cn=ssi_technical, ou=intranet, o=rnp.br cn: ac objectclass: top objectclass: groupofuniquenames ou: intranet uniquemember: uid=euri@rnp.br,ou=intranet,o=rnp.br uniquemember: uid=teresa@rnp.br,ou=intranet,o=rnp.br O nvel folha contm nomes, endereos, e-mails, chaves pblicas de certificados digitais, entre outros dados que dizem respeito aos empregados da RNP. Aqui tem-se um exemplo com a usuria Euricelia Viana: dn: uid=euri@rnp.br, ou=intranet, o=rnp.br cn: Euricelia Viana sn: Euricelia givenname: euri objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson ou: intranet uid: euri@rnp.br usercertificate;binary:XXXXXXXYYYYYYYYYYYZZZZZZZZZZZZ
^

4. Poltica de Segurana
A poltica de segurana proposta baseada em dois estgios, a saber, autenticao e autorizao. O primeiro estgio, a autenticao, diz respeito ao processo de identificar um usurio, ou seja, uma autenticao assegura que o usurio realmente quem ele indica ser. Processos de autenticao, geralmente, so baseados em login e senha; nesta poltica, no entanto, proposta a utilizao de autenticao atravs de certificado digital. As principais razes para a sua escolha so a obteno de um alto nvel de segurana e o ganho em transparncia, atravs da eliminao da necessidade do fornecimento de identificaes sucessivas em todos os servidores Web onde as aplicaes da Intranet encontram-se distribudas. O segundo estgio, a autorizao, o processo de permitir ou proibir acesso a um recurso, baseado na identificao do usurio. Esta poltica est sendo implementada atravs da utilizao dos mecanismos de segurana providos pelo servidor de aplicaes utilizado, o ColdFusion. Tais mecanismos permitem a criao de contextos de segurana onde so definidas regras, polticas e grupos de usurios que so usados para controlar a autorizao, ou seja, o acesso aos recursos da aplicao.
^

4.1 Ambiente de Segurana do ColdFusion


O ambiente de segurana avanada provido pelo ColdFusion, que o servidor de aplicaes utilizado na Intranet, composto por trs elementos: regras, diretrios de usurios e polticas. Estes elementos so agrupados no que o ambiente do ColdFusion define como um contexto de segurana. Alm destes elementos temos a codificao, a ser inserida nas aplicaes, e que garante a utilizao das polticas de segurana criadas. Uma regra define o recurso a ser protegido e a ao que se deseja garantir acesso. Por exemplo, pode-se criar um regra para limitar a consulta a determinado mdulo da Intranet ou at mesmo para limitar o acesso de escrita em determinado arquivo. Neste exemplo, os recursos so o mdulo da Intranet e o arquivo, respectivamente, enquanto que as aes so a consulta ao mdulo da Intranet e a escrita no arquivo respectivamente. Um diretrio de usurios define o grupo de usurios que tero permisso para acesso aos recursos. No ambiente de segurana avanada do ColdFusion o diretrio de usurios pode estar associado a um servidor de diretrios LDAP, um domnio do Windows NT ou um banco de dados. No caso da Intranet, optamos pela utilizao do diretrio de usurios baseado em um servidor LDAP. Finalmente, uma poltica associa regras a usurios de forma que, atravs desta, seja possvel garantir o acesso a um recurso individualmente ou em grupo. Um exemplo de uma poltica para a Intranet a consulta a dispndios da RNP. Esta poltica define que o acesso aplicao de consulta s informaes de dispndios da RNP est disponvel apenas para os coordenadores gerais, coordenador adjunto de administrao e usurios que no fazem parte destes grupos mas possuem direito de acesso diferenciado, atendendo uma solicitao dos coordenadores. No que diz respeito codificao, o ColdFusion prov suporte na linguagem de desenvolvimento (CFML ColdFusion Markup Language) para autenticao e autorizao atravs de procedimentos e funes que permitem autenticar um usurio e verificar se o mesmo tem autorizao para acesso a determinado recurso, atravs da utilizao das polticas previamente definidas. Um ponto importante a ressaltar com respeito a este ambiente de segurana diz respeito independncia de definio dos requisitos de segurana com relao codificao da aplicao. Ou seja, as informaes de configurao do ambiente de segurana so mantidas atravs da interface de

administrao do servidor e ficam armazenadas parte. A aplicao utiliza estas informaes de configurao atravs de procedimentos e funes de modo que qualquer alterao na configurao no afeta os programas j codificados.
^

4.2 Autenticao
A autenticao dos usurios processada atravs da utilizao de certificado digital de cliente onde cada usurio deve obter previamente seu certificado digital junto a uma autoridade certificadora. Em particular, a RNP tem usado os certificados gratuitos emitidos pela Thawte ( www.thawte.com ), que pertence Verisign e uma empresa provedora de produtos de certificao digital e solues para segurana, privacidade e autenticao. Num futuro prximo, planeja-se implantar, na RNP, uma autoridade certificadora para seu uso exclusivo. Assim, o processo de autenticao na Intranet feito atravs da obteno, por parte de cada usurio, junto a uma autoridade certificadora, do certificado digital individual de cliente. Uma vez obtido, o certificado dever ento ser instalado no navegador do usurio de forma que a transao para envio do certificado feita de forma transparente para o usurio, entre o seu navegador e o servidor Web da Intranet. Esta transao de envio do certificado possvel porque os servidores da Intranet esto configurados para aceitar apenas conexes de navegadores que forneam certificados digitais assinados por uma autoridade certificadora conhecida. A chave pblica do certificado de cada usurio, juntamente com outras informaes, so armazenadas em um servidor de diretrios LDAP . O contexto de segurana provido pelo ColdFusion indica que a autenticao dos usurios dever ser efetuada atravs da utilizao de certificados digitais e do servidor de diretrios LDAP. A tarefa de autenticar o certificado fica a cargo da aplicao atravs dos procedimentos e funes providos pela linguagem de desenvolvimento do ColdFusion. Um manual foi escrito, instruindo os usurios a obter o seu certificado e o instalar no seu navegador. A linguagem do ColdFusion possui o procedimento CFAuthenticate que responsvel pela tarefa de autenticao do usurio. A partir desta autenticao, possvel usar a funo IsAuthenticated, que testa se o usurio est autenticado e a funo AuthenticatedUser que retorna o nome do usurio autenticado. No cdigo fonte das aplicaes, o procedimento CFAuthenticate chamado para autenticar o usurio da seguinte forma: CFAUTHENTICATE SECURITYCONTEXT="#sec_context_name#" AUTHTYPE="X509" USERNAME="" PASSWORD="" onde sec_context_name o nome do contexto de segurana. Depois disso, possvel checar se a autenticao obteve sucesso, chamando o procedimento: CFIF ISAUTHENTICATED(sec_context_name) No caso de sucesso, tambm feita uma query ao servio de diretrio LDAP, usando o e-mail como chave e obter o certificado do usurio: CFLDAP NAME="qldap" SERVER="servername" ACTION="QUERY" ATTRIBUTES="userCer tificate" SCOPE="SUBTREE" FILTER="uid=#email#" START="o=rnp.br"

para garantir que o certificado do cliente enviado pelo navegador o mesmo que o armazenado no diretrio LDAP: CFIF #qldap.userCertificate# EQ #CGI.CLIENT_CERT_ENCODED# CFSET check_certificate = true
^

4.3 Autorizao
A etapa de autorizao compreende a utilizao das regras e polticas para acesso aos recursos da Intranet. Todas as aplicaes da Intranet possuem polticas associadas. Assim, uma vez completada a etapa de autenticao, identificado o usurio e a unidade funcional a que ele pertence. Com estas informaes, a sua autorizao efetuada de forma transparente pela aplicao atravs dos procedimentos e funes providos pela linguagem de desenvolvimento do ColdFusion integrados com as informaes de configurao do ambiente de segurana. Neste ponto importante observar que com estes mecanismos de autenticao e autorizao possvel personalizar o acesso s informaes da Intranet. A linguagem do ColdFusion possui a funo IsAuthorized, cujos parmetros so o nome do recurso e a ao que se deseja autorizar. Esta funo tem o propsito de testar se o usurio, previamente autenticado, est autorizado a executar a ao naquele recurso. Estas informaes sobre o recurso e a ao esto definidas no contexto de segurana atravs das regras, enquanto a poltica, conforme descrito anteriormente, faz a associao entre as regras e os usurios ou grupos de usurios. O cdigo seguinte ilustra o que foi dito acima: CFIF ISAUTHORIZED("USEROBJECT", "BUDGET_PLANNING", "SEE") Com estas informaes, ele verifica as definies no contexto de segurana e decide se o usurio autenticado pode acessar o recurso pretendido.
^

4.4 Viso Geral


Uma viso geral da poltica de segurana pode ser vista atravs da Figura 1.

Figura 1 - Viso Geral da Poltica de Segurana Esta figura mostra os principais componentes necessrios para completar as tarefas de autenticao e autorizao:

Servidor Web configurado para requerer certificados dos clientes; Certificados de clientes, obtidos pelos usurios e instalados em seus navegadores Web; Diretrio de usurio projetado para armazenar chaves pblicas e informaes sobre usurios; Definies de grupos e regras, especificando quem pode acessar cada recurso; Cdigo fonte da aplicao, checando o acesso e regras de controle.

4.5 Independncia de Produto


O uso da segurana avanada do ColdFusion nesta aplicao foi importante porque ele prov caractersticas para construir um framework de segurana escalvel, granular e independente de implementao. Este contexto de segurana um dos principais componentes da poltica de segurana. Entretanto, importante frisar que o uso de certificados digitais e tecnologias LDAP independente do ColdFusion e pode ser implementado em qualquer ambiente de aplicao Web, tais como CGI ou ASP. De fato, o servio de autenticao do cliente atravs de certificados digitais provido pelo protocolo SSL, e o servio de diretrios, pelo LDAP, que tambm prov APIs (Application Programming Interface) de baixo nvel que podem ser acessadas por outras linguagens de implementao. Em vez de usar as caractersticas do ColdFusion, o framework de segurana poderia ser suportado por uma base de dados especialmente projetada para ele. O modelo de dados deveria conter entidades como regras, diretrios de usurios e polticas, e a aplicao poderia consultar a base de dados para verificar o controle de acesso. Isto

significa que a segurana avanada do ColdFusion poderia ser facilmente substituda por outras tecnologias, mesmo sem custos adicionais, atravs da utilizao de produtos freeware.
^

5. Contribuies e Trabalhos Futuros


Em particular, uma poltica de segurana no pode se dissociada da poltica de segurana de propsito geral adotada pela instituio. Uma das principais contribuies deste trabalho a integrao de tecnologias que so estratgicas, de propsito geral e que no so necessariamente implementadas/fornecidas por um vendedor especfico, tais como certificados digitais e LDAP. A tentativa de usar tecnologias que poderiam ser importantes para outros projetos conduziu ao uso do LDAP. Assim, foi projetado e criado o diretrio LDAP da RNP, parte essencial do Projeto de Rede Segura, o que ir ditar a arquitetura e as regras para os servios de rede e de infra-estrutura. A manuteno do foco no usurio final mostrou que era necessrio adotar um processo simples e transparente de identificao, mas que tambm se mostrasse eficiente, isto , cada usurio deveria ver sua prpria verso da Intranet baseado nos seus direitos, mas no deveria ser solicitado a este o fornecimento de sua identificao a cada instante. Embora sejam empregados protocolos e tecnologias j bem estabelecidos, eles no so a forma mais popular de se implementar segurana em ambiente Web. Por causa disto, companhias de pequeno e mdio porte podem temer o seu uso. A experincia adquirida pelos tcnicos da RNP, possibilita-os a compartilhar o seu conhecimento com estas empresas. O prximo trabalho implementar a poltica de segurana numa plataforma diferente para provar que a mesma realmente aplicvel e independente de plataforma e de produto. Um outro projeto transformar a RNP na sua prpria Autoridade Certificadora de forma que se possa emitir e manter os certificados dos usurios, definir datas de expirao e se proteger contra possveis mudanas no certificador externo.
^

6. Concluses
Neste artigo, foi apresentado e discutido um projeto que foi executado no contexto de segurana Web, que a meta da maioria das instituies conectadas Internet. Os principais resultados desta poltica de segurana so o crescimento da segurana sem a perda de transparncia para o usurio e o acesso individualizado Intranet. Quando certificados digitais so usados, o processo de autenticao conduzido pelo servidor e cliente Web. Os usurios devem apenas obter seus certificados de cliente e instal-los nos seus navegadores antes de acessar a Intranet. Alm disso, com autenticao baseada em certificados, no h necessidade de se fazer tantas identificaes quanto o nmero de servidores Web. Outro importante resultado o framework de segurana que simplifica o trabalho do grupo de desenvolvimento em ambiente Web porque todas as polticas de segurana so definidas antes das implementaes das aplicaes e so facilmente escalveis.

Agradecimentos
Gostaramos de agradecer ao grupo do SSI pela sua ajuda. Em especial, agradecemos a Antonio Carlos pelas suas sugestes e colaborao.
^

Referncias bibliogrficas
[1] ANDERSON, David. Connecting CF to LDAP. ColdFusion Developers Journal [online]. June 1999. Vol. 1 Issue 3. [2] Cold Fusion Advanced Security Documentation. Disponvel em www.allaire.com . [3] FEGHHI, Jalal; Feghhi, Jalil; Williams, Peter. Digital Certificates: Applied Internet Security. Addison-Wesley , 1999. 453 p. [4] FORTA, Ben. Advanced ColdFusion Application Development. Que, 1999. 730 p. [5] GARFINKEL, S. and Spafford, G. Web Security & Commerce. O'Reilly, 1997. 485 p. [6] GOODMAN, David and Robbins, Collin. LDAP RFCs. Disponvel em www.nexor.com/info/LDAP-RFCs.htm . September 2000. [7] HOWES, Tim; Smith, Mark; Good, Gordon. Understanding and Deploying LDAP Directory Services. Macmillan Technical Publishing, 1998. 846 p. [8] MILAGRES, Francisco Gomes e Galli, Marcio dos Santos. Aspectos de Segurana e Autenticidade na Troca de Mensagens. Developers Magazine. August 2000. [9] Netscape Directory Server Documentation. Disponvel em www.netscape.com .
^

NewsGeneration, um servio oferecido pela RNP Rede Nacional de Ensino e Pesquisa Copyright RNP, 1997 2004