SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Aspectos de Segurança
Prof. Adriano Teixeira de Souza
   A maioria é causada pelo ser humano e intencional

   Inicialmente os hackers eram adolescentes ou estudantes que
    participavam de um jogo

   Atualmente as falhas de segurança podem representar
    grandes prejuízos para as empresas

   Os hackers tornaram-se prossionais

   Proteger os dados corporativos torna-se questão de
    sobrevivência para as empresas



                                Prof. Adriano Teixeira de Souza
   Transmissão/Armazenamento seguro de informação
    ◦ Uso de Criptografia


   Recentes
    ◦ Impedimento de acesso (denial of service attack)
       Ataque massivo sobre servidores
    ◦ Segurança em Código Móvel
       Como confiar em código vindo do exterior?


   Afetar consistência, desempenho, disponibilidade,
    etc.




                                      Prof. Adriano Teixeira de Souza
   Os princípios básicos de segurança em sistemas de
    comunicação compreendem:

    ◦ Confidencialidade - tem por objetivo proteger a informação
      intercambiada prevenindo-a de acessos não autorizados;

    ◦ Integridade - deve garantir a veracidade da informação
      protegendo-a de modicações não autorizadas;

    ◦ Autenticidade - visa garantir a identidade dos parceiros do
      intercâmbio através da autenticação dos usuários;

    ◦ Disponibilidade - objetiva prevenir interrupções na operação
      da rede garantindo a disponibilidade do uso da informação.

                                 Prof. Adriano Teixeira de Souza
   Os usuários estão interconectados com as suas aplicações
    distribuídas através de redes abertas não-conáveis que podem
    ser compartilhadas por outros usuários, os quais não estão
    autorizados a acessar determinados sistemas. Assim sendo é
    necessário identicar e autenticar o usuário que solicitar
    conexão ao sistema bem como vericar se ele possui
    autorização para acessar os recursos solicitados.

   A identicação é o processo inicial para vericar se esse usuário
    está cadastrado ao sistema; normalmente essa identificação é
    realizada através de um user-id.




                                 Prof. Adriano Teixeira de Souza
   A autenticação é a etapa seguinte na qual o usuário deverá
    provar sua identidade. Antigamente este processo era
    sinônimo de password, porém atualmente podemos classificar
    os métodos de autenticação do usuário em três categorias:

    ◦ Algo que o usuário conheça - o sistema indaga por uma informação que o
      usuário tenha conhecimento, sendo o caso típico da password;

    ◦ Algo que o usuário possua - o sistema solicita a apresentação de algo físico
      que o usuário tenha, podendo ser desde um simples cartão magnético até
      sofisticados dispositivos eletrônicos;

    ◦ Algo que o usuário seja - esta categoria está relacionada como os sistemas
      biométricos que são métodos automatizados para vericar a identidade de
      uma pessoa, baseando-se em alguma característica fisiológica ou
      comportamental.



                                        Prof. Adriano Teixeira de Souza
   Vulnerabilidade
    ◦ São erros no projeto ou configuração dos Sistemas Computacionais
      que podem ser exploradas para se produzir falhas intencionais ou
      não.


   Ataque
    ◦ São investidas contra os Sistemas Computacionais para explorar as
      suas vulnerabilidades e causar falhas intencionais.

    ◦ Podem assumir varias formas: destruição, modificação, roubo,
      revelação da informação ou interrupção de serviços.




                                   Prof. Adriano Teixeira de Souza
   Ataque
    ◦ Personificação: uma entidade faz-se passar por outra.

    ◦ Replay: uma mensagem, ou parte dela, é capturada, armazenada e
      posteriormente retransmitida.

    ◦ Modificação: o conteúdo de uma mensagem é alterado.

    ◦ Recusa ou Impedimento de Serviço: interrupção de algum serviço
      (geração de mensagens em grande quantidade).

    ◦ Ataques Internos: um usuário executa uma operação não
      autorizada para o mesmo.

    ◦ Armadilhas (trapdoor): uma entidade legitima é substituída por
      outra alterada.

                                   Prof. Adriano Teixeira de Souza
   Ataque (continuação)

    ◦ Cavalos de Tróia: entidade falsa produz o mesmo serviço que a
      legitima com o intuito de se camuar e executa uma operação
      adicional não autorizada.

    ◦ Spoofing: interceptação da comunicação entre dois hosts por um
      host não autorizado.




                                   Prof. Adriano Teixeira de Souza
   Ataque (continuação)

    ◦ Snifing: usa o principio da propagação da mensagem através do
      meio físico para “ouvir" todos as mensagens que nele trafegar.
      Normalmente este tipo de ataque é usado na preparação de outros
      ataques.




                                  Prof. Adriano Teixeira de Souza
   Regras e práticas para proteger informações e recursos.
    ◦ Nível de sensibilidade da informação (o quê?, quem?).

    ◦ Identidade do usuário.

   Política dos 4P
    ◦ Paranóica: tudo é negado.

    ◦ Prudente: tudo é proibido exceto o que for explicitamente
      permitido.

    ◦ Permissiva: tudo é permitido exceto o que for explicitamente
      proibido.

    ◦ Promiscua: tudo é permitido.


                                     Prof. Adriano Teixeira de Souza
   Autenticidade: garantir-se que um usuário é realmente quem
    se diz ser e as ações a ele atribuídas tenham sido realmente de
    sua autoria.

   Confidencialidade: usuários autorizados tenham acesso as
    informações devidas e ninguém mais.

   Integridade: garante que um documento autentico não foi
    alterando acidentalmente ou intencionalmente ou que esteja
    sendo reutilizado sem que seja percebido.

   Disponibilidade: continuidade dos seus serviços acessíveis aos
    usuários autorizados.


                                 Prof. Adriano Teixeira de Souza
   Autenticação




                   Prof. Adriano Teixeira de Souza
   Controle de Acesso

    ◦ Access Control List: lista com a identicação do usuário ou processo e suas
      permissões para cada objeto.

    ◦ Capabilities: lista para cada usuário ou processo com a identicação do
      objeto e suas permissões.

    ◦ Access Control Matriz: é uma matriz onde as linhas são compostas pelos
      usuários, as colunas por objetos e os elementos são listas de permissões
      (Capability X ACL).




                                        Prof. Adriano Teixeira de Souza
   Criptografia: transformar um texto em claro em um texto
    criptografado através de um método de criptografia.

 O método de criptografia é confiável e seguro quando ele é de
