Meaning of permissions in SELinux(Ver 1) - SELinux Policy Editor
Entendendo o SELinux: Security Enhanced Linux - Jeronimo Zucco
-
Upload
tchelinux-slides -
Category
Technology
-
view
1.017 -
download
10
description
Transcript of Entendendo o SELinux: Security Enhanced Linux - Jeronimo Zucco
Tchelinux
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
Agenda
● SELinux– Criação e Manutenção de Políticas
– Administração
● Demonstração Prática● Conclusões● Referências
Tchelinux
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
DAC – Controle de Acesso Discricionário
● Modelo mais popular.● Administradores e não-administradores;● Delegações;● Usuários = Programas (processos)
Tchelinux
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
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 conceder direitos;● Sujeitos (programas) não podem conceder
direitos (vírus, trojans, por exemplo);● P(S,O,A) -> {accept,deny}
Tchelinux
DAC vs MAC
DAC● Dono do objeto possui poder
total sobre ele;● Confiança completa nos
usuários;● Decisões de acesso são
baseadas somente no user-id e permissões do objeto;
● Impossível de controlar o fluxo de dados;
MAC● Dono do objeto PODE ter
algum poder sobre ele;● Somente confia no
administrador da política;● Objetos e processos podem
possuir IDs;● Possibilita controle do fluxo
de dados;
Tchelinux
DAC vs MAC
Tchelinux
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
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
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
Tchelinux
SeLinux – Decisões de Acesso
● Tudo é negado por padrão● Regras de Allow, Auditallow e Dontaudit
Tchelinux
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 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
SELinux – Política Targeted
● Domínio unconfined_t;● Política padrão atual;● Várias aplicações suportadas
Tchelinux
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
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 Modulares;● Utilitários para geração de políticas
Tchelinux
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;● Não precisa de intervenção para uso comum;● Segurança Pró-ativa;● Software Livre !
Tchelinux
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