daniel mota - manual de instalação e configuração - selinux
TRANSCRIPT
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO – CAMPUS CATU
DANIEL OLIVEIRA MOTA
MAURÍCIO CAYRES NETTO
MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO DO SELINUX
Catu 2012
SUMÁRIO
1. PRÉ-REQUISITOS ............................................................................................... 3
2. INSTALAÇÃO ...................................................................................................... 4
3. CONFIGURAÇÃO ................................................................................................ 4
4. FERRAMENTAS NATIVAS .................................................................................. 6
REFERÊNCIAS ........................................................................................................... 6
1. PRÉ-REQUISITOS
Para instalação e configuração do SELinux é importante ter habilidades de
aprender termos técnicos, além de relevante conhecimento em Linux, caso se
pretenda administrar serviços e manipular ou analisar policiamento é necessária
experiência e conhecimento em nível de administrador. Sendo necessários também
alguns requisitos como:
Noções de privilégios no sistema;
Conhecimento em segurança no sistema Linux/UNIX;
Noções sobre como o sistema Linux/UNIX opera em baixo-nível, tal como são
realizadas as chamadas ao Kernel para operações (entrada, saída, ler,
escrever, etc.);
Caso deseje manipular as políticas de policiamento do SELinux, faz-se necessário:
Conhecimento de programação e da teoria do sistema que é usado no
policiamento;
Familiaridade com a linguagem M4, o que ajudaria a entender algumas partes
do policiamento SELinux;
2. INSTALAÇÃO
Para instalar o SELinux via Central de Programas do Ubuntu Desktop,
pesquise por selinux, em seguida clique em Instalar.
Para instalação via terminal, faz-se necessário ter privilégio administrativo. Caso o
SELinux não seja encontrado na lista de pacotes, deve-se atualizar a lista de
pacotes do Ubuntu através do comando:
$ sudo apt-get update
Após a atualização da lista de pacotes, instale o SELinux através do comando:
$ sudo apt-get install selinux
Ao terminar a instalação será solicitada a reinicialização do sistema, durante o
encerramento, todos os arquivos no sistema serão rotulados. Isso pode levar algum
tempo dependendo de quantos arquivos você tenha e da velocidade do disco.
O Ubuntu realiza todas as configurações básicas necessárias para o funcionamento
do SELinux, cabendo ao administrador setar os modos de execução e aplicar
possíveis atribuições no sistema.
3. CONFIGURAÇÃO
Há três modos de execução no SELinux, o enforcing (modo de imposição),
permissive (modo permissivo) e disabled (desabilitado). Por padrão, ao instalar o
SELinux é habilitado o modo permissivo.
Os modos de execução do SELinux podem ser alterados através do carregamento
do sistema, pelo arquivo de configuração do SELinux (config) ou em tempo de
execução através do comando setenforce.
Alterar via carregamento do sistema:
No arquivo /boot/grub/menu.lst, encontre uma linha parecida com:
kernel / raiz boot/vmlinuz-2.6.28-11-generic = UUID = 5d8bcca0-b763-41b8-
ab2c-d68880f8f4b5 respingo ro quiet apparmor.enabled selinux = 0 = 1
Onde “selinux = 0” desabilita o SELinux e “selinux = 1” habilita o serviço.
Para alternar entre os modos de execução do SELinux deve-se acrescentar um
parâmetro adicional “enforcing = [0 | 1]” ao final desta linha:
kernel / raiz boot/vmlinuz-2.6.28-11-generic = UUID = 5d8bcca0-b763-41b8-
ab2c-d68880f8f4b5 respingo ro quiet apparmor.enabled selinux = 0 = 1 =
enforcing 0
Onde “enforcing = 0” altera o modo para permissivo, e “enforcing = 1” altera para o
modo de imposição.
Arquivo de configuração do SELinux:
O arquivo de configuração do SELinux é o /etc/selinux/config.
Nele são especificados tanto o modo de execução do SELiux quanto as políticas a
serem utilizadas e se será ativada a verificação de alteração do local de definições.
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# default - equivalent to the old strict and targeted policies
# mls - Multi-Level Security (for military and educational use)
# src - Custom policy built from source
SELINUXTYPE=ubuntu
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
Onde em “SELINUX=” será definido o modo de execução, em “SELINUXTYPE=”
será definida a política do SELinux (ubuntu é a pasta onde estão as configurações
de política do SELinux) e “SETLOCALDEFS=” verificará se será ou não ativada a
verificação de alteração do local de definições.
Alteração em modo de execução:
Os comandos para alteração em modo de execução podem alterar entre modo de
imposição e o modo permissivo.
Para consultar o modo que está em configurado no momento usa-se o comando:
# getenforce
Para alterar para o modo de imposição usa-se o comando:
# setenforce 1
Para alterar para o modo permissivo usa-se o comando:
#setenforce 0
4. FERRAMENTAS NATIVAS
Existem ferramentas do SELinux que auxiliam e permitem a alteração e criação de
políticas. Como exemplos podem ser citadas:
audit2allow: gera regras de permissão na política à partir de logs de
operações negadas;
audit2why: traduz mensagens de logs de operações negadas;
semodule: gerencia módulos da política;
semanage: configura elementos da política;
chcon: altera o contexto de segurança de um objeto.
REFERÊNCIAS
Para mais informações visualizar o portal do projeto SELinux:
http://selinuxproject.org/page/Main_Page