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

18

Click here to load reader

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

Page 1: 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.

Page 2: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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! :-)

Page 3: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

PORQUE DESMITIFICANDO ?

•Fedora Core 2 (2004)

• SELinux “ativado” por padrão

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

• Marcou de maneira negativa

Page 4: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

CONTROLES DE ACESSO COMUNS

•Discretionary Access Control (DAC)

•Mandatory Access Control (MAC)

Page 5: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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”

Page 6: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

DAC

KERNEL

Page 7: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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”

Page 8: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

MAC

KERNEL

POLÍTICAS

Page 9: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

DAC

Page 10: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

MAC

Page 11: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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

Page 12: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

OBJETIVOS

•Isolamento das aplicações (confinamento)

• Fluxo de informações

• Confidencialidade

• Integridade

• Auto-proteção

• Política do menor privilégio

• Modular (políticas)

Page 13: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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

Page 14: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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

Page 15: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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)

Page 16: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

?

Page 17: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

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

Page 18: Palestra Selinux - Por Ulisses Castro - V FGSL e I SGSL

OBRIGADO!e-mail:

[email protected]

blog:http://ulissescastro.wordpress.com