Guia do Linux/Avançado/Restrições de acesso, recursos e serviços/Restringindo o acesso ao sistema de arquivos /proc

Restringindo o acesso ao sistema de arquivos /proc editar

O patch restricted proc fs é um dos melhores para realizar esta tarefa. Restringindo o acesso ao sistema de arquivos /proc evita que o usuário normal tenha acesso aos detalhes sobre processos de outros (com ps aux) ou acesso a detalhes de processos de outros usuários existentes nos subdiretórios numéricos (equivalentes a PID) em /proc. Abaixo algumas características do patch restricted proc fs:

  • É pequeno, rápido e faz poucas modificações no fonte do kernel.
  • Seu método de funcionamento é baseado nas restrições de dono/grupo (nativas de ambiente Unix).
  • Restringe a visualização de processos só dos usuários. Adicionalmente será especificada uma GID para o diretório /proc, qualquer usuário que pertença ao grupo especificado poderá visualizar todos os processos e entrar em qualquer diretório do kernel (sem restrições, como se não tivesse o patch).
  • Muito estável e confiável.

Este patch deve ser baixado de http://noc.res.cmu.edu/proc, existem versões para os kernels da série 2.2 e 2.4, baixe e aplique o patch, na configuração do kernel ative a opção Restricted Proc fs support. Compile e instale seu kernel.

No arquivo /etc/fstab inclua um grupo para a montagem do sistema de arquivos /proc (vamos usar o grupo adm com a GID 4):


     # /etc/fstab: informações estáticas do sistemas de arquivos.
     #
     # <Sist. Arq.>    <Ponto Mont.>  <tipo>  <opções>       <dump> <passo>
       proc            /proc          proc    defaults,gid=4   0       0

Após reiniciar o sistema, execute o comando ls -lad /proc note que o grupo do diretório /proc será modificado para adm. Agora entre como um usuário e execute um ps aux, somente seus processos serão listados. Para autorizar um usuário específico ver todos os processos (ter acesso novamente ao diretório /proc), inclua este no grupo que usou no arquivo /etc/fstab:


     adduser usuario adm

Após efetuar o usuário já estará pertencendo ao grupo adm (confira digitando groups), e poderá ver novamente os processos de todos os usuários com o comando ps aux.

OBS1: Incluir um usuário no grupo adm É PERIGOSO, porque este usuário poderá ter acesso a arquivo/diretórios que pertençam a este grupo, como os arquivos/diretórios em /var/log. Se esta não é sua intenção, crie um grupo independente como restrproc para controlar quem terá acesso ao diretório /proc: addgroup restrproc.

OBS2: Se a opção gid não for especificada para a montagem de /proc no /etc/fstab, o grupo root será usado como padrão. NUNCA adicione usuários ao grupo root, use o método da observação acima para permitir outros usuários ver todos os processos em execução.

OBS3 Caso o servidor identd esteja sendo usado na máquina servidora, será necessário roda-lo com a mesma GID do diretório /proc para que continue funcionando. Se ele é executado como daemon, adicione a opção -g GRUPO no script que inicia o serviço em /etc/init.d e reinicie o daemon. Caso ele seja iniciado via inetd, faça a seguinte modificação no arquivo /etc/inetd.conf (assumindo o uso do oidentd):


     #:INFO: Info services
     auth		stream	tcp	nowait.40	nobody.adm	/usr/sbin/oidentd oidend -q -i -t 40

Veja [ch-s-ident.html Servidor ident, Capítulo 13] para detalhes sobre este serviço.