Entendendo o SELinux - Security Enhanced Linux

3,253 views
3,032 views

Published on

Palestra sobre SELinux apresentada na PUC no evento Tchelinux em Novembro de 2008.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,253
On SlideShare
0
From Embeds
0
Number of Embeds
362
Actions
Shares
0
Downloads
114
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Entendendo o SELinux - Security Enhanced Linux

  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 ­   

×