Lihuen
RSSRSS AtomAtom

Diferencia entre revisiones de «Compartiendo archivos y usuarios sobre GNU/Linux con NIS, NFS y Openvpn»

(Introducción)
Línea 34: Línea 34:
  
 
La solución a todo esto es utilizar una [http://es.wikipedia.org/wiki/Red_privada_virtual/|VPN (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.
 
La solución a todo esto es utilizar una [http://es.wikipedia.org/wiki/Red_privada_virtual/|VPN (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.
 +
 +
==Implementación==
 +
Queríamos compartir archivos entre hosts (lo cuál requiere una forma ordenada de compartir usuarios y grupos) de manera segura, y la manera en que lo vamos a lograr es la siguiente:
 +
*Configurar un servidor NFS para compartir archivos
 +
*Configurar un servidor NIS para compartir usuarios y grupos
 +
*Configurar un servidor VPN para que los servicios anteriores funcionen sobre una red privada virtual que nos provea un canal seguro entre los hosts
 +
 +
=Preparando la instalación=
 +
En nuestro esquema utilizaremos un sólo servidor que nos proveerá todos los servicios NFS, NIS y VPN.
 +
 +
Usaremos como sistema Lihuen (o cualquier distribución basada en Debian) y el producto Openvpn como servidor VPN.
 +
 +
Lo primero que debemos hacer es instalar los productos necesarios, para esto instalaremos en el servidor los paquetes: nis, nfs-user-server y openvpn. Y en los clientes nis, nfs-client y openvpn.
 +
 +
Podemos hacer eso desde la terminal con:
 +
# apt-get install nis nfs-user-server openvpn
 +
y
 +
# apt-get install nis nfs-client openvpn
 +
 +
o podemos [[Instalando programas en Lihuen| instalar estos paquetes en modo gráfico con Synaptic]]

Revisión de 21:51 25 sep 2007

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.

Implementación

Queríamos compartir archivos entre hosts (lo cuál requiere una forma ordenada de compartir usuarios y grupos) de manera segura, y la manera en que lo vamos a lograr es la siguiente:

  • Configurar un servidor NFS para compartir archivos
  • Configurar un servidor NIS para compartir usuarios y grupos
  • Configurar un servidor VPN para que los servicios anteriores funcionen sobre una red privada virtual que nos provea un canal seguro entre los hosts

Preparando la instalación

En nuestro esquema utilizaremos un sólo servidor que nos proveerá todos los servicios NFS, NIS y VPN.

Usaremos como sistema Lihuen (o cualquier distribución basada en Debian) y el producto Openvpn como servidor VPN.

Lo primero que debemos hacer es instalar los productos necesarios, para esto instalaremos en el servidor los paquetes: nis, nfs-user-server y openvpn. Y en los clientes nis, nfs-client y openvpn.

Podemos hacer eso desde la terminal con:

# apt-get install nis nfs-user-server openvpn

y

# apt-get install nis nfs-client openvpn

o podemos instalar estos paquetes en modo gráfico con Synaptic