domínio público
    ◦ Criptograa Simétrica: a chave utilizada para criptografar um texto é a
      mesma para descriptografa-lo.
       DES (Data Encryption Standard)


    ◦ Criptografia Assimétrica: a chave para criptografar uma mensagem é
      diferente da chave para descriptografa-la.
       RSA (Rivest, Shamir e Adleman)


   Outros métodos e padrões (Assinatura digital, Messages
    Digests - MD5, etc.)


                                         Prof. Adriano Teixeira de Souza
   Ao desenvolver um aplicativo “seguro”, devemos
    considerar:

    ◦ Criação/Configuração de um repositório de usuários;

    ◦ Tela para capturar login/senha usuário;

    ◦ Funcionalidade que efetua a validação do login/senha no
      repositório;

    ◦ Funcionalidade que verifica se usuário tem permissão de acesso ao
      recurso solicitado;

    ◦ Em caso de falta de permissão ou login/senha inválido, exibe uma
      mensagem/exception ao usuário.


                                   Prof. Adriano Teixeira de Souza
   Podemos utilizar os seguintes níveis de segurança:
    ◦ Sem segurança: sistema totalmente aberto, não requer um
      usuário válido;

    ◦ Nível básico: o usuário precisa informar login e senha,
      porém o sistema não tem criptografia;

    ◦ Nível intermediário: as informações login e senha são
      criptografadas, porém o restante não;

    ◦ Nível avançado: tudo é criptografado com chaves;

    ◦ Nível máximo: tudo é criptografado e o usuário “prova” sua
      identidade através de um certificado digital;


                                 Prof. Adriano Teixeira de Souza
   JEE suportada todos os níveis e permite o
    desenvolvimento de aplicativos seguros através de:

    ◦ Segurança programada: o código é totalmente responsável
      por toda a segurança;

    ◦ Segurança declarada: delegamos o controle de segurança
      para o container;

    ◦ Segurança mista: declaramos o básico, programamos o
      avançado;




                               Prof. Adriano Teixeira de Souza
   Java Authentication and Authorization Service.

   Consiste no mecanismo de Autenticação e Autorização de
    Usuários, baseado em uma identidade e role(s) (perfil de
    acesso) associado(s).

   Utilizando JAAS podemos restringir 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.

   O mecanismo possibilita uma abordagem declarativa ou
    programática, dando a possibilidade de um desacoplamento
    entre segurança e regras de negócio.



                                 Prof. Adriano Teixeira de Souza
   Totalmente compatível com o padrão JEE, ou seja,
    sua aplicação será portável em qualquer servidor
    Java EE.

   É baseado em módulos de autenticação, que
    implementam uma API padrão e disponibilizam
    soluções compatíveis com diferentes repositórios.

   Exemplo: Banco de Dados, Servidores LDAP,
    Arquivos XML, Domains Servers (Ex. NT), etc.




                           Prof. Adriano Teixeira de Souza
   Visualizando possibilidades …




                           Prof. Adriano Teixeira de Souza
   Passo 1 - Configurando o Módulo de Autenticação

    <!--
    Exemplo: File Login Module
    Arquivo: %JBOSS_HOME%serverdefaultconflogin-config.xml
    -->
    <application-policy name="exemplojaas">
    <authentication>
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
    <module-option name="usersProperties">props/exemplo-jaas-users.properties</module-option>
    <module-option name="rolesProperties">props/exemplo-jaas-roles.properties</module-option>
    </login-module>
    </authentication>
    </application-policy>




                                                  Prof. Adriano Teixeira de Souza
   Passo 2 – Protegendo Web Container

    <!—
    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>




                                       Prof. Adriano Teixeira de Souza
   Passo 2 – Protegendo 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>
    <role-name>operador</role-name>
    </auth-constraint>
    </security-constraint>




                                              Prof. Adriano Teixeira de Souza
   Passo 2 – Protegendo Web Container

    <!—
    Define os Roles do sistema.
    Arquivo: WEB-INFweb.xml
    -->
    <security-role>
    <description>Perfil Supervisor</description>
    <role-name>supervisor</role-name>
    </security-role>
    <security-role>
    <description>Perfil Gerente</description>
    <role-name>gerente</role-name>
    </security-role>
    <security-role>
    <description>Perfil Operador</description>
    <role-name>operador</role-name>
    </security-role>




                                              Prof. Adriano Teixeira de Souza
   Passo 2 – Protegendo Web Container

    <!—
    Arquivo de Configuração do JBoss.
    Arquivo: WEB-INFjboss-web.xml
    -->
    <jboss-web>
    <security-domain>java:/jaas/exemplojaas</security-domain>
    <context-root>/ExemploJAASWeb</context-root>
    <use-session-cookies>true</use-session-cookies>
    </jboss-web>




                                             Prof. Adriano Teixeira de Souza
   Passo 3 – Protegendo EJB Container

    <!—
    EJB 3.0 - Via annotation (Java5 ou superior)
    Definição da classe
    -->
    @Stateless
    @DeclareRoles({"supervisor","gerente","operador"})
    public class FuncionarioServiceImpl implements FuncionarioService {
    @Resource
    private SessionContext context;
    ...
    }




                                             Prof. Adriano Teixeira de Souza
   Passo 3 – Protegendo EJB Container

    <!—
    @PermitAll
    Todos os usuários válidos para o EJB tem acesso ao método.
    Exemplo: "supervisor","gerente” e "operador"
    -->
    @PermitAll
    public List<Funcionario> listAll() {
    ...
    }




                                             Prof. Adriano Teixeira de Souza
   Passo 3 – Protegendo EJB Container

    <!—
    @RolesAllowed
    Somente usuários definidos na assinatura do método.
    -->
    @RolesAllowed({"supervisor","gerente"})
    public void save(Funcionario funcionario) throws LimiteSalarioException {
    ...
    }
    @RolesAllowed("supervisor")
    public void delete(Integer idFuncionario) {
    ...
    }




                                              Prof. Adriano Teixeira de Souza
   Passo 3 – Protegendo EJB Container

    <!—
    Segurança Programática.
    Exemplo: Somente o supervisor pode definir um salário acima de R$ 10.000,00
    -->
    @RolesAllowed({"supervisor","gerente"})
    public void save(Funcionario funcionario) throws LimiteSalarioException {
               if ((!context.isCallerInRole("supervisor") &&
               (funcionario.getSalario() > 10000.0d))){
                           throw new LimiteSalarioException("limite.salario.exception");
               }
    }




                                                Prof. Adriano Teixeira de Souza

