A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aspectos de Segurança Autenticação e Controle de Acesso Ricardo Cavalcanti Jobson Ronan

Apresentações semelhantes


Apresentação em tema: "Aspectos de Segurança Autenticação e Controle de Acesso Ricardo Cavalcanti Jobson Ronan"— Transcrição da apresentação:

1 Aspectos de Segurança Autenticação e Controle de Acesso Ricardo Cavalcanti roc3@cin.ufpe.br Jobson Ronan jrjs@cin.ufpe.br

2 2 Introdução  Um sistema seguro garante que  Nenhum evento danoso pode ocorrer com seus recursos (base de dados, processos etc.)  Segurança não é apenas TI  Envolve controles físicos (portas e cadeados)  Políticas de não compartilhamento de senha  É difícil dizer se um sistema é seguro ou não  Segurança de um sistema, na verdade, visa à segurança do sistema  Não pretende chegar num estado de segurança absoluta  IMPORTANTE: não se empolgue desenvolvendo seus próprios sistemas de segurança.

3 3 Conceitos Fundamentais  Autenticação  Principal: a entidade autenticada  Login e senha; assinatura digital;  Autorização  Checar a os privilégios do Principal para o uso dos recursos  Proteção à Integridade dos Dados  Prevenir ou pelo menos detectar modifição nos dados (i.e. através de um canal de comunicação)  Proteção à confidencialidade dos Dados  Prevenir divulgação imprópria da informação

4 4 Segurança em Webapps  Autenticação: descrita no web.xml  HTTP Básico e Disgest, Form-Based ou HTTPS  Autorização  Declarativa no web.xml  Programática isUserInRole e getUserPrincipal  Confidencialidade e Integridade  De alto nível no web.xml

5 5 Segurança em EJB  Resume-se a Autenticação e Autorização  Até EJB 1.1 não havia uma maneira portável de Autenticação  Desde EJB 2.0 é possível utilizar a API JAAS – Java Authentication and Authorization Service  Controle de acesso  Através de security policies  Programática ou declarativa

6 6 JAAS – Visão geral  Permite autenticação e autorização de usuários em java  Permite o log on de usuários no sistema sem distinção do sistema de segurança de baixo nível  A implementação (i.e. do servidor de aplicação)determina se suas credenciais são autênticas  O suporte a sistemas de segurança mais avançados depende do servidor  Independentemente, não altera o código da aplicação

7 7 Candidatos à utilização de JAAS  Uma aplicação stand alone que faz acesso a um EJB, cujo usuário deve prover credenciais ao sistema.  Uma aplicação web na qual o usuário fornece as credenciais através de HTTP Básico e Disgest, Form-Based, HTTPS ou um Certificado  Uma vez autenticado através de JAAS o cliente pode fazer chamadas aos métodos seguramente

8 8 Rede Autenticação com JAAS Cliente (programador) Servidor J2EE LoginContext (container) Configuration (container) Subject (container) Config File (programador) Um ou mais LoginModule (programador) 1:new() 7:login() 5:new() 6:inicialize() 8:login() 9:commit() 10:add Credentials 2:getConfiguration() 3:getAppConfigurationEntry() 4:return a list of loginModules ()

9 9 Autorização com JAAS  Após a autenticação, o cliente necessita se autorizar para ter acesso aos métodos do bean  Pode ser declarativa ou programática  É necessário definir security roles  Apenas Declarativamente  Papeis que relacionam permissões de operações e usuários

10 10 Secutiry Roles  As permissões de executar operações são associadas a roles.  Papéis desempenhados por usuários  Um usuário vinculado a uma role recebe todas as permissões atribuídas a esta role.

11 11 Autorização Programática 1. Escrever lógica de segurança  Métodos isCallerInRole e getCallerPrincipal a partir do EJBContext 2. Declarar as Security Roles abstratas que o bean irá utilizar  No Deployment descriptor e dentro do nó do bean. 3. Mapear Abstract Roles em Actual Roles  O deployer deve definir os nomes reais dos Roles  dentro do nó do bean e dentro de

12 12 Autorização declarativa 1. Declare as permissões dos métodos  Dentro de 2. Declare as Security Roles  Semelhante ao método Programático 3. Mapear Abstract Roles em Actual Roles  Semelhante ao método Programático

13 13 Exemplo... administrators BankEJB * managers BankEJB changeAccount String managers...

14 14 Propagação da segurança  A identidade do Principal é propagada por todos os beans  A identidade do cliente é ignorada e outra é propagada (...) admin

15 15 Declarativa ou Programática?  Declarativa  Vantagem: Simplicidade e menor acoplamento  Desvantagem: menor controle  Programática  Quando maior controle é necessário  Instance level Authorization: saegurança ligada à regra de negócio


Carregar ppt "Aspectos de Segurança Autenticação e Controle de Acesso Ricardo Cavalcanti Jobson Ronan"

Apresentações semelhantes


Anúncios Google