Arquitetura Cross-Plataforma para Autenticação e Autorização de Aplicações Comerciais Projeto Rasea Cleverson Sacramento [email protected] Mestrado em Sistemas e Computação Agenda • • • • Introdução Motivação Objetivos Arquitetura Rasea – – – – Independência de Plataforma Integração Gateway Agent • Modelo de Segurança • Referências Mestrado em Sistemas e Computação Introdução • Citações – “Pouca ou nenhuma segurança deixa a sua empresa vulnerável, mas uma ênfase exagerada (...) inibe o crescimento e prosperidade da empresa. O desafio é atingir um equilíbrio entre a segurança e a produtividade” (MITNICK, 2003, pg. 8) – “A segurança da aplicação não é apenas tecnologia (...)” (BUEGE, 2003, pg. 106) – Colocar citação sobre reuso – Colocar citação sobre SOA Mestrado em Sistemas e Computação Introdução • A quem se destina? – Empresas de Desenvolvimento de Software e Profissionais Autônomos • Produtividade no desenvolvimento de novos sistemas. • Aumento da competitividade. – Organizações clientes • • • • • Unificação da base de usuários e do controle de acesso às aplicações. Redução de custo na manutenção do controle de acesso. Maior controle na autorização às aplicações. Apenas uma conta para acessar todos os sistemas. Login único Mestrado em Sistemas e Computação Introdução • Conceito – Autenticação • Identificação do usuário – Autorização • O que o usuário pode fazer na aplicação – Segurança da Aplicação • Vertical • Horizontal Mestrado em Sistemas e Computação Escopo Introdução Aplicação -Telas de negócio -Banco de negócio -Telas de segurança -Banco de segurança Aplicação = regra de negócio + regra de segurança Mestrado em Sistemas e Computação Introdução Responsabilidades Aplicação -Telas de negócio - Banco de negócio Segurança -Telas de segurança -Banco de segurança regra de segurança regra de negócio Mestrado em Sistemas e Computação Introdução Segurança -Filtro de acesso -DP: Controller -Auditoria -Regras de acesso -Telas da cadastro -Acesso ao banco -Negócio -Autenticação -Autorização regra de acesso regra de negócio Mestrado em Sistemas e Computação Introdução • Glossário – Aplicação: software implantado em uma organização. – Aplicação parceira: é uma aplicação que deseja usufruir dos benefícios do Rasea. – Agent: componente Rasea, que acessa o gateway, e deve ser conectado a uma aplicação parceira. – Gateway: servidor Rasea que possui toda a regra de segurança. – Single Sign-On: após logar em uma aplicação, o processo não precisará se repetir para as demais. Mestrado em Sistemas e Computação Motivação Descentralização -Re-implementação -Bases redundantes -Dificuldade na implantação de melhorias do modelo de segurança (A) (B) (C) (E) (D) Mestrado em Sistemas e Computação Motivação • Soluções existentes – JAAS • Framework para autorização e autenticação de uma aplicação – Seam Security e jGuard • Implementação do JAAS – Josso • Solução de Single Sign-On – Drools • Criação de regras de segurança – Sentinel • Biblioteca para controle de acesso Mestrado em Sistemas e Computação Objetivos • Primário – Definir uma Arquitetura Orientada à Serviço que suporte o controle centralizado de autorização e a autenticação unificada dos usuários às aplicações comerciais. • Secundários – Garantir que a arquitetura proposta beneficie aplicações comerciais em diferentes plataformas, tais como Java e .NET. – Implementar a solução proposta e disponibilizá-la à comunidade, regida por uma licença Open Source. – Reduzir o custo no desenvolvimento de software a partir do reuso do serviço de segurança. Mestrado em Sistemas e Computação Arquitetura Rasea • Rasea? cRoss-plAtaform Security for Enterprise Applications Arquitetura Cross-Plataforma para Segurança de Aplicações Comerciais Mestrado em Sistemas e Computação Arquitetura Rasea Elementos da Arquitetura -PIM (Platform-Independent Model): garantia de independência de plataforma. -Integração: possibilidade de integrar com aplicações parceiras e com a infra. -Gateway: provê telas de administração e serviços de segurança para as aplicações parceiras. Integração Platform-Independent Model Rasea Gateway -Agents: são instalados nas aplicações parceiras e consomem o serviço do gateway. Mestrado em Sistemas e Computação Agents Arquitetura Rasea Economia (A) Investimento (F) (B) (C) (E) (D) Mestrado em Sistemas e Computação Arquitetura Rasea PIM • PIM: Platform-Independent Model – Utilização de WebService para integração das aplicações parceiras. – Para o cliente, os detalhes tecnológicos do servidor são abstraídos. – Aplicação dos conceitos SOA. Mestrado em Sistemas e Computação Arquitetura Rasea PIM Serviço de Segurança -O gateway provê WebService para garantir a integração independente de plataforma gateway aplicação parceira Mestrado em Sistemas e Computação Arquitetura Rasea PIM Agents -Implementação em diversas tecnologias -Java -.NET -PHP -etc. SOAP gateway Java .NET PHP Mestrado em Sistemas e Computação etc. Arquitetura Rasea Integração • Frameworks – Integração com tecnologias de mercado – JAAS, jGuard, JBoss Seam, JSF, Struts, ASP, .NET, etc. • Single Sign-On – Josso: Single Sign-On Open Source Mestrado em Sistemas e Computação Arquitetura Rasea Integração Autenticação -Integração com o legado -LDAP -SGBD -Utilização da base embutida autorização gateway LDAP autenticação SGBD Mestrado em Sistemas e Computação etc. Embedded Arquitetura Rasea Integração (colocar referência) Mestrado em Sistemas e Computação Arquitetura Rasea Integração Single Sign-On -Integração com o JOSSO -Compartilhamento da base de autenticação (A) Rasea LDAP (C) aplicação parceira Mestrado em Sistemas e Computação (B) JOSSO Arquitetura Rasea Gateway • Rascunho!!! – Utiliza o JBoss Seam – I18N – Escolha da base de autenticação – WebServices – Telas de cadastro – Concessão de Permissão Mestrado em Sistemas e Computação Arquitetura Rasea Agent • Rascunho!!! – Agent JBoss Seam – Agent .NET – WS Proxy Mestrado em Sistemas e Computação Modelo de Segurança • Rascunho!!! – Modelo de segurança do Windows – UML – Comparação com o modelo RBAC Mestrado em Sistemas e Computação Referências • BUEGE, Brian et al. Segurança Contra Hackers J2EE e Java: desenvolvendo aplicações seguras com a tecnologia Java. São Paulo: Futura. 2003. • MITNICK, Kevin D.; SIMON, Willian L., A Arte de Enganar: controlando o fator humano na segurança da informação. São Paulo: Pearson Makron Books. 2003. • http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/JAASRefGuide.html • http://www.josso.org/confluence/display/JOSSO1/Architecture+Overview 26