Entendendo o SELinux

                Security Enhanced Linux

                      Jeronimo Zucco
                    jc...
Agenda
    ●   Introdução e Motivação
    ●   Definição
    ●   Modelos de Controles de Acesso – DAC e MAC
    ●   SELinux...
Agenda
    ●   SELinux
          –    Criação e Manutenção de Políticas
          –    Administração
    ●   Demonstração ...
Introdução e Motivação
    ●   Incidentes de Segurança:
          –    Complexidade das aplicações;
          –    Elevaçã...
DAC – Controle de Acesso Discricionário
    ●   Modelo mais popular.
    ●   Administradores e não-administradores;
    ● ...
Problemas no DAC
    ●   Usuários: admin ou não-admin;
    ●   Princípio do menor privilégio difícil de aplicar;
    ●   S...
MAC – Controle de Acesso Mandatório




Tchelinux ­              
MAC – Controle de Acesso Mandatório
    ●   Sistema define a política de acesso;
    ●   Sujeitos (usuários) não pode conc...
DAC vs MAC
                 DAC                                    MAC
    ●   Dono do objeto possui poder       ●   Dono ...
DAC vs MAC




Tchelinux ­         
Security-Enhanced Linux
    ●   Desenvolvido pela National Security Agency
        (NSA) e Secure Computing Corporation pa...
SELinux - Objetivos
    ●   Isolamento das aplicações;
    ●   Controle do fluxo de informações;
    ●   Confidencialidade...
SELinux - Desenvolvimento




Tchelinux ­                 
SELinux e LSM
    ●   LSM (Linux Security Modules) – 2001 Linux
        Kernel Summit




Tchelinux ­                   
SELinux - Arquitetura




Tchelinux ­               
SELinux - Elementos
    ● Objetos
    ● Sujeitos


    ● Ações / Permissões


    ● Política




Tchelinux ­              
SELinux – Contextos de Segurança
    ●   Identidade
    ●   Papel
    ●   Tipo / Domínio
    ●   Nível de Segurança




Tc...
SeLinux – Decisões de Acesso
    ●   Tudo é negado por padrão
    ●   Regras de Allow, Auditallow e Dontaudit




Tchelinu...
SELinux – Decisões de Transição




Tchelinux ­            
SELinux - Política




Tchelinux ­             
SELinux - Política




Tchelinux ­             
SELinux – Política Strict
    ●   Para cada tipo de acesso de cada processo
        para cada arquivo deverá existir ao me...
SELinux – Política Targeted
    ●   Domínio unconfined_t;
    ●   Política padrão atual;
    ●   Várias aplicações suporta...
SELinux – Política MLS
    ●   Política Strict + Níveis (modelo BLP);
    ●   Mais dois campos no contexto de segurança:
 ...
SELinux – Política MCS
    ●   Subconjunto do MLS
    ●   Nível de sensibilidade não utilizado




Tchelinux ­            ...
SELinux – Customização da Política
    ●   Política de referência;
    ●   Variáveis booleanas;
    ●   Políticas Modulare...
SELinux - Administração
    ●   enforcing, permissive, disabled




Tchelinux ­                    
SELinux – Customização da Política




Tchelinux ­          
SELinux - Demonstração




Tchelinux ­               
Conclusões
    ●   Viável para uso em servidores com aplicações
        comuns;
    ●   Possibilidades de uso futuras;
   ...
SELinux - Referências
    ●   http://jczucco.googlepages.com/selinux.html
    ●   http://selinuxnews.org/planet/
    ●   h...
Próximos SlideShares
Carregando em…5
×

Entendendo o SELinux: Security Enhanced Linux - Jeronimo Zucco

