aspectos de seguran a n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Aspectos de Segurança PowerPoint Presentation
Download Presentation
Aspectos de Segurança

Loading in 2 Seconds...

play fullscreen
1 / 15

Aspectos de Segurança - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

Aspectos de Segurança. Autenticação e Controle de Acesso. Ricardo Cavalcanti roc3@cin.ufpe.br. Jobson Ronan jrjs@cin.ufpe.br. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Aspectos de Segurança


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
aspectos de seguran a

Aspectos de Segurança

Autenticação e Controle de Acesso

Ricardo Cavalcanti

roc3@cin.ufpe.br

Jobson Ronan

jrjs@cin.ufpe.br

introdu o
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.
conceitos fundamentais
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
seguran a em webapps
Segurança em Webapps
  • Autenticação: descrita no web.xml
    • HTTP Básico e Disgest, Form-Based ou HTTPS
  • Autorização
    • Declarativa
      • <sercurity-constraint> no web.xml
    • Programática
      • isUserInRole e getUserPrincipal
  • Confidencialidade e Integridade
    • De alto nível no web.xml
seguran a em ejb
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
jaas vis o geral
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
candidatos utiliza o de jaas
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
autentica o com jaas
Autenticação com JAAS

Servidor J2EE

Rede

Cliente

(programador)

1:new()

2:getConfiguration()

7:login()

3:getAppConfigurationEntry()

LoginContext

(container)

Configuration

(container)

4:return a list of loginModules ()

5:new()

6:inicialize()

8:login()

9:commit()

Um ou mais LoginModule

(programador)

Subject

(container)

Config File

(programador)

10:add Credentials

autoriza o com jaas
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
secutiry roles
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.
autoriza o program tica
Autorização Programática
  • Escrever lógica de segurança
    • Métodos isCallerInRole e getCallerPrincipal a partir do EJBContext
  • Declarar as Security Roles abstratas que o bean irá utilizar
    • No Deployment descriptor <security-role-ref> e <role-name> dentro do nó do bean.
  • Mapear Abstract Roles em Actual Roles
    • O deployer deve definir os nomes reais dos Roles
    • <role-link> dentro do nó do bean e <security-role> dentro de <assembly-descriptor>
autoriza o declarativa
Autorização declarativa
  • Declare as permissões dos métodos
    • Dentro de <assembly-descriptor>
  • Declare as Security Roles
    • Semelhante ao método Programático
  • Mapear Abstract Roles em Actual Roles
    • Semelhante ao método Programático
exemplo
Exemplo

...

<assembly-descriptor>

<method-permission>

<role-name>administrators</role-name>

<method>

<ejb-name>BankEJB</ejb-name>

<method-name>*</method-name>

</method>

</method-permission>

<method-permission>

<role-name>managers</role-name>

<method>

<ejb-name>BankEJB</ejb-name>

<method-name>changeAccount</method-name>

<method-params>String</method-params>

</method>

</method-permission>

<security-role>

<role-name>managers</role-name>

</security-role>

</assembly-descriptor>

...

</ejb-jar>

propaga o da seguran a
Propagação da segurança
  • A identidade do Principal é propagada por todos os beans
  • A identidade do cliente é ignorada e outra é propagada

<entity> (...)

<security-identity>

<use-caller-identity />

<security-identity>

</entity>

<security-identity>

<run-as>

<role-name>admin</role-name>

</run-as>

<security-identity>

declarativa ou program tica
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