Arquitetura Cross-Plataforma para Segurança 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 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. Após efeutar o login em uma aplicação, não mais precisará repetir o procedimento para as demais. 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 WebServices 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ê WebServices 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. • Sigle Sign-On – Josso: Sigle 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 • Fazer Mestrado em Sistemas e Computação Arquitetura Rasea Agent • Fazer Mestrado em Sistemas e Computação Modelo de Segurança • Fazer 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