• Nenhum resultado encontrado

Integrac¸˜ao do CAS com as aplicac¸˜oes FCUL

No documento Single sign-on na FCUL (páginas 59-61)

5.2.1

Aplicac¸˜oes escritas em PHP

Para integrac¸˜ao das aplicac¸˜oes desenvolvidas na linguagem PHP, adoptou-se o cliente oficial do CAS para este linguagem, phpCAS [29]. Este cliente permite atrav´es da sua f´acil integrac¸˜ao, proteger uma aplicac¸˜ao PHP com autenticac¸˜ao CAS.

Numa p´agina HTML normal, os dados n˜ao s˜ao passados de uma p´agina para outra. Noutras palavras, a informac¸˜ao ´e “esquecida” quando uma nova p´agina ´e carregada. Para evitar esta perda de informac¸˜ao em p´aginas PHP, s˜ao usadas as vari´aveis do tipo $SES- SION. Estas vari´aveis s˜ao utilizadas para a preservac¸˜ao de dados em acessos subsequentes `a aplicac¸˜ao.

As aplicac¸˜oes escritas em PHP da FCUL utilizam este tipo de vari´aveis para proteger a aplicac¸˜ao. Esta protecc¸˜ao ´e feita da seguinte maneira:

1) Um cliente tenta aceder a uma p´agina protegida (p.e. http://protected.fc.ul.pt/index.php); 2) A aplicac¸˜ao verifica que ainda n˜ao tem a vari´avel de sess˜ao ”username”preenchida e redirecciona o utilizador para uma p´agina de login (p.e. http://protected.fc.ul.pt/login.php);

3) Ap´os o utilizador submeter as suas credenciais, ´e feita uma ligac¸˜ao ao direct´orio para verificar se estas est˜ao correctas;

4) Se a aplicac¸˜ao decidir que este utilizador autenticado est´a autorizado a aceder `a p´agina, ´e criada uma vari´avel de sess˜ao ”username”com o nome do utilizador para pedidos subsequentes `a aplicac¸˜ao;

5) A aplicac¸˜ao redirecciona o utilizador para a p´agina inicialmente pretendida, verifi- cando se a vari´avel de sess˜ao ”username”j´a esta preenchida;

Ou seja, em todas as p´aginas protegidas, ´e verificada se esta vari´avel de sess˜ao est´a registada, caso contr´ario, o utilizador ´e redireccionado para a p´agina inicial onde ´e obri- gado a autenticar-se.

Ao ser usado o phpCAS, o processo de autenticac¸˜ao passa a ser seguinte:

1) Um cliente tenta aceder a uma p´agina protegida (p.e. http://cas-protected.fc.ul.pt/index.php); 2) A aplicac¸˜ao verifica que ainda n˜ao tem a vari´avel de sess˜ao ”username”preenchida e

redirecciona o utilizador para uma p´agina de login (p.e. http://cas-protected.fc.ul.pt/login.php); 3) A p´agina login.php contendo o c´odigo phpCAS ir´a redireccionar os clientes para o servidor CAS. Depois da validac¸˜ao de credenciais e do Service Ticket, o CAS envia o usernamepara aplicac¸˜ao.

4) Se a aplicac¸˜ao decidir que este utilizador autenticado est´a autorizado a aceder `a p´agina, ´e criada uma vari´avel de sess˜ao ”username”com o nome do utilizador para pedidos subsequentes `a aplicac¸˜ao;

5) A aplicac¸˜ao redirecciona o utilizador para a p´agina inicialmente pretendida, verifi- cando se a variav´el de sess˜ao j´a esta preenchida;

5.2.2

Moodle

Moodle ´e um sistema open source, para gest˜ao de conte´udos de e-learning. ´E usado por cerca de 4000 alunos e docentes da FCUL e cont´em quase 250 cursos online, entre os diferentes departamentos da FCUL.

O Moodle vem com um m´odulo de autenticac¸˜ao CAS integrado para autenticac¸˜ao de utilizadores. Para o configurar e activar, basta entrar nesta plataforma em modo Admin- istrador e ir escolher a opc¸˜ao “Utilize um servidor CAS (SSO)”. Este m´odulo requer tamb´em a configurac¸˜ao do direct´orio da FCUL para que o Moodle possa ir buscar os atributos do utilizador autenticado para efectuar a autorizac¸˜ao/personalizac¸˜ao associada ao utilizador [27].

5.2.3

Outlook Web Access

Outlook Web Access (OWA), ´e um servic¸o de webmail que faz parte do Microsoft Ex- change Server, um servidor que gere todas as caixas de correio dos utilizadores da Fac- uldade, para al´em de outras funcionalidades. A interface Web deste servic¸o de correio assemelha-se `a aplicac¸˜ao Microsoft Outlook do Microsoft Office. Todos os utilizadores da FCUL tˆem acesso ao webmail, sendo um dos servic¸os com mais tr´afego di´ario.

Para conseguir integrar esta aplicac¸˜ao com o servic¸o de autenticac¸˜ao CAS foi necess´ario expandir e modificar o servidor CAS e fazer alterac¸˜oes no servidor de Microsoft Ex- change.

Cap´ıtulo 5. Implementac¸˜ao e testes 45

A primeira coisa a fazer para integrar o CAS com o OWA, ´e instalar a extens˜ao clearPass do CAS. Esta extens˜ao serve para capturar a palavra-chave do utilizador du- rante o processo de autenticac¸˜ao e permite enviar essa mesma palavra-chave (guardada em cache) para aplicac¸˜oes previamente autorizadas. Esta extens˜ao, vai um pouco contra o protocolo base de seguranc¸a do CAS onde as palavras-chave dos utilizadores nunca s˜ao enviadas para as aplicac¸˜oes mas visto esta aplicac¸˜ao ser propriet´aria, torna-se um mal necess´ario. A comunicac¸˜ao ´e toda feita em HTTPS, e todos os pedidos feitos a esta ex- tens˜ao precisam de obter um Proxy Ticket do CAS o que n˜ao altera, muito, a seguranc¸a dos utilizadores. O clearPass utiliza a biblioteca CAS Client Java para autenticar e validar pedidos, e emite um Proxy Ticket a proxys autorizadas, como ´e o caso do CasOwa.

O CasOwa basicamente gere um pedido HTTP feito ao enderec¸o https://webmail.fc.ul.pt/ e redirecciona o utilizador para a p´agina de autenticac¸˜ao do CAS (se este n˜ao se encontrar j´a autenticado). Depois de inseridas as credenciais do cliente, o CasOwa obtem um Proxy Ticket para aceder ao clearPass. Se este ticket for v´alido para o clearPass, ´e enviada a palavra-chave para o CasOwa que a utiliza para fazer internamente um HTTP POST ao OWA com o nome de utilizador e respectiva palavra-chave. Este pedido ir´a gerar um cookie de sess˜ao do OWA, envia-o para o utilizador e ´e feito o redireccionamento do browserpara o webmail [48] [47].

No documento Single sign-on na FCUL (páginas 59-61)

Documentos relacionados