Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

Post on 25-Dec-2014

1.768 views 0 download

description

Security Enhanced Linux (SELinux) tem reputação de ser complexo e díficil de implementar, recentemente os desenvolvedores tem trabalhado em sua evolução e facilitação de uso. Isto tem representando num crescimento rápido, fortalecendo diversos tipos de servidores Linux. Esta palestra abordará as suas funcionalidades e desmitificação dos mitos de dificultade de implantação.

Transcript of Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

Security Enhanced Linux

DESMITIFICANDO

por Ulisses Castro

1o. S.G.S.L / 5o. F.G.S.L.

QUEM SOU ?•Consultor em Infra-estrutura e Segurança

• Projetos em instituições financeiras

• Cursos de segurança (governo/empresas privadas)

• Mantenedor Debian (pacote selinux-basics)

• Voluntário projeto ASDR (OWASP)

• Colaborador LPI Exam Developer (LPIC-3)

• Certificado LPIC-2

• CEH - Certified Ethical Hacker

• Serviços (Pentest e Hardening)

• Pai e marido nas horas vagas! :-)

PORQUE DESMITIFICANDO ?

•Fedora Core 2 (2004)

• SELinux “ativado” por padrão

• Terror e Pânico (forums, irc, etc)

• Marcou de maneira negativa

CONTROLES DE ACESSO COMUNS

•Discretionary Access Control (DAC)

•Mandatory Access Control (MAC)

DAC - CONCEITOS

•SETUID/SETGID = vunerabilidade

• Acesso baseado somente em (uid/gid)

• Política padrão muito liberal

•Somente dois tipos de usuário: usuário e

administrador

•Sem condições de aplicar o “menor

privilégio”

DAC

KERNEL

MAC - CONCEITOS

•Difícil de gerenciar/administrar

• Objetos são abstraídos em duas classes:

• Subjects: usuário e processos

• Objects: arquivos

• Controle fino/granular em relação ao DAC

•Restringe acesso através das “syscalls”

• Política de “Sandboxes”

MAC

KERNEL

POLÍTICAS

DAC

MAC

SECURITY ENHANCED LINUX

•Criado pela NSA(National Security Agency)

• Tornou-se (GPL) software livre em 2000

• Proteção pró-ativa contra bugs/zero days

• Patches compilados “built in” no Kernel

• A checagem MAC ocorre APÓS a DAC

•Nega por padrão quaquer interação entre usuários/processos e arquivos

• AVC - Access Vetor Cache

OBJETIVOS

•Isolamento das aplicações (confinamento)

• Fluxo de informações

• Confidencialidade

• Integridade

• Auto-proteção

• Política do menor privilégio

• Modular (políticas)

ENTENDENDO CONTEXTOS

• 3 Modos de funcionamento

• Enforcing/Permissive/Disabled

• Processos e arquivos tem contextos de seguranças aplicados. Ex:

root:system_r:httpd_t:s0

Sintaxe: user:role:type:level

•type - usado para implementar (Type Enforcement) campo chave para o confinamento

• Outros são para implementar RBAC e MLS

TYPE ENFORCEMENT

• Baseado em uma única propriedade (type)

•type quando aplicado em um arquivo = tipo, quando aplicado à um processo = domínio

•types são definidos em processos e recursos

• Processos do Apache (httpd_t)

• Os acessos são permitidos entre os “types”

• Ex: httpd_t pode ler httpd_sys_content

POLÍTICA (TARGETED)•Protege contra vulnerabilidades em

processos e serviços

• No Debian Etch existem mais de 150 políticas prontas para uso

• Apache, Bind, Squid, Dhcp, Ftp ...

• Cada processo é jogado dentro da “sandbox” :-)

• Todos os outros ficam de fora - unconfined_t

•A criação de políticas não é tão complexa (audit2allow, audit2why)

?

REFERÊNCIAShttp://selinuxproject.org

http://selinuxnews.org/planet

http://wiki.debian.org/SELinux

http://www.nsa.gov/selinux/

http://fedoraproject.org/wiki/SELinux

http://jczucco.googlepages.com/Trabalho_Jeronimo_pos.html

http://www.redhatmagazine.com

http://selinux-symposium.org

Projeto ASDR:

https://www.owasp.org/index.php/ASDR_TOC_Attacks

Instalação SELinux Debian:

http://ulissescastro.wordpress.com

OBRIGADO!e-mail:

uss.thebug@gmail.com

blog:http://ulissescastro.wordpress.com