Implementando um kernel GNU/Linux mais seguro

Nesse artigo iremos mostrar como é possível implementar pequenas filtragens através da compilação do kernel GNU/Linux utilizando o pseudo-sistema de arquivos /proc sem ter um conhecimento avançado de ferramentas específicas de firewalling, como o Netfilter/Iptables, Ipchains, Ipfwadm entre outras.

[ Hits: 63.066 ]

Por: Wagner M Queiroz em 03/02/2005


O pseudo-sistema de arquivos



O diretório /proc é chamado de pseudo-sistema de arquivos, porque na verdade as informações contidas ali são utilizadas pelo kernel para interfacear o mesmo com as estruturas de dados do sistema [2]. O que é encontrado dentro do diretório /proc não é real, ou seja, as informações são geradas conforme a situação em que o sistema se encontra naquele momento pelo kernel [2].

Muitas das configurações que podem ser realizadas nos arquivos encontrados dentro do /proc são valores binários, ou seja, 0 (zero) e 1 (um), representando falso (disable) e verdadeiro (enable) respectivamente [3]. Um exemplo seria o arquivo /proc/sys/net/ipv4/tcp_syncookies. Também são encontrados valores com textos legíveis (ASCII), como é o caso do arquivo /proc/sys/kernel/hostname.

É possível alterar esses arquivos com editores de texto, com o comando sysctl ou com um simples redirecionamento de entrada e saída de dados[1] como descrito no exemplo abaixo:

# echo "casa >" /proc/sys/kernel/hostname

Se agora executarmos:

# cat /proc/sys/kernel/hostname
casa

Obteremos o nome do hostname local que acabamos de modificar. Porém como o diretório /proc/ é alterado quando reiniciamos o sistema, tudo que foi configurado é perdido, é necessário que essas configurações feitas sejam armazenadas em um script para que quando o sistema iniciar, o script possa executar os comandos para que se tornem permanentes no kernel até que o mesmo seja reiniciado. Existem dois métodos para isso: [1]
  • Utilizar um dos scripts rc.d encontrados em /etc/.
  • Utilizar "variável=valor" em /etc/sysctl.conf. Está linha funcionará como sysctl -w.

Os arquivos que iremos modificar as variáveis se encontram dentro do diretório /proc/sys/net/ipv4/, onde os mesmos são responsáveis pelas filtragens de informações de entrada.

O interessante é que o efeito das configurações das variáveis dos arquivos dentro do diretório /proc são instantâneas, a partir do momento que o arquivo é salvo, as mudanças já entram em produção, não sendo necessário executar algum comando de reinício de serviço ou até mesmo o reinício do GNU/Linux. Essa é uma das grandes vantagens de configurar o kernel através dos parâmetros do diretório /proc/.

Lembrando que para executar esses comandos para a configuração do kernel, é necessário o usuário possuir permissões de root.

Página anterior     Próxima página

Páginas do artigo
   1. Resumo
   2. O pseudo-sistema de arquivos
   3. O sysctl
   4. Implementado segurança no kernel
   5. Conclusão
   6. Referências bibliográficas
   7. Sobre o autor
Outros artigos deste autor

VPN: IPSec vs SSL

Leitura recomendada

Ksplice - atualizando o kernel sem necessidade de reboot

Compilação de Kernel baseado na versão 2.6 para o LTSP 4.2

O Kernel Linux

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Compilando o kernel do Slackware em 10 etapas

  
Comentários
[1] Comentário enviado por errado em 03/02/2005 - 02:19h

Caramba! Eu tinha acabado de ler um texto sobre /proc e sysclt enão tinha entendido muito bem...Com esse artigo publicado, já dei um salto enorme no entendimento ;)

Parabéns!

[2] Comentário enviado por dark_slack em 03/02/2005 - 03:35h

Muito 10 seu artigo. Muito bom mesmo.

[3] Comentário enviado por reimassupilami em 03/02/2005 - 10:31h

cara, massa mesmo teu artigo viu... isso só ressalta a importância de cuidarmos da segurança dos servidores... nem conhecia todos esses ataques que você mencionou...

com certeza vou dar uma estudada no artigo e pôr tudo em prática...

só uma coisa que não ficou muito clara pra mim: o que eu devo fazer pra que as configurações sejam refeitas quando reinicio a máquina?

[4] Comentário enviado por wmqueiroz em 03/02/2005 - 23:58h

Antes de tudo, fico muito grato a todos pelos comentários e elogios! Vlw mesmo!!

Sobre a questão de reimassupilami... dê uma lida nesse artigo nas partes:

2. O pseudo-sistema de arquivos
3. O sysctl

[]´s
Wagner Queiroz

[5] Comentário enviado por Carlos_Cunha em 05/10/2012 - 14:43h

Olá!
Muito bom artigo, vi em outros post e sites as mesmas "proteção" so que menos eficientes e via regras de iptables....
Aprendi lendo seu artigo

:-D

Abraço

[6] Comentário enviado por px em 10/07/2013 - 21:44h

Grande referência para meus estudos, obg por compartilhar com a comunidade.

[7] Comentário enviado por wldnet1 em 08/09/2015 - 14:49h


Ótima contribuição amigo. Gostei muito auto explicativo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts