Lihuen
RSSRSS AtomAtom

Compartiendo archivos y usuarios sobre GNU/Linux con NIS, NFS y Openvpn

Introducción

Muchas veces en una oficina donde hay varias máquinas compartidas se presenta el problema de que una persona no usa siempre la misma máquina y de alguna manera debe acceder a sus archivos. Si el sistema operativo usado es GNU/Linux tenemos múltiples alternativas. Si nos encontramos en un entorno mixto con máquinas con GNU/Linux y Windows las alternativas son distintas a las expuestas en este documento.

Alternativas para compartir documentos

  • Usar SSH/SCP para copiar los archivos hacia la máquina deseada

Funciona pero además de ser muy incomodo genera múltiples copias de los archivos lo cual nunca es bueno.

  • Usar SAMBA para compartir archivos

Se podría pero no respeta los permisos de los archivos ni permite que se creen archivos especiales dentro (pipes, dispositivos, etc...), SAMBA es más aconsejable cuando queremos compartir archivos entre máquinas con Windows y GNU/Linux

  • Exportar una carpeta con NFS, montarla en el resto de las máquinas y usarla como carpeta compartida

Es la solución que tomaremos nosotros pero tiene 2 desventajas

  1. Los archivos compartidos conservan sus propietarios (aunque no existan en la máquina donde queremos verlos)
  2. NFS no es muy seguro ya que no utiliza cifrado, la única alternativa es indicar en el servidor a que hosts debe exportar el filesystem, esto se hace utilizando las direcciones IP de los hosts lo que solo es apropiado en un entorno donde las máquinas tienen IP estática

Alternativas para compartir usuarios

La primera desventaja de NFS se puede salvar:

  • Copiando /etc/passwd, /etc/group y /etc/shadow en cada máquina para tener los mismos usuarios en todas

Es muy incomodo y ante cualquier modificación hay que volver a copiar los archivos

  • Con un dominio Windows

Es relativamente complicado de configurar y no es aconsejable para un entorno GNU/Linux puro

  • NIS (Network Information Service)

Es lo que estamos buscando, es muy fácil de configurar y permite filtrar que máquinas pueden utilizar el servicio por IP o por Subred

Panorama

Elegidos NFS para compartir archivos y NIS para compartir usuarios el problema parece resuelto y de hecho lo está si tenemos una pequeña subred con IPs fijas bajo nuestra administración.

Pero formamos parte de una red con IPs dinámicas o donde la seguridad es un factor de importancia tenemos algunos problemas.

  • Si optamos por permitir a todos utilizar los servicios de NIS y NFS obviamente tendremos un grave problema de seguridad (hay que recordar que NFS no es un protocolo cifrado y NIS tampoco por lo que nuestros archivos y los archivos passwd, group y shadow pasean por la red sin ninguna protección).
  • Si permitimos sólo a la subred (como no administramos nuestra propia subred) tendremos el mismo problema que arriba.
  • Si permitimos que sólo máquinas seleccionadas con IP fija puedan utilizar los servicios reducimos los riesgos, pero si la máquina se apaga y alguien más toma nuestra IP (o con algún ataque in the middle) perdemos toda esta aparente seguridad.

La solución a todo esto es utilizar una (Virtual Private Network/Red Privada Virtual) la cual nos provee un canal seguro (cifrado con ssl) entre los hosts y simula IPs fijas para éstos.