Si tenemos algunos servidores conectados a internet es posible que nos interese compartir entre ellos algunos archivos mediante NFS. El problema viene que al crear el servidor conectado directamente a internet cualquiera puede consultar los directorios compartidos.
Esto es lo que se conoce como enumeración NFS y no hay solución vinculada al protocolo.
La solución que propongo consiste en tener en cada servidor dos interfaces de red, una de ellas la configuraremos como privada, la otra quedará expuesta a internet. Ahora cuando algún usuario no autorizado escanee nuestros puertos verá algo así:
# nmap -sS servidor.com Starting Nmap 5.21 ( http://nmap.org ) at 2011-07-25 20:35 CEST Nmap scan report for servidor.com (xxx.xxx.xxx.xxx) Host is up (0.060s latency). Not shown: 990 closed ports PORT STATE SERVICE *** 2049/tcp open nfs *** Nmap done: 1 IP address (1 host up) scanned in 5.92 seconds
Mostrando el servidor NFS corriendo y abierto. Así podría crear una enumeración como la que sigue
# showmount --all servidor.com All mount points on servidor.com: 192.168.8.2:/path/to/share 192.168.8.3:/path/to/share 192.168.8.4:/path/to/share 192.168.8.5:/path/to/share 192.168.8.6:/path/to/share ...
En el listado vemos las distintas máquinas que están conectadas al servidor y el directorio que tienen montado.
Para resolver esto usaremos los ficheros /etc/hosts.allow y /etc/hosts.deny para evitar conexiones sólo desde máquinas de confianza.
El contenido de /etc/hosts.allow sería:
portmap: 192.168.8.0/24 nfsd: 192.168.8.0/24
y para el caso de /etc/hosts.deny
nfsd: ALL portmap:ALL
El software de NMap seguiré mostrando el puerto abierto, pero ahora cuando intenten obtener un listado de lo compartido por NFS obtendrán esto:
# showmount --all servidor.com clnt_create: RPC: Program not registered
Desde la red privada podremos seguir consultando las comparticiones con showmount, las opciones que le podemos pasar al comando son:
-a or --all
List both the client hostname or IP address and mounted directory in host:dir format. This
info should not be considered reliable. See the notes on rmtab in rpc.mountd(8).
-d or --directories
List only the directories mounted by some client.
-e or --exports
Show the NFS server's export list.





Recent Comments
(12 weeks ago)
(28 weeks ago)
(28 weeks ago)
(29 weeks ago)
(29 weeks ago)
(32 weeks ago)
(32 weeks ago)
(32 weeks ago)
(32 weeks ago)
(36 weeks ago)