SELinux

Tutorial do SELinux no Ubuntu

Tutorial do SELinux no Ubuntu

Introdução

SELinux é um módulo de controle de acesso obrigatório (MAC) que reside no nível de kernel de sistemas Linux. É um desenvolvimento conjunto do Redhat e da NSA lançado por volta de 1998 e ainda mantido por uma comunidade de entusiastas. Por padrão, o Ubuntu usa AppArmor e não SeLinux, que é semelhante em termos de desempenho, mas bastante popular em termos de simplicidade. No entanto, o SeLinux é conhecido por ser bastante seguro devido ao envolvimento de uma agência governamental. SELinux é um aplicativo de código aberto que protege o host isolando cada aplicativo e confinando suas atividades. Por padrão, os processos são impedidos de realizar qualquer atividade, a menos que a permissão explícita seja concedida. O módulo fornece nativamente duas regras de gerenciamento de nível global: permissiva e impositiva que, respectivamente, registra cada regra violada e nega o acesso a uma solicitação específica enviada de um processo. Este tutorial demonstra como usá-lo no Ubuntu com facilidade.

Como instalar e habilitar

SeLinux é um aplicativo muito complicado de instalar, porque se não for configurado corretamente antes da primeira reinicialização, fará com que todo o sistema operacional não inicialize, o que significa que qualquer coisa além da tela inicial de inicialização ficará virtualmente inacessível por meios normais.

Também como afirmado anteriormente, o Ubuntu já tem um sofisticado sistema de controle de acesso obrigatório de alto nível conhecido como AppArmor e, portanto, deve ser desabilitado antes de instalar o SeLinux para evitar quaisquer conflitos. Use as instruções a seguir para desabilitar o AppArmor e habilitar o SeLinux.

sudo / etc / init.d / apparmor parar apt-get update && upgrade -yuf apt-get install selinux nano / etc / selinux / config 'definir SELINUX para permissivo, SELINUXTYPE para padrão' reiniciar 

Esta configuração de arquivo pode ser aberta com qualquer editor de texto para fazer alterações. A razão para atribuir uma regra permissiva a SETLINUX é tornar o sistema operacional acessível enquanto deixa o SeLinux habilitado. É altamente recomendável usar a opção permissiva, pois é livre de problemas, mas registra regras violadas definidas no SeLinux.

Opções disponíveis

SELinux é um módulo complexo e abrangente; portanto, contém muitos recursos e opções. Dito isso, a maioria dessas opções pode não ser útil para todos devido à sua natureza exótica. As seguintes opções são algumas das opções básicas e úteis neste módulo. Eles são mais do que suficientes para colocar o SELinux em funcionamento.

Verifique o status:  O status do SELinux pode ser verificado diretamente através da janela do terminal, que mostra as informações básicas como se o SeLinux está habilitado, diretório raiz do SELinux, nome da política carregada, modo atual, etc.  Após reiniciar o sistema após instalar o SeLinux, use o seguinte comando como usuário root com o comando sudo. Se ele afirma que o SeLinux está habilitado na seção de status, significa que está instalado e funcionando em segundo plano.

[email protegido]: / home / dondilanga # sestatus

Alterar o nível de permissão global: O nível de permissão global indica como o SELinux se comporta quando se depara com uma regra. Por padrão, o SeLinux se ajusta a enforcing, o que efetivamente bloqueia todas as solicitações, mas pode ser alterado para permissivo, o que é um pouco tolerante com o usuário, pois permite o acesso, mas registra quaisquer regras violadas em seu arquivo de log.

nano / etc / selinux / config 'definir SELINUX como permissivo ou obrigatório, SELINUXTYPE como padrão' 

Verifique o arquivo de log: O arquivo de log que indica as regras violadas por cada solicitação.  Isso só mantém os registros se o SeLinux estiver habilitado.

grep selinux / var / log / audit / audit.registro

Habilitar e desabilitar políticas e quais proteções elas oferecem: Esta é uma das opções mais importantes do SeLinux, pois permite habilitar e desabilitar políticas. SeLinux tem um grande número de políticas pré-construídas que determinam se a solicitação especificada é permitida ou não. Alguns dos exemplos disso são allow_ftpd_full_access que determina a capacidade do serviço FTP de fazer login para usuários locais e ler, gravar todos os arquivos no sistema, allow_ssh_keysign que permite que as chaves sejam usadas ao fazer login em SSH, allow_user_mysql_connect que permite aos usuários se conectar ao mysql , httpd_can_sendmail que determina a capacidade do serviço HTTP de enviar um e-mail etc ... No exemplo de código a seguir, ele instala policycoreutils-python-utils que na verdade ajuda a listar cada política de maneira descritiva, em seguida lista todas as políticas disponíveis para o terminal , finalmente ensina como ativar ou desativar uma política, o allow_ftpd_full_access é o nome da política conforme mostrado no terminal retornado por semanage,

apt-get install policycoreutils-python-utils semanage boolean -l setsebool -P allow_ftpd_full_access ON 

Opções avançadas

As opções avançadas são opções que ajudam a estender as funcionalidades do SELInux. Há uma quantidade enorme de combinações por aí devido à natureza abrangente do SeLinux, então este artigo lista algumas das mais importantes e úteis entre elas.

Controle de acesso baseado em função (RBAC): O RBAC permite que os administradores mudem para uma forma baseada em funções para limitar a permissão de aplicativos. Isso significa que um usuário de um determinado grupo de usuários tem permissão para executar ou realizar certas ações predefinidas. Contanto que o usuário faça parte da função, está tudo bem. Isso é o mesmo que mudar para root ao instalar aplicativos no Linux com direitos administrativos.

semanage login -a -s 'myrole' -r 's0-s0: c0.c1023 ' 

Os usuários podem mudar de função com o seguinte comando.

sudo -r new_role_r -i

Os usuários também podem se conectar remotamente ao servidor via SSH com a função ativada na inicialização.

ssh / [email protegido]

Permitir que um serviço ouça uma porta fora do padrão: Isto é bastante útil na personalização de um serviço, por exemplo, quando uma porta FTP é alterada para uma não padrão a fim de evitar acessos não autorizados, o SELinux deve ser informado de acordo para permitir que tais portas passem e funcionem normalmente. O exemplo a seguir permite que a porta FTP escute a porta 992. Da mesma forma, qualquer serviço retornado por semanage port -l pode ser substituído.  Algumas das portas populares são http_port_t, pop_port_t, ssh_port_t.

semanage port -a -t    semanage port -a -t ftp_port_t -p tcp 992 

Como desabilitar

Desativar o SELinux é mais fácil porque ele está ativado e instalado. Basicamente, existem duas maneiras de desativá-lo. Temporária ou permanentemente. Desabilitar o SeLinux temporariamente torna-o desabilitado por um tempo até a próxima inicialização, e assim que o computador é ligado novamente o estado é reiniciado. Por outro lado, a desativação permanente do SeLinux o desliga completamente, expondo-o a ameaças por aí; portanto, é uma escolha sábia restaurar o AppArmor padrão do Ubuntu, pelo menos por uma questão de segurança do sistema.

O seguinte comando no terminal o desativa temporariamente:

setenforce 0 

Para desativar a edição permanentemente / etc / selinux / config e definir SELINUX para desativado.

Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...