Manter a segurança em seu sistema é extremamente importante. Uma forma de lidar com a segurança de seu sistema é gerenciar cuidadosamente o acesso aos serviços do sistema. Seu sistema pode precisar de acesso aberto a determinados serviços (por exemplo: httpd se você estiver rodando um servidor Web). No entanto, se você não precisa oferecer um serviço, deve desligá-lo para minimizar sua exposição a possíveis exploits.
Há diversos métodos diferentes para gerenciar o acesso aos serviços do sistema. Decida qual método utilizar baseado no serviço, na configuração de seu sistema e no seu nível de conhecimento do Linux.
A maneira mais fácil de proibir acesso a um serviço é desligá-lo. Tanto os serviços gerenciados pelo xinetd (abordados posteriormente nesta seção) quanto os serviços da hierarquia /etc/rc.d/init.d (também conhecidos como serviços SysV) podem ser configurados para iniciar e parar usando três aplicações diferentes:
Ferramenta de Configuração dos Serviços — uma aplicação gráfica que exibe a descrição de cada serviço. Mostra se cada serviço é iniciado no momento da inicialização da máquina (para níveis de execução 3, 4 e 5), e permite que os serviços sejam iniciados, parados ou reiniciados.
ntsysv — uma aplicação baseada em texto que permite a você configurar quais serviços são iniciados no momento da inicialização da máquina para cada nível de execução (runlevel). As alterações não têm efeito imediato para serviços não-xinetd. Os serviços não-xinetd não podem ser iniciados, parados ou reiniciados usando este programa.
chkconfig — um utilitário de linha de comando que permite a você ligar e desligar serviços para níveis de execução diferentes. As alterações não têm efeito imediato nos serviços não-xinetd. Os serviços não-xinetd não podem ser iniciados, parados ou reiniciados usando este programa.
Talvez você ache que estas ferramentas sejam mais fácies de usar do que as alternativas — editar manualmente as numerosas ligações simbólicas localizadas nos diretórios abaixo de /etc/rc.d ou editar os arquivos de configuração xinetd em /etc/xinetd.d.
Outra maneira de gerenciar o acesso aos serviços do sistema é usar o iptables para configurar um firewall IP. Se você for um novo usuário do Linux, por favor note que o iptables talvez não seja a melhor solução para você. Configurar o iptables pode ser complicado e é melhor resolvido por administradores de sistemas Linux experientes.
Por outro lado, o benefício de utilizar o iptables é sua flexibilidade. Por exemplo: se você precisa de uma solução personalizada com a possibilidade de determinadas máquinas acessarem determinados serviços, o iptables pode oferecer isso. Consulte o Guia de Referência do Red Hat Enterprise Linux e o Guia de Segurança do Red Hat Enterprise Linux para mais informações sobre o iptables.
Alternativamente, se você procura uma ferramenta para definir regras gerais de acesso para seu computador pessoal e/ou se você for um novo usuário do Linux, experimente a Ferramenta de Configuração do Nível de Segurança (redhat-config-securitylevel). Ela permite selecionar o nível de segurança de seu sistema, similar à tela da Configuração do Firewall no programa de instalação.
Consulte o Capítulo 20 para mais informações. Se você precisar de regras de firewall mais específicas, consulte o capítulo iptables no Guia de Referência do Red Hat Enterprise Linux.
Antes de você configurar o acesso aos serviços, deve entender os níveis de execução do Linux. Um nível de execução é um estado ou um modo, que é definido pelos serviços listados no diretório /etc/rc.d/rc<x>.d, onde <x> é o número do nível de execução.
Os níveis de execução são os seguintes:
0 — Halt
1 — Modo de usuário simples
2 — Não usado (definível pelo usuário)
3 — Modo de multi-usuário
4 — Não usado (definível pelo usuário)
5 — Modo de multi-usuário (com uma tela gráfica de login)
6 — Reinicializar
Se você usar uma tela texto de login, está operando no nível de execução 3. Se você usar uma tela gráfica de login, está operando no nível de execução 5.
O nível de execução default pode ser alterado modificando o arquivo /etc/inittab, que contém uma linha próxima ao topo parecida com a seguinte:
id:5:initdefault: |
Altere o número nesta linha para o nível de execução desejado. A alteração não terá efeito até que você reinicialize o sistema.
Para alterar o nível de execução imediatamente, use o comando telinit seguido do número do nível de execução. Você deve estar como root para usar este comando. O comando telinit não altera o arquivo /etc/inittab, somente o nível de execução rodando no momento. Quando o sistema for reinicializado, o nível de execução será aquele especificado em /etc/inittab.