próximo acima anterior sumário índice
Próximo: D6.4 NFS e Firewalls Acima: D6. Segurança e NFS Anterior: D6.2 Segurança no Servidor:   Sumário   Índice

D6.3 Segurança no Servidor: o portmapper

O portmapper básico em combinação com o nfsd tem um problema de desenho que torna possível obter-se arquivos em servidores NFS sem a necessidade de quaisquer privilégios. Felizmente o portmapper do Linux é relativamente seguro contra este tipo de ataque, o que pode ser evitado através da configuração de uma lista de acessos em dois arquivos.

Inicialmente editaremos o /etc/hosts.deny. Ele deverá conter a seguinte linha:


portmap: ALL

através da qual o acesso será bloqueado para todos os clientes. Isto talvez seja um pouco drástico, então podemos tornar as definições um pouco mais maleáveis através da edição do arquivo /etc/hosts.allow. Inicialmente é necessário definir o que será colocado nele. Ele contém basicamente uma lista de todas as máquinas que podem acessar o portmapper local. Em um sistema Linux há normalmente poucas máquinas que necessitem este tipo de acesso, qualquer que seja a razão. O portmapper administra os programas nfsd, mountd, ypbind/ypserv, pcnfsd e serviços 'r' como ruptime e rusers. Todas as máquinas que necessitam acessar os serviços da máquina local devem ter permissão para tanto. Digamos que o endereço da máquina local seja 129.240.223.254 e que ela está conectada à sub-rede 129.240.223.0, a qual deve ter acesso à máquina local (em caso de dúvida verifique o Como Fazer - Redes para refrescar a memória sobre estes conceitos). Para tanto basta digitar:


portmap: 129.240.223.0/255.255.255.0

no arquivo hosts.allow. Este é o mesmo endereço de rede fornecido para o comando route e a máscara de subrede informada no ifcongif. No dispositivo eth0 desta máquina ifconfig mostraria:


...
eth0      Link encap:10Mbps Ethernet  HWaddr 00:60:8C:96:D5:56
          inet addr:129.240.223.254  Bcast:129.240.223.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:360315 errors:0 dropped:0 overruns:0
          TX packets:179274 errors:0 dropped:0 overruns:0
          Interrupt:10 Base address:0x320 
...

e netstat -rn apresentaria


Tabela de Roteamento do Kernel
Destinação     Cam.Padrão         Máscara    Indics Métrica Ref  Uso   Iface
...
129.240.223.0   0.0.0.0         255.255.255.0   U     0      0   174412 eth0
...

o endereço de rede na primeira coluna.

Os arquivos hosts.deny e hosts.allow são descritos nas página de manual de mesmo nome.

IMPORTANTE: não coloque nada exceto ENDEREÇOS IP nas linhas do portmap nestes arquivos. Pesquisas por nomes podem indiretamente causar atividade do portmap o qual acionará a pesquisa de nomes de máquinas a qual indiretamente irá causa atividade no portmap, o qual....

As sugestões acima certamente deixarão o servidor mais seguro. As questões restantes residem em alguém que tenha descoberto a senha do superusuário (ou inicializando um MS-DOS) em uma máquina confiável e usando este privilégio para enviar requisições a partir de uma porta segura como qualquer outro usuário real.


próximo acima anterior sumário índice
Próximo: D6.4 NFS e Firewalls Acima: D6. Segurança e NFS Anterior: D6.2 Segurança no Servidor:   Sumário   Índice
www.conectiva.com