Your SlideShare is downloading. ×
Segurança J2EE
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Segurança J2EE

1,453
views

Published on

Segurança J2EE

Segurança J2EE

Published in: Technology, Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,453
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
47
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Rodrigo Cândido da Silva
  • 2.
    • Comentar os principais conceitos sobre segurança e demonstrar a implementação de segurança da plataforma Java EE.
  • 3.
    • Segurança
      • Objetivos da Segurança
      • Princípios de Segurança
      • Algumas Soluções de Segurança
    • Plataforma Java EE
    • JAAS
      • Autenticação
      • Autorização
      • Utilização
    • Conclusões
  • 4.
    • “ Um mecanismo de Segurança da Informação providencia meios para reduzir as vulnerabilidades existentes em um Sistema de Informação.”
  • 5.
    • Autenticação
    • Autorização
    • Auditoria
    • Confidencialidade
    • Integridade
    • Disponibilidade
    • Não Repudiação
  • 6.
    • Proteger os ativos;
    • Garantir os princípios da segurança durante todo o ciclo de vida da informação;
    • Evitar que ameaças explorem as vulnerabilidades;
    • Evitar ou conter os ataques;
    • Gerenciar e reduzir os riscos;
    • Garantir a segurança da informação em qualquer meio.
  • 7. F D Fonte de Informação Destino da Informação Fluxo Normal F D Interrupção F D Interceptação I F D Modificação M F D Fabricação F
  • 8.
    • IP Filtering
    • Network Address Translation (NAT)
    • IP Security (IPSec)
    • SOCKS
    • Secure Sockets Layer (SSL)
    • Application Proxies
    • Firewalls
    • Secure Electronic Transactions (SET)
  • 9.  
  • 10.  
  • 11.  
  • 12.
    • Serviços oferecidos pelos containers:
      • Escalabilidade
      • G estão de memória, ciclo de vida de objetos e estado de objetos
      • Conexões, Transações, Serviço de nomes
      • Segurança
      • Tolerância a falhas
      • Integração
      • WebServices
      • Clustering
      • A lta disponibilidade
      • C onfiabilidade
  • 13.
    • Java Authentication and Authorization Service (JAAS);
    • Mecanismo de Autenticação e Autorização de Usuários, baseado em uma identidade e role(s) (perfil de acesso) associado(s);
    • Totalmente compatível com o padrão Java EE;
    • Restringe o acesso a uma aplicação Java, limitando acesso a uma url , método de um componente EJB ou Conteúdo de uma tela do usuário;
    • Possibilita uma abordagem declarativa ou programática, dando a possibilidade de um desacoplamento entre segurança e regras de negócio.
  • 14. Aplicação Login Context Login Modules – São “plugáveis” e não interferem nos algorítimos de negócio implementados... LDAP LoginModule DataBase LoginModule NT LoginModule Active Directory MySQL NT Server
  • 15.  
  • 16. HTTP Basic Authentication Form-Based Authentication
  • 17. HTTPS Client Authentication Digest Authentication
  • 18.  
  • 19.
    • Passo 1 - Configurando o LoginModule
    <!-- Exemplo: File Login Module Arquivo: %JBOSS_HOME%serverdefaultconflogin-config.xml --> <application-policy name= &quot;exemplojaas&quot; > <authentication> <login-module code= &quot;org.jboss.security.auth.spi.UsersRolesLoginModule&quot; flag= &quot;required&quot; > <module-option name= &quot;usersProperties&quot; > props/exemplo-jaas-users.properties </module-option> <module-option name= &quot;rolesProperties&quot; > props/exemplo-jaas-roles.properties </module-option> </login-module> </authentication> </application-policy>
  • 20.
    • Passo 2 – Definindo o Tipo de Autenticação
    <!— Define Formul ário de login (login-config) . Arquivo: WEB-INFweb.xml --> <login-config> <auth-method> FORM </auth-method> <realm-name> ExemploJAAS </realm-name> <form-login-config> <form-login-page> /loginpage.do </form-login-page> <form-error-page> /loginfail.do </form-error-page> </form-login-config> </login-config>
  • 21.
    • Passo 3 – Protegendo o Web Container
    <!— Define a constraint de seguranca para as actions do sistema. Arquivo: WEB-INFweb.xml  <security-constraint> <web-resource-collection> <web-resource-name> ExemploJAAS </web-resource-name> <description> Mapeamento da acoes do sistema </description> <url-pattern> /homepage.do </url-pattern> <url-pattern> /funcionario.do </url-pattern> </web-resource-collection> <auth-constraint> <role-name> supervisor </role-name> <role-name> gerente </role-name> </auth-constraint> </security-constraint>
  • 22.
    • Passo 4 – Protegendo o EJB Container
    <!— EJB 3.0 - Via annotation (Java5 ou superior) Definição da classe --> @Stateless @DeclareRoles({ &quot;supervisor&quot; , &quot;gerente&quot; , &quot;operador&quot; }) public class FuncionarioServiceImpl implements FuncionarioService { @RolesAllowed( &quot;supervisor&quot; ) public void delete(Integer idFuncionario) {} @RolesAllowed({ &quot;supervisor&quot; , &quot;gerente&quot; }) public void save(Funcionario funcionario) throws LimiteSalarioException { if ((!context.isCallerInRole( &quot;supervisor&quot; ) && (funcionario.getSalario() > 10000.0d))){ throw new LimiteSalarioException( &quot;limite.salario.exception&quot; );} } }
  • 23.
    • JAAS fornece uma estrutura simples, produtiva e integrada com a plataforma Java;
    • JAAS não implementa toda estrutura de segurança necessária à uma aplicação. Portanto, ele deve ser combinado com outros mecanismos (SSL, Firewalls, Proxies, etc).
  • 24.
    • ?

×