Mecanismos de Segurança Sistemas Linux



Documentos relacionados
Entendendo as Permissões de Arquivos no GNU/Linux

Laboratório de Redes de Computadores e Sistemas Operacionais

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

ACL Linux. O que são ACLs e por que usá-las?

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Sistema Operativo Linux

Lógica de Programação

Grupo 5 - SELinux. Aníbal Leite Nuno Cardoso

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Aula 02. Introdução ao Linux

MULTIACERVO - VERSÃO 17.*

Parte III: Introdução ao SELinux (Secure Enhanced Linux)

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Sistemas Operacionais Arquivos

Sistemas Operacionais

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

MANUAL DE CONFIGURAÇÃO DO BACKUP

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

LINX POSTOS AUTOSYSTEM

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Engenharia de Software III

Gestão Comercial GUIA RÁPIDO DE INSTALAÇÃO DO ORYON.

RODC. Read-Only Domain Controller

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Noções de. Microsoft SQL Server. Microsoft SQL Server

Pesquisa e organização de informação

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

UDPcast Clonagem de HDs via rede utilizando

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

O Gerenciamento de Documentos Analógico/Digital

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

Instalando o Debian em modo texto

Permissões de compartilhamento e NTFS - Parte 1

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Fundamentos e Prática em Informática LINUX Gerenciamento de Usuários e Grupos

Minicurso de Introdução a GNU/Linux. Nicolas Katte Dornelles Raul José Chaves Róbson Tolfo Segalla

Administração de Sistemas Livres

Curso de Instalação e Gestão de Redes Informáticas

Java e JavaScript. Krishna Tateneni Tradução: Lisiane Sztoltz

Dadas a base e a altura de um triangulo, determinar sua área.

4 Estrutura do Sistema Operacional Kernel

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Conexão rápida entre dois computadores em uma plataforma Linux

Quadros Interactivos CLASUS

Entendendo como funciona o NAT

SIMULADO DE INFORMÁTICA BÁSICA TÉCNICO DO MPU PROF. ALEXANDRE LÊNIN / PROF. JUNIOR MARTINS

Sistemas Operacionais. Conceitos de um Sistema Operacional

Admistração de Redes de Computadores (ARC)

Compartilhamento de recursos de forma a racionar e otimizar o uso de equipamentos e softwares. Servidores e Workstations. Segurança é um desafio, por

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Microsoft Access Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Arquitetura de Rede de Computadores

Manual do Usuário Android Neocontrol

Tutorial: Programando no Linux

Auditando o Acesso ao Sistema de Arquivos no Windows 2008 Server R2

No VirtualBox, carregar no Botão Novo (New), que irá abrir o Assistente de Criação de Máquina Virtual para criar uma nova VM.

Tutorial de Active Directory Parte 3

5 Remova os diretórios e subdiretórios listados acima e também os listados abaixo:

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

EN3611 Segurança de Redes Prof. João Henrique Kleinschmidt Prática 2 Certificados digitais Permissões Comandos Password cracker

TRABALHO COM GRANDES MONTAGENS

Sistema de Controle de Cheques GOLD

Portaria Express 3.0

Manual Captura S_Line

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

EIC. Projecto I. Manual do Utilizador. Vídeo Vigilância Abordagem Open Source. Curso: Engenharia de Informática e Comunicações Ano Lectivo: 2005/2006

User Manual Version 3.6 Manual do Usuário Versão

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de Unidade Sistemas de Arquivos

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Introdução aos Computadores

Manual. Clonagem Linux

Manual Equipamento ST10 Flasher Rev. 1

Superioridade do Linux sobre Windows no quesito segurança

FAT32 ou NTFS, qual o melhor?

Projeto Integrador Projeto de Redes de Computadores

NOVIDADES DO JAVA PARA PROGRAMADORES C

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Guia Rápido de Instalação Ilustrado

Procedimentos para Reinstalação do Sisloc

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

MANUAL DO USUÁRIO. Guia de orientações e conceitos para manipulação da plataforma Miraklon. VERSÃO Vigência

