Variáveis Booleanas

No Linux Fedora Core 3, foi introduzido o conceito de varíaveis booleanas para que o administrador de sistema tenha mais flexibilidade no gerenciamento das políticas SELinux, sem que tenha que criar ou modificar as políticas existentes. São várias declarações do tipo if-then-else que foram codificadas diretamente na política que permitem modificar a maneira que o SELinux trabalha somente ligando ou desligando essas variáveis booleanas.

Como as aplicações podem trabalhar de muitas maneiras diferentes, a tarefa do desenvolvedor SELinux de escrever uma política que atenda a todas as situações é difícil. Um bom exemplo de uma situação dessas é o servidor FTP que permite o usuário anônimo (anonymous, mas que o administrador deseja que os demais usuários também utilizem o servidor FTP para acessar seus diretórios home. Nesse caso torna-se necessária a utilização da variável booleana SELinux ftp_home_dir para habilitar ou desabilitar essa funcionalidade. Para que se tenha uma idéia do poder e da flexibilidade que o SELinux fornece somente com o uso de variáveis booleanas, segue uma relação de algumas variáveis relacionadas somente com o serviço de FTP:

Além do nome dessas variáveis booleanas que já passam uma idéia da sua funcionalidade, essas variáveis são documentadas em diversos manuais relacionados com os serviços que elas atendem. Por exemplo, para verificar a documentação das variáveis relacionadas ao serviço de ftp, basta dar o comando: ``man ftpd_selinux''; as variáveis relacionadas com o serviço http são documentadas através do comando ``man httpd_selinux'', etc. Para listar todos os manuais disponíveis, basta executar o comando ``man -k selinux''.

Existem duas ferramentas de linha de comando usadas para o gerenciamento das variáveis booleanas:

Além dessas ferramentas de linha de comando, existe uma interface GUI onde também é possível realizar mudanças nas variáveis booleanas e ter uma breve explicação do uso de cada uma, através do ``system-config-selinux'', mostrado na figura 3.7.

Figure Figura 3.7:: Configuração de variáveis booleanas SELinux
\includegraphics[width=30em]{booleans.eps}

Jeronimo Zucco 2008-04-26