Contenu connexe

Tendances

Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalJefferson Costa
 
Footprinting and reconnaissance
Footprinting and reconnaissanceFootprinting and reconnaissance
Footprinting and reconnaissanceNishaYadav177
 
Network Security Fundamentals
Network Security FundamentalsNetwork Security Fundamentals
Network Security FundamentalsRahmat Suhatman
 
Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de SegurançaAlefe Variani
 
Symantec Messaging Gateway - Technical Proposal (General)
Symantec Messaging Gateway - Technical Proposal (General)Symantec Messaging Gateway - Technical Proposal (General)
Symantec Messaging Gateway - Technical Proposal (General)Iftikhar Ali Iqbal
 
Segurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeSegurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeNatanael Simões
 
Network Security Presentation
Network Security PresentationNetwork Security Presentation
Network Security PresentationAllan Pratt MBA
 
Network security (vulnerabilities, threats, and attacks)
Network security (vulnerabilities, threats, and attacks)Network security (vulnerabilities, threats, and attacks)
Network security (vulnerabilities, threats, and attacks)Fabiha Shahzad
 
Resposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMResposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMSpark Security
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Module 8 System Hacking
Module 8   System HackingModule 8   System Hacking
Module 8 System Hackingleminhvuong
 

Tendances (20)

Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense Computacional
 
