Em seguida, temos o SELinux (Secure Linux), um sistema que visa reforçar a segurança do sistema, aplicando um conjunto de diretivas rígidas de segurança. Ele surgiu como um projeto open-source do NSA (uma agência do departamento de defesa do EUA), que ganhou o apoio de muitos desenvolvedores e foi incorporado ao kernel Linux a partir de 2003.
Ele é mais uma tecnologia que começou sendo usada no Fedora (gerando bastante dor de cabeça aos usuários nas primeiras versões, até que as regras e permissões fossem devidamente afinadas) para, a partir daí, começar a ser usado em outras distribuições. No Ubuntu, por exemplo, ele está disponível nos repositórios principais a partir da versão 8.04 e pode ser instalado usando o “apt-get install selinux”.
A ideia do SELinux é restringir as permissões, de forma que cada serviço ou aplicativo tenha permissão para realizar apenas as tarefas a que é destinado. Isso impede que serviços vulneráveis sejam usados para obter privilégios adicionais, como é como em ataques.
Assim como em tantos outros casos, o SELinux foi implantado de uma forma abrupta no Fedora 2, o que resultou em problemas relacionados à configuração de muitos serviços, que deixavam de funcionar ou apresentavam comportamentos inesperados por não conseguirem acessar determinados arquivos ou determinados recursos do sistema devido à ação do SELinux.
Para solucionar o problema, os desenvolvedores passaram a utilizar a política “targeted” (modo direcionado) do SELinux, desenvolvendo configurações específicas, que aplicam as políticas a apenas alguns serviços e aplicativos específicos. Essa nova abordagem reduziu bastante o volume de problemas e foi evoluindo ao longo das versões do Fedora até os dias de hoje.
É graças a este trabalho que, muito embora o SELinux venha ativado em modo “Reforçado” (Enforcing) nas versões atuais do Fedora, o número de relatos de problemas caiu muito, fazendo com que a maioria mantenha a configuração padrão.
A configuração do SELinux poe ser alterada através do “system-config-selinux” ou através do ícone no “Sistema > Administração”:
Por default, o SELinux fica ativo em modo Enforcing, que faz com que as regras realmente sejam aplicadas. Alterando a configuração para “Permissivo” ele passa a apenas gerar um log das operações que seriam boqueadas (que você pode acompanhar usando o comando “dmesg”) mas sem realmente fazer nada. A diferença entre o “Permissivo” e o “Desabilitado” é que no segundo ele realmente deixa de verificar as operações.
Com o SELinux ativado, existem muitas situações em que você precisa ativar módulos para conseguir utilizar recursos específicos relacionados a servidores. Para criar um servidor FTP com um diretório de upload para usuários anônimos, por exemplo, você precisaria marcar o módulo “allow_ftp_anon_write” na segunda aba:
Na política padrão, o SELinux aplica suas políticas de segurança apenas ao dhcpd (o servidor DHCP), httpd (o Apache), named (o Bind), nscd, ntpd, portmap, snmpd, squid (servidor proxy) e o syslogd (responsável pelos logs do sistema. Isso faz com que ele não faça realmente muita diferença para quem usa o Fedora como desktop, diferente do que temos nos servidores, onde ele representa uma melhoria real na segurança.
Como em outras ferramentas, o real potencial do SELinux está na possibilidade de definir novas políticas, protegendo os serviços mais importantes e fazendo com que ele se molde à configuração usada. O grande problema é que isso demanda muito tempo e uma boa dose de conhecimento, um investimento que faz sentido em um servidor importante, mas não faz muito sentido em um desktop que pode ser protegido de maneira mais efetiva com a combinação do firewall e atualizações de segurança para os navegadores e outros aplicativos que acessam a web.
Muito se fala em desenvolver políticas do SELinux para o Firefox e outros aplicativos desktop, mas o volume de recursos diferentes suportados por eles faz com que a tarefa seja incrivelmente complicada.
Mesmo sem o SELinux, o Fedora é uma distribuição bastante segura, desde que as atualizações de segurança sejam aplicadas em dia. O Firewall serve como uma camada extra de proteção, para o caso de você instalar serviços adicionais e esquecê-los abertos, enquanto o SELinux dá sua parcela de contribuição cada você decida rodar um servidor web ou um servidor proxy na máquina.
A principal observação com relação à segurança é que o Fedora instala o servidor SSH por padrão e deixa a porta 22 aberta no firewall. Como ele aceita logins como root, temos uma possibilidade real de acesso caso você use alguma senha fraca e um invasor obstinado dê a sorte de adivinhá-la. Para evitar isso, feche a porta 22 na configuração do firewall se não for usar o SSH (e desabilite o serviço “sshd”) e use boas senhas.
Deixe seu comentário