Transcrição:

Mecanismos de Segurança Sistemas Linux Bruno Loureiro bruno.loureiro@fe.up.pt 1

Sumário Conceitos introdutórios Técnicas de Controlo de Acesso Modelo Bell-LaPadula Mecanismos de segurança Linux Abordagem DAC Vs MAC Conclusões Bibliografia 2

3

4

Você Você não não pode pode entrar entrar nesta nesta área, área, não não está estáautorizado. 5

Conceitos Introdutórios Controle de Acesso: Método utilizado para conceder ou proibir acesso (leitura, escrita, etc.) a determinados recursos de um sistema. Modelos Clássicos de Controle de Acesso: Bell-LaPadula; Biba; Clark-Wilson; Chinese Wall. 6

Técnicas de Controlo de Acesso DAC (Discretionary Access Control Controle de Acesso Discricionário) Este modelo é baseado na ideia que utilizadores são donos dos objectos e portanto controlam quem pode aceder a estes. O dono do objecto pode conceder permissão para outro acederr, podendo revogar tal permissão posteriormente. Ex: Permissões ficheiros e directorias Windows e Linux MAC (Mandatory Access Control Controle de Acesso Mandatório) O utilizador não tem escolha a que objecto ele pode acessar ou a que permissão ele possui, o administrador é quem dá as permissões. EX: SELinux, AppArmor, GRSecurity, RBAC e Smack etc 7

Modelo Bell-LaPadula Histórico Desenvolvido por David Elliott Bell e Len LaPadula; Projetado entre 1972 e 1975; Cumpre o modelo Multilevel Security (MLS): Segurança de Multiníveis (trabalha com relação entre recursos, utilizadores e aplicações). Foi uma resposta às necessidades de protecção da Força Aérea Americana em 1973, que naqueles momentos estava preocupada com a segurança do acesso a sistemas de grande porte 8

Mecanismos de segurança Linux DAC Tipos de Utilizadores (Normal e Root) Comandos Su e Sudo Permissões acesso especiais (suid, guid, stickbit) MAC SELinux (modelo Bell Lapadula) 9

Tipos de Utilizadores Utilizador normal Tem privilégios limitados, o que limita as hipóteses de cometer erros de sistema. Super-utilizador, administrador ou root o Utilizador cujo ID é, por norma, 0 (zero) o Pode executar qualquer operação sobre o sistema o Tem acesso a todos os ficheiros de todo o sistema o É ele quem cria os outros utilizadores 10

Tipos de Utilizadores Root Perigos Imagine, por exemplo, que você está trabalhando com o utilizador como root. Necessitou de sair da frente do computador e não fez o bloqueio. Alguém mal-intencionado percebe isso e vai até seu computador, apaga directórios importantes do sistema e "sai de mansinho". Se estivesse utilizando um utilizador comum, isto é, um utilizador sem permissões para mexer nesses directórios, o invasor não teria conseguido apagá-los. 11

Root Recomendações Tipos de Utilizadores Deve-se evitar a utilização sistemática de um utilizador com privilégios root. É recomendável que a senha de root tenha ao menos 8 caracteres e que misture letras, números e símbolos. Além disso, é recomendável mudar essa senha a determinados intervalos de tempo (por exemplo: em cada 3 meses) 12

Comandos Su e Sudo Comandos Su e Sudo Estou a trabalhar com uma conta utilizador normal o que posso fazer para ter privilégios de root. Posso usar os comandos Su e Sudo. ( Quais as diferenças) 13

Mecanismos de Segurança Comando Su Comando Sudo Comando su (substitute user). É um recurso mais poderoso que o su. Permite a troca para outro utilizador (root ou outro) Uma maneira rápida e segura de fazer troca utilizador. Modo funcionamento Escreve su o sistema pedirá a senha root. Em seguida, você poderá fazer a modificação necessária. Ao concluir, basta digitar exit ou fechar o terminal e os privilégios de root estarão desabilitados novamente. su utilizador su (para utilizar como root) O uso do sudo é interessante porque o utilizador não precisa saber a senha do root, apenas terá que ter permissão para usar determinados comandos pelo sudo. É possível definir quem pode utilizá-lo e quais comandos podem ser executados por esses utilizadores (/etc/sudoers). Além disso, o sudo permite registrar em um arquivo de log todas as actividades efetuadas, algo que é bem limitado no su. sudo [-u utilizador] comando 14