Seminario seguranca da informacao
Seminario seguranca da informacaoSeminario seguranca da informacao
Seminario seguranca da informacao
 
Footprinting and reconnaissance
Footprinting and reconnaissanceFootprinting and reconnaissance
Footprinting and reconnaissance
 
Network Security Fundamentals
Network Security FundamentalsNetwork Security Fundamentals
Network Security Fundamentals
 
Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de Segurança
 
Security operation center.pdf
Security operation center.pdfSecurity operation center.pdf
Security operation center.pdf
 
Symantec Messaging Gateway - Technical Proposal (General)
Symantec Messaging Gateway - Technical Proposal (General)Symantec Messaging Gateway - Technical Proposal (General)
Symantec Messaging Gateway - Technical Proposal (General)
 
Segurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeSegurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de Rede
 
Network Security Presentation
Network Security PresentationNetwork Security Presentation
Network Security Presentation
 
Computer Security
Computer SecurityComputer Security
Computer Security
 
OSI Layer Security
OSI Layer SecurityOSI Layer Security
OSI Layer Security
 
Fundamentos de Segurança da Informação
Fundamentos de Segurança da InformaçãoFundamentos de Segurança da Informação
Fundamentos de Segurança da Informação
 
Network security (vulnerabilities, threats, and attacks)
Network security (vulnerabilities, threats, and attacks)Network security (vulnerabilities, threats, and attacks)
Network security (vulnerabilities, threats, and attacks)
 
Network Security
Network Security Network Security
Network Security
 
Resposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEMResposta a Incidentes de Segurança com ferramentas SIEM
Resposta a Incidentes de Segurança com ferramentas SIEM
 
Secure Network Design
Secure Network DesignSecure Network Design
Secure Network Design
 
Webinar # 21 – Análise Forense de Redes
 Webinar # 21 – Análise Forense de Redes Webinar # 21 – Análise Forense de Redes
Webinar # 21 – Análise Forense de Redes
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Module 8 System Hacking
Module 8   System HackingModule 8   System Hacking
Module 8 System Hacking
 
Introduction to Cloud Security
Introduction to Cloud SecurityIntroduction to Cloud Security
Introduction to Cloud Security
 

En vedette

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosPortal_do_Estudante_SD
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Arthur Emanuel
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Arthur Emanuel
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Desenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certaDesenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certaNelson Glauber Leal
 

En vedette (10)

Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02Sistemas Distribuídos - Aula 02
Sistemas Distribuídos - Aula 02
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Desenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certaDesenvolvimento Android: Faça da maneira certa
Desenvolvimento Android: Faça da maneira certa
 