1.288 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Entendendo o SELinux: Security Enhanced Linux - Jeronimo Zucco

  1. 1. Entendendo o SELinux Security Enhanced Linux Jeronimo Zucco jczucco@gmail.com Tchelinux ­   
  2. 2. Agenda ● Introdução e Motivação ● Definição ● Modelos de Controles de Acesso – DAC e MAC ● SELinux – Histórico – Arquitetura – Políticas de Segurança Strict, Targeted, MLS e MCS Tchelinux ­   
  3. 3. Agenda ● SELinux – Criação e Manutenção de Políticas – Administração ● Demonstração Prática ● Conclusões ● Referências Tchelinux ­   
  4. 4. Introdução e Motivação ● Incidentes de Segurança: – Complexidade das aplicações; – Elevação de privilégios; – Código móvel; – Zero-days; – Políticas de atualizações; – Inevitabilidade de falha: “The Inevitability of Failure: The Flawed Assumption of Security in Modern Computing Environments” http://www.nsa.gov/selinux/papers/inevitability Tchelinux ­   
  5. 5. DAC – Controle de Acesso Discricionário ● Modelo mais popular. ● Administradores e não-administradores; ● Delegações; ● Usuários = Programas (processos) Tchelinux ­   
  6. 6. Problemas no DAC ● Usuários: admin ou não-admin; ● Princípio do menor privilégio difícil de aplicar; ● Serviços que só rodam como super usuário; ● Herança de poderes de acesso; ● Definições de acessos por usuário e não por programa; ● Assume que todos os programas são confiáveis e sem falhas. Tchelinux ­   
  7. 7. MAC – Controle de Acesso Mandatório Tchelinux ­   
  8. 8. MAC – Controle de Acesso Mandatório ● Sistema define a política de acesso; ● Sujeitos (usuários) não pode conceder direitos; ● Sujeitos (programas) não podem conceder direitos (vírus, trojans, por exemplo); ● P(S,O,A) -> {accept,deny} Tchelinux ­   
  9. 9. DAC vs MAC DAC MAC ● Dono do objeto possui poder ● Dono do objeto PODE ter total sobre ele; algum poder sobre ele; ● Confiança completa nos ● Somente confia no usuários; administrador da política; ● Decisões de acesso são ● Objetos e processos podem baseadas somente no user- possuir IDs; id e permissões do objeto; ● Possibilita controle do fluxo ● Impossível de controlar o de dados; fluxo de dados; Tchelinux ­   
  10. 10. DAC vs MAC Tchelinux ­   
  11. 11. Security-Enhanced Linux ● Desenvolvido pela National Security Agency (NSA) e Secure Computing Corporation para uso das tecnologias MAC (Flask); ● Classes B1 e superiores da TC-SEC Tchelinux ­   
  12. 12. SELinux - Objetivos ● Isolamento das aplicações; ● Controle do fluxo de informações; ● Confidencialidade; ● Integridade; ● Auto-proteção; ● Menor privilégio; ● Separação de papéis; Tchelinux ­   
  13. 13. SELinux - Desenvolvimento Tchelinux ­   
  14. 14. SELinux e LSM ● LSM (Linux Security Modules) – 2001 Linux Kernel Summit Tchelinux ­   
  15. 15. SELinux - Arquitetura Tchelinux ­   
  16. 16. SELinux - Elementos ● Objetos ● Sujeitos ● Ações / Permissões ● Política Tchelinux ­   
  17. 17. SELinux – Contextos de Segurança ● Identidade ● Papel ● Tipo / Domínio ● Nível de Segurança Tchelinux ­   
  18. 18. SeLinux – Decisões de Acesso ● Tudo é negado por padrão ● Regras de Allow, Auditallow e Dontaudit Tchelinux ­   
  19. 19. SELinux – Decisões de Transição Tchelinux ­   
  20. 20. SELinux - Política Tchelinux ­   
  21. 21. SELinux - Política Tchelinux ­   
  22. 22. SELinux – Política Strict ● Para cada tipo de acesso de cada processo para cada arquivo deverá existir ao menos uma regra na política, senão o acesso será negado; ● Complexidade alta; ● Programas não suportados; ● Problemas no início do uso do SELinux Tchelinux ­   
  23. 23. SELinux – Política Targeted ● Domínio unconfined_t; ● Política padrão atual; ● Várias aplicações suportadas Tchelinux ­   
  24. 24. SELinux – Política MLS ● Política Strict + Níveis (modelo BLP); ● Mais dois campos no contexto de segurança: – sensibilidade: confidencial, secreto, etc (hierarquia) – categoria: classificação não hierarquica ● Órgãos do governo e militares Tchelinux ­   
  25. 25. SELinux – Política MCS ● Subconjunto do MLS ● Nível de sensibilidade não utilizado Tchelinux ­   
  26. 26. SELinux – Customização da Política ● Política de referência; ● Variáveis booleanas; ● Políticas Modulares; ● Utilitários para geração de políticas Tchelinux ­   
  27. 27. SELinux - Administração ● enforcing, permissive, disabled Tchelinux ­   
  28. 28. SELinux – Customização da Política Tchelinux ­   
  29. 29. SELinux - Demonstração Tchelinux ­   
  30. 30. Conclusões ● Viável para uso em servidores com aplicações comuns; ● Possibilidades de uso futuras; ● Não precisa de intervenção para uso comum; ● Segurança Pró-ativa; ● Software Livre ! Tchelinux ­   
  31. 31. SELinux - Referências ● http://jczucco.googlepages.com/selinux.html ● http://selinuxnews.org/planet/ ● http://www.redhat.com/docs/manuals/enterprise/ RHEL-5-manual/Deployment_Guide-en- US/selg-overview.html ● http://mdious.fedorapeople.org/drafts/html/ ● http://delicious.com/jczucco/selinux Tchelinux ­   

×