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 | editar código-fonte]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.