Similaire à Segurança de Dados Corporativos

Introdução a segurança da informação
Introdução a segurança da informaçãoIntrodução a segurança da informação
Introdução a segurança da informaçãoneemiaslopes
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informaçãoAdilmar Dantas
 
Introdução a Segurança da Informação e mecanismos de Proteção
Introdução a Segurança da Informação e mecanismos de ProteçãoIntrodução a Segurança da Informação e mecanismos de Proteção
Introdução a Segurança da Informação e mecanismos de ProteçãoNeemias Lopes
 
Introdução a segurança da informação e mecanismo e proteção
Introdução a segurança da informação e mecanismo e proteçãoIntrodução a segurança da informação e mecanismo e proteção
Introdução a segurança da informação e mecanismo e proteçãoNeemias Lopes
 
Conceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresConceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresRogerio Pereira
 
Estudo de caso segurança computação distribuída
Estudo de caso   segurança computação distribuídaEstudo de caso   segurança computação distribuída
Estudo de caso segurança computação distribuídaRicardo Nagel
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídosGeomar Matias Lima
 
Intrusos e Honeypots
Intrusos e HoneypotsIntrusos e Honeypots
Intrusos e HoneypotsThaís Favore
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação2015s
 
segurança em redes.pptx
segurança em redes.pptxsegurança em redes.pptx
segurança em redes.pptxcasa46
 
SEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptSEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptAgostinho9
 
Controle de acesso físico e lògico
Controle de acesso físico e lògicoControle de acesso físico e lògico
Controle de acesso físico e lògicoTais Florenço
 
Aula 6 - Segurança da informação
Aula 6 - Segurança da informaçãoAula 6 - Segurança da informação
Aula 6 - Segurança da informaçãoLucasMansueto
 
Segurança dos sistemas de informação
Segurança dos sistemas de informaçãoSegurança dos sistemas de informação
Segurança dos sistemas de informaçãoRodrigo Gomes da Silva
 
Nota de aula seguranca da informacao - politica de segurança da informação
Nota de aula   seguranca da informacao - politica de segurança da informaçãoNota de aula   seguranca da informacao - politica de segurança da informação
Nota de aula seguranca da informacao - politica de segurança da informaçãofelipetsi
 

Similaire à Segurança de Dados Corporativos (20)

Introdução a segurança da informação
Introdução a segurança da informaçãoIntrodução a segurança da informação
Introdução a segurança da informação
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
Aula 1 semana
Aula 1 semanaAula 1 semana
Aula 1 semana
 
Introdução a Segurança da Informação e mecanismos de Proteção
Introdução a Segurança da Informação e mecanismos de ProteçãoIntrodução a Segurança da Informação e mecanismos de Proteção
Introdução a Segurança da Informação e mecanismos de Proteção
 
Introdução a segurança da informação e mecanismo e proteção
Introdução a segurança da informação e mecanismo e proteçãoIntrodução a segurança da informação e mecanismo e proteção
Introdução a segurança da informação e mecanismo e proteção
 
Conceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresConceito em segurança de redes de computadores
Conceito em segurança de redes de computadores
 
Estudo de caso segurança computação distribuída
Estudo de caso   segurança computação distribuídaEstudo de caso   segurança computação distribuída
Estudo de caso segurança computação distribuída
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídos
 
Intrusos e Honeypots
Intrusos e HoneypotsIntrusos e Honeypots
Intrusos e Honeypots
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
segurança em redes.pptx
segurança em redes.pptxsegurança em redes.pptx
segurança em redes.pptx
 
SEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.pptSEGURANÇA DE REDES.ppt
SEGURANÇA DE REDES.ppt
 
Controle de acesso físico e lògico
Controle de acesso físico e lògicoControle de acesso físico e lògico
Controle de acesso físico e lògico
 
Boas Práticas em Segurança da Informação
Boas Práticas em Segurança da InformaçãoBoas Práticas em Segurança da Informação
Boas Práticas em Segurança da Informação
 
Segurança em Sistemas Distribuídos
Segurança em Sistemas DistribuídosSegurança em Sistemas Distribuídos
Segurança em Sistemas Distribuídos
 
Aula import seg
Aula import segAula import seg
Aula import seg
 