Permissões Especiais O controle de acesso em ficheiros e directórios é a segurança fundamental para qualquer sistema multi-utilizador. Os sistemas de ficheiros nativos do Linux implementam controle de acesso utilizando algumas propriedades dos ficheiros/directórios. No Linux há três modelos de controlo de acesso básicos: Read, Write e Execution. 15

Permissões Especiais No Linux há três modelos de controlo de acesso básicos: Read, Write e Execution. Vejamos um exemplo de permissão básica na figura abaixo: Tipo de Objecto d => diretório b => bloco c => arquivo especial de caractere p => canal s => socket - => ficheiro normal r => significa permissão de leitura (read); w => significa permissão de gravação (write); x => significa permissão de execução (execution); - => significa permissão desabilitada. 16

Permissões Especiais Mas somente as três permissões básicas (rwx), não dão toda flexibilidade para controlar acesso aos ficheiros e directórios. Por isso o Linux tem mais três modelos especiais para controle de acesso, chamados suid (set user id), sgid (set group id) e sticky (Sticky bit). 17

Permissões Especiais (Suid) A propriedade SUID é somente para ficheiros executáveis e não tem efeito em directórios. No ficheiro executável com a propriedade SUID aplicada, o programa rodará com o ID do dono do ficheiro, não com o ID do utilizador que executou o programa. Normalmente o utilizador dono do programa executável é também dono do processo sendo executado. A permissão de acesso especial SUID aparece no campo Dono. 18

Permissões Especiais (Suid) Comandos: Aplicando a propriedade SUID em um ficheiro executável utilizando formato simbólico (s): # chmod u+s programa.sh # ls -lah programa.sh -rwsr-xr-x 1 root roberto 0 2006-09-26 22:57 programa.sh 19

Permissões Especiais (Suid) - Retirando SUID: # chmod u-s programa.sh # ls -lah programa.sh -rwxr-x--- 1 root roberto 0 2006-09-26 22:57 programa.sh - Procurando SUID: Procurando a propriedade SUID em um arquivo executável utilizando formato simbólico (s): # find /home/roberto -perm u=s /home/roberto/programa.sh 20

Permissões Especiais (SGID) SGID ( Set Group ID ): A propriedade SGID funciona com directórios. Quando SGID é aplicado em um directório, os novos ficheiros que são criados dentro do directório assumem o mesmo ID de Grupo do directório com a propriedade SGID aplicado. A permissão de acesso especial SGID aparece no campo Grupo. 21

Permissões Especiais (SGID) Comandos: - Aplicando SGID: Aplicando a propriedade SGID em um directório utilizando formato simbólico (s): # chmod g+s /home/equipa # ls -lah /home/equipa drwxr-sr-x 2 roberto equipa 48 2006-09-26 23:21. - Retirando SGID: # chmod g-s /home/equipa # ls -lah /home/equipa drwxr-xr-x 2 roberto equipa 48 2006-09-26 23:21 22

Permissões Especiais (SGID) Procurando SGID: Procurando a propriedade SGID em um directório utilizando formato simbólico (s): # find /home -perm /g=s /home/equipa 23

Permissões Especiais (Sticky bit) Sticky ( Sticky bit): Em ficheiros executáveis, a propriedade Sticky faz com que o sistema mantenha uma imagem do programa em memória depois que o programa finalizar. Esta capacidade aumenta o desempenho, pois será feito um cache do programa para a memória, e da próxima vez que ele for executado, será carregado mais rápido. Evita que os utilizadores eliminem ficheiros dos quais não são donos, sendo só o dono a poder elimina-lo. A permissão especial Sticky, pode ser especificada somente no campo outros utilizadores permissões de acesso. 24

