5.4. Protegendo o NFS

O Sistema de Arquivo de Rede (Network File System ou NFS) é um serviço que oferece sistemas de arquivo acessíveis para máquinas cliente. Para mais informações sobre o funcionamento do NFS, consulte o capítulo intitulado Sistema de Arquivo de Rede (NFS) no Guia de Referência do Red Hat Enterprise Linux. Para mais informações sobre a configuração do NFS, consulte o Guia de Administração de Sistemas Red Hat Enterprise Linux. As sub-seções a seguir assumem um conhecimento básico do NFS.

ImportanteImportante
 

A versão do NFS inclusa no Red Hat Enterprise Linux, NFSv4, não requer mais o serviço portmap, conforme abordado na Seção 5.2. O tráfego do NFS agora utiliza TCP em todas as versões (ao invés do UDP) e o requer no uso do NFSv4. O NFSv4 agora inclui a autenticação do Kerberos para usuário e grupo, como parte do módulo RPCSEC_GSS do kernel. As informações sobre o portmap ainda são inclusas, já que o Red Hat Enterprise Linux suporta o NFSv2 e NFSv3, que o utilizam.

5.4.1. Planejar Cuidadosamente a Rede

Agora que o NFS tem a habilidade de passar todas as informações criptografadas usando o Kerberos através da rede, é importante que o serviço seja configurado corretamente se estiver atrás de um firewall ou numa rede segmentada. O NFSv2 e NFSv3 ainda passam dados inseguramente e seus riscos devem ser considerados. Um planejamento cuidadoso da rede neste aspecto pode ajudar a prevenir violações à segurança.

5.4.2. Cuidado com Erros de Sintaxe

O servidor NFS determina quais sistemas de arquivo e quais máquinas exportar para estes diretórios através do arquivo /etc/exports. Cuidado para não adicionar espaços extras ao editar este arquivo.

Por exemplo: a linha a seguir no arquivo /etc/exports compartilha o diretório /tmp/nfs/ com a máquina bob.example.com com permissões de leitura e escrita (rw).

/tmp/nfs/     bob.example.com(rw)

Por outro lado, esta linha do arquivo /etc/exports compartilha o mesmo diretório com a máquina bob.example.com com permissão somente-leitura, e o compartilha com o mundo com permissões leitura e escrita devido um único caractere de espaço após o nome da máquina (hostname).

/tmp/nfs/     bob.example.com (rw)

É bom praticar a verificação de todos os compartilhamentos do NFS usando o comando showmount para checar o que foi compartilhado.

showmount -e <hostname>

5.4.3. Não Use a Opção no_root_squash

Por default, as partilhas do NFS alteram o usuário root para o usuário nfsnobody, uma conta de usuário sem privilégios. Desta maneira, todos os arquivos criados por root são de propriedade (owner) do usuário nfsnobody, o que previne o upload de programas com as informações do conjunto de ids do usuário.

Se no_root_squash é usado, os usuários root remotos poderão alterar qualquer arquivo do sistema de arquivo compartilhado e deixar aplicações infectadas pelo trojan, para que outros usuários as executem inadvertidamente.