Aula 6 - Segurança da informação
Aula 6 - Segurança da informaçãoAula 6 - Segurança da informação
Aula 6 - Segurança da informação
 
Segurança dos sistemas de informação
Segurança dos sistemas de informaçãoSegurança dos sistemas de informação
Segurança dos sistemas de informação
 
Nota de aula seguranca da informacao - politica de segurança da informação
Nota de aula   seguranca da informacao - politica de segurança da informaçãoNota de aula   seguranca da informacao - politica de segurança da informação
Nota de aula seguranca da informacao - politica de segurança da informação
 
Conceitos TI
Conceitos TIConceitos TI
Conceitos TI
 

Plus de Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 

Plus de Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 

Segurança de Dados Corporativos

  • 1. Aspectos de Segurança Prof. Adriano Teixeira de Souza
  • 2. A maioria é causada pelo ser humano e intencional  Inicialmente os hackers eram adolescentes ou estudantes que participavam de um jogo  Atualmente as falhas de segurança podem representar grandes prejuízos para as empresas  Os hackers tornaram-se prossionais  Proteger os dados corporativos torna-se questão de sobrevivência para as empresas Prof. Adriano Teixeira de Souza
  • 3. Transmissão/Armazenamento seguro de informação ◦ Uso de Criptografia  Recentes ◦ Impedimento de acesso (denial of service attack)  Ataque massivo sobre servidores ◦ Segurança em Código Móvel  Como confiar em código vindo do exterior?  Afetar consistência, desempenho, disponibilidade, etc. Prof. Adriano Teixeira de Souza
  • 4. Os princípios básicos de segurança em sistemas de comunicação compreendem: ◦ Confidencialidade - tem por objetivo proteger a informação intercambiada prevenindo-a de acessos não autorizados; ◦ Integridade - deve garantir a veracidade da informação protegendo-a de modicações não autorizadas; ◦ Autenticidade - visa garantir a identidade dos parceiros do intercâmbio através da autenticação dos usuários; ◦ Disponibilidade - objetiva prevenir interrupções na operação da rede garantindo a disponibilidade do uso da informação. Prof. Adriano Teixeira de Souza
  • 5. Os usuários estão interconectados com as suas aplicações distribuídas através de redes abertas não-conáveis que podem ser compartilhadas por outros usuários, os quais não estão autorizados a acessar determinados sistemas. Assim sendo é necessário identicar e autenticar o usuário que solicitar conexão ao sistema bem como vericar se ele possui autorização para acessar os recursos solicitados.  A identicação é o processo inicial para vericar se esse usuário está cadastrado ao sistema; normalmente essa identificação é realizada através de um user-id. Prof. Adriano Teixeira de Souza
  • 6. A autenticação é a etapa seguinte na qual o usuário deverá provar sua identidade. Antigamente este processo era sinônimo de password, porém atualmente podemos classificar os métodos de autenticação do usuário em três categorias: ◦ Algo que o usuário conheça - o sistema indaga por uma informação que o usuário tenha conhecimento, sendo o caso típico da password; ◦ Algo que o usuário possua - o sistema solicita a apresentação de algo físico que o usuário tenha, podendo ser desde um simples cartão magnético até sofisticados dispositivos eletrônicos; ◦ Algo que o usuário seja - esta categoria está relacionada como os sistemas biométricos que são métodos automatizados para vericar a identidade de uma pessoa, baseando-se em alguma característica fisiológica ou comportamental. Prof. Adriano Teixeira de Souza
  • 7. Vulnerabilidade ◦ São erros no projeto ou configuração dos Sistemas Computacionais que podem ser exploradas para se produzir falhas intencionais ou não.  Ataque ◦ São investidas contra os Sistemas Computacionais para explorar as suas vulnerabilidades e causar falhas intencionais. ◦ Podem assumir varias formas: destruição, modificação, roubo, revelação da informação ou interrupção de serviços. Prof. Adriano Teixeira de Souza
  • 8. Ataque ◦ Personificação: uma entidade faz-se passar por outra. ◦ Replay: uma mensagem, ou parte dela, é capturada, armazenada e posteriormente retransmitida. ◦ Modificação: o conteúdo de uma mensagem é alterado. ◦ Recusa ou Impedimento de Serviço: interrupção de algum serviço (geração de mensagens em grande quantidade). ◦ Ataques Internos: um usuário executa uma operação não autorizada para o mesmo. ◦ Armadilhas (trapdoor): uma entidade legitima é substituída por outra alterada. Prof. Adriano Teixeira de Souza
  • 9. Ataque (continuação) ◦ Cavalos de Tróia: entidade falsa produz o mesmo serviço que a legitima com o intuito de se camuar e executa uma operação adicional não autorizada. ◦ Spoofing: interceptação da comunicação entre dois hosts por um host não autorizado. Prof. Adriano Teixeira de Souza
  • 10. Ataque (continuação) ◦ Snifing: usa o principio da propagação da mensagem através do meio físico para “ouvir" todos as mensagens que nele trafegar. Normalmente este tipo de ataque é usado na preparação de outros ataques. Prof. Adriano Teixeira de Souza
  • 11. Regras e práticas para proteger informações e recursos. ◦ Nível de sensibilidade da informação (o quê?, quem?). ◦ Identidade do usuário.  Política dos 4P ◦ Paranóica: tudo é negado. ◦ Prudente: tudo é proibido exceto o que for explicitamente permitido. ◦ Permissiva: tudo é permitido exceto o que for explicitamente proibido. ◦ Promiscua: tudo é permitido. Prof. Adriano Teixeira de Souza
  • 12. Autenticidade: garantir-se que um usuário é realmente quem se diz ser e as ações a ele atribuídas tenham sido realmente de sua autoria.  Confidencialidade: usuários autorizados tenham acesso as informações devidas e ninguém mais.  Integridade: garante que um documento autentico não foi alterando acidentalmente ou intencionalmente ou que esteja sendo reutilizado sem que seja percebido.  Disponibilidade: continuidade dos seus serviços acessíveis aos usuários autorizados. Prof. Adriano Teixeira de Souza
  • 13. Autenticação Prof. Adriano Teixeira de Souza
  • 14. Controle de Acesso ◦ Access Control List: lista com a identicação do usuário ou processo e suas permissões para cada objeto. ◦ Capabilities: lista para cada usuário ou processo com a identicação do objeto e suas permissões. ◦ Access Control Matriz: é uma matriz onde as linhas são compostas pelos usuários, as colunas por objetos e os elementos são listas de permissões (Capability X ACL). Prof. Adriano Teixeira de Souza
  • 15. Criptografia: transformar um texto em claro em um texto criptografado através de um método de criptografia.  O método de criptografia é confiável e seguro quando ele é de domínio público ◦ Criptograa Simétrica: a chave utilizada para criptografar um texto é a mesma para descriptografa-lo.  DES (Data Encryption Standard) ◦ Criptografia Assimétrica: a chave para criptografar uma mensagem é diferente da chave para descriptografa-la.  RSA (Rivest, Shamir e Adleman)  Outros métodos e padrões (Assinatura digital, Messages Digests - MD5, etc.) Prof. Adriano Teixeira de Souza
  • 16. Ao desenvolver um aplicativo “seguro”, devemos considerar: ◦ Criação/Configuração de um repositório de usuários; ◦ Tela para capturar login/senha usuário; ◦ Funcionalidade que efetua a validação do login/senha no repositório; ◦ Funcionalidade que verifica se usuário tem permissão de acesso ao recurso solicitado; ◦ Em caso de falta de permissão ou login/senha inválido, exibe uma mensagem/exception ao usuário. Prof. Adriano Teixeira de Souza
  • 17. Podemos utilizar os seguintes níveis de segurança: ◦ Sem segurança: sistema totalmente aberto, não requer um usuário válido; ◦ Nível básico: o usuário precisa informar login e senha, porém o sistema não tem criptografia; ◦ Nível intermediário: as informações login e senha são criptografadas, porém o restante não; ◦ Nível avançado: tudo é criptografado com chaves; ◦ Nível máximo: tudo é criptografado e o usuário “prova” sua identidade através de um certificado digital; Prof. Adriano Teixeira de Souza
  • 18. JEE suportada todos os níveis e permite o desenvolvimento de aplicativos seguros através de: ◦ Segurança programada: o código é totalmente responsável por toda a segurança; ◦ Segurança declarada: delegamos o controle de segurança para o container; ◦ Segurança mista: declaramos o básico, programamos o avançado; Prof. Adriano Teixeira de Souza
  • 19. Java Authentication and Authorization Service.  Consiste no mecanismo de Autenticação e Autorização de Usuários, baseado em uma identidade e role(s) (perfil de acesso) associado(s).  Utilizando JAAS podemos restringir 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.  O mecanismo possibilita uma abordagem declarativa ou programática, dando a possibilidade de um desacoplamento entre segurança e regras de negócio. Prof. Adriano Teixeira de Souza
  • 20. Totalmente compatível com o padrão JEE, ou seja, sua aplicação será portável em qualquer servidor Java EE.  É baseado em módulos de autenticação, que implementam uma API padrão e disponibilizam soluções compatíveis com diferentes repositórios.  Exemplo: Banco de Dados, Servidores LDAP, Arquivos XML, Domains Servers (Ex. NT), etc. Prof. Adriano Teixeira de Souza
  • 21. Visualizando possibilidades … Prof. Adriano Teixeira de Souza
  • 22. Passo 1 - Configurando o Módulo de Autenticação <!-- Exemplo: File Login Module Arquivo: %JBOSS_HOME%serverdefaultconflogin-config.xml --> <application-policy name="exemplojaas"> <authentication> <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"> <module-option name="usersProperties">props/exemplo-jaas-users.properties</module-option> <module-option name="rolesProperties">props/exemplo-jaas-roles.properties</module-option> </login-module> </authentication> </application-policy> Prof. Adriano Teixeira de Souza
  • 23. Passo 2 – Protegendo Web Container <!— 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> Prof. Adriano Teixeira de Souza
  • 24. Passo 2 – Protegendo 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> <role-name>operador</role-name> </auth-constraint> </security-constraint> Prof. Adriano Teixeira de Souza
  • 25. Passo 2 – Protegendo Web Container <!— Define os Roles do sistema. Arquivo: WEB-INFweb.xml --> <security-role> <description>Perfil Supervisor</description> <role-name>supervisor</role-name> </security-role> <security-role> <description>Perfil Gerente</description> <role-name>gerente</role-name> </security-role> <security-role> <description>Perfil Operador</description> <role-name>operador</role-name> </security-role> Prof. Adriano Teixeira de Souza
  • 26. Passo 2 – Protegendo Web Container <!— Arquivo de Configuração do JBoss. Arquivo: WEB-INFjboss-web.xml --> <jboss-web> <security-domain>java:/jaas/exemplojaas</security-domain> <context-root>/ExemploJAASWeb</context-root> <use-session-cookies>true</use-session-cookies> </jboss-web> Prof. Adriano Teixeira de Souza
  • 27. Passo 3 – Protegendo EJB Container <!— EJB 3.0 - Via annotation (Java5 ou superior) Definição da classe --> @Stateless @DeclareRoles({"supervisor","gerente","operador"}) public class FuncionarioServiceImpl implements FuncionarioService { @Resource private SessionContext context; ... } Prof. Adriano Teixeira de Souza
  • 28. Passo 3 – Protegendo EJB Container <!— @PermitAll Todos os usuários válidos para o EJB tem acesso ao método. Exemplo: "supervisor","gerente” e "operador" --> @PermitAll public List<Funcionario> listAll() { ... } Prof. Adriano Teixeira de Souza
  • 29. Passo 3 – Protegendo EJB Container <!— @RolesAllowed Somente usuários definidos na assinatura do método. --> @RolesAllowed({"supervisor","gerente"}) public void save(Funcionario funcionario) throws LimiteSalarioException { ... } @RolesAllowed("supervisor") public void delete(Integer idFuncionario) { ... } Prof. Adriano Teixeira de Souza
  • 30. Passo 3 – Protegendo EJB Container <!— Segurança Programática. Exemplo: Somente o supervisor pode definir um salário acima de R$ 10.000,00 --> @RolesAllowed({"supervisor","gerente"}) public void save(Funcionario funcionario) throws LimiteSalarioException { if ((!context.isCallerInRole("supervisor") && (funcionario.getSalario() > 10000.0d))){ throw new LimiteSalarioException("limite.salario.exception"); } } Prof. Adriano Teixeira de Souza