Permissões Especiais (Sticky bit) Aplicando a propriedade Sticky em um ficheiro executável utilizando formato simbólico(t): # chmod o+t programa_pesado.sh # ls -lah programa_pesado.sh -rwxr-x--t 1 root root 2,9M 2006-09-26 23:51 programa_pesado.sh 25

SELinux O SELinux ("Security-Enhanced Linux") é uma implementação de uma flexível e refinada arquitetura MAC("Mandatory Access Control"). O SELinux foi originalmente um projecto de desenvolvimento da NSA ("National Security Agency") e outros. Ele foi integrado no Kernel do Linux usando o "framework" LSM ("Linux Security Modules"). As funcionalidades desenvolvidas no SELinux podem ser aplicadas em várias distribuições, como Debian, Ubuntu, Fedora, etc. 26

SELinux - Funcionamento SELinux provê uma política de segurança sobre todos os processos e objectos do sistema baseando suas decisões em etiquetas contendo uma variedade de informações relevantes à segurança. A lógica da política de tomada de decisões é encapsulada dentro de um simples componente conhecido como servidor de segurança ("security server") com uma interface geral de segurança. 27

SELinux Baseado em três elementos: sujeitos, objectos e acções/permissões: Sujeitos: Sujeitos são os intervenientes num sistema computacional (utilizadores, processos) Objectos: Objectos são as potenciais coisas que queremos proteger. Podem ser: ficheiros, directórios, processos, etc. (classes). Acções/Permissões: As ações que sujeitos SELinux realizam em objectos variam de acordo com a classe do objecto. Podem ser: criar, executar, ler, renomear, escrever, etc. 28

SELinux Contexto de Segurança O SELinux aplica a política que é baseada na relação de atributos de um sujeito para atributos de um objecto. Essa relação entre os atributos do sujeito e os atributos dos objectos são referenciados como contextos de segurança. Contextos de segurança são um conjunto de propriedades que são associados à objectos e sujeitos. Essas propriedades são: utilizador, papel, tipo e nível/categoria de segurança. A combinação desses campos forma o contexto de segurança. 29

SELinux Contextos de Segurança Modelo Bell La-Padula (Revisão) Níveis de Segurança 30

Contexto de Segurança - Exemplo S3-Top Secret S2- Secret S1- Confidential S0 Unclassified Nesse exemplo, o arquivo /usr/bin/passwd mostra que seu contexto de segurança é do utilizador SELinux system_u, com o papel object_r, do tipo passwd_exec_t e nível de segurança s0. 31

DAC VS MAC Um utilizador pode expor ficheiros ou directórios à brechas de segurança utilizando incorrectamente o comando chmod. Com DAC existem apenas dois tipos de utilizadores: Administradores e Não-administradores. Para alguns serviços e programas rodarem com nível elevado de privilégio basta fazer um simples comando su. 32

DAC Vs MAC O MAC permite que seja definido permissões de como os processos irão interagir com outras partes do sistema tais como: ficheiros, dispositivos e outros processos. Com este modelo os processos podem garantir apenas permissões necessárias pela funcionalidade pretendida. 33

Conclusão Conhecimento das diferenças entre o comando su e sudo. Ficamos a conhecer algumas permissões especiais dos ficheiros do Linux. Verificamos a utilidade do SELinux de forma a poder trabalhar com vários níveis (modelo de Bell-Lapadula). Comparação entre a abordagem MAC Vs DAC. 34

Questões 35

Bibliografia e Referências Bibliografia Slides de Politicas de Segurança de SSI - J. Magalhães Cruz;FEUP; Permissões de acesso especiais SUID, SGID e Sticky - http://www.skiva.com.br/educ/artigos/50.pdf Modelo de Segurança SELinux - http://jczucco.googlepages.com/node14.html Redhat Documentation - Multi-Level Security (MLS) - https://listman.redhat.com/docs/en- US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/sec-mls-ov.html - Links - http://pt.wikipedia.org/wiki/sudo - http://pt.wikipedia.org/wiki/su - http://pt.wikipedia.org/wiki/selinux 36