Este blog tiene por objetivo el levantamiento de dos servidores: FTP y NFS

Servidores en Linux

PREGUNTAS

Hola compañeros para que nuestro blog sea mas interactivo las preguntas pueden realizarlas dando clic en tercer icono del menu flotante que esta en el lado izquierdo de nuEstro blog pero si no lo encuentran pueden hacerlo en en esta entrada... GRACIAS

SERVIDOR NFS

NFS, acrónimo de Network File System, es un popular protocolo utilizado para compartir volúmenes entre máquinas dentro de una red de manera transparente, más comúnmente utilizado entre sistemas basados sobre UNIX®. Es útil y fácil de utilizar, sin embargo no en vano es apodado cariñosamente como "No File Security". NFS no utiliza un sistema de contraseñas como el que tiene SAMBA, sólo una lista de control de acceso determinada por direcciones IP o nombres.

Es por esto que es importante que el administrador de la red local o usuario entienda que un servidor NFS puede ser un verdadero e inmenso agujero de seguridad si éste no es configurado apropiadamente e implementado detrás de un corta-fuegos o firewall.

Se recomienda utilizar NFS dentro de una red local detrás de un corta-fuegos o firewall que permita el acceso sólo a las máquinas que integren la red local, nunca para compartir sistemas de archivos a través de Internet. Al no contar con un sistema de autenticación por contraseñas, es un servicio susceptible del ataque de algún delincuente informático. SAMBA es un protocolo mucho mejor y más seguro para compartir sistemas de archivos.

INSTALACION Y CONFIGURACION DEL SERVIDOR NFS

Instalación de NFS

$ sudo aptitude install portmap nfs-kernel-server nfs-common

Para la configuración de un servidor de NFS se necesitan editar tres ficheros: /etc/exports, /etc/hosts.deny y /etc/hosts.allow.

$ sudo gedit /etc/exports

Contiene una linea por directorio a compartir. La estructura de dicha linea es:

directorio equipo1(opcion11,opcion12) equipo2(opcion21,opcion22)

donde:

directorio: Es el directorio a compartir.

equipox: Clientes que tendrán acceso al directorio compartido. Estos equipos se podrán indicar por su IP o dirección DNS(por ejemplo: mi_equipo.ral.com o 192.168.0.69). Se recomienda usar la IP.

optionxx: Son las opciones que nos permitirán tener acceso a esos directorios con determinados privilegios.

ro | rw :Con la opción ro el directorio será compartido de solo lectura. Esta opción está por defecto.y con la opción rw se permitirá tanto acceso de lectura como de escritura.

sync | async :sync es la opción recomendada, ya que se ha de respetar el protocolo NFS, es decir, no se responden a las peticiones antes de que los cambios realizados sean escritos al disco. Con la opción async se permite mejorar el rendimiento y agilizar el funcionamiento global, pero supone un riesgo de corrupción de archivos o del sistemas de ficheros en casos de caídas del servidor y/o errores de éste.

root_squash | no_root_squash | all_squash indica que un cliente identificado como roott endrá acceso al directorio con privilegios de un usuario anónimo. Si seleccionamos la opción no_root_squashevitaremos esto, y si indicamos all_squash, entonces aplicaremos esto último a todos los usuarios, no sólo root.
Un ejempo de fichero /etc/exports es el siguiente:


Con este fichero indicaremos que queremos compartir los directorios /home/usuario/datos y /tmp a los hosts de la red 192.168.1.2; /home/vivi/carpeta se podrá acceder como solo lectura(rw) y se comunica al usuario los cambios realizados sobre los archivos cuando realmente se han ejecutado (sync) y todoslos usuarios tienen acceso a este directorio con privilegios de usuario anónimo.

$ sudo gedit /etc/hosts.deny


En este fichero pondremos todas las restricciones posibles para hacer mas seguro el sistema. Para ello denegaremos el acceso a portmap, ya que si se deniega portmap, aunque permitas nfs, no se podrá compartir porque éste depende de portmap. Por lo que solo se tendrá acceso a portmap por aquellos equipos que estén definidos en el fichero /etc/hosts.allow. El fichero /etc/hosts.deny quedará:



$ sudo /etc/hosts.allow

En este fichero debe indicar a quienes permitimos el acceso al servicio de nfs y portmap. Se pueden indicar hosts individuales o una red.

Una vez configurados los ficheros pasamos a arrancar el servicio portmap y rpc.nsfd:

$ sudo /etc/init.d/nfs-common restart
$ sudo /etc/init.d/nfs-kernel-server restart
$ sudo /etc/init.d/portmap restart


NOTA: Tanto el fichero /etc/hosts.deny como el /etc/hosts.allow no es necesario que tengan contenido alguna, pero se recomienda que sean configurados para la seguridad de los datos.

Configuración en el cliente

En el cliente montaremos el directorio exportado por el servidor, para ello ejecutaremos el siguiente comando:

$ mount -t nfs mi_equipo:/tmp /home/cliente/temp

Con el comando anterior montamos el directorio /tmp exportado por el host mi_equipo en el directorio /home/usuario1/temp que previamente habremos creado. A este comando se le puede pasar una serie de opciones, la estructura genérica con las opciones sería:

mount -t nfs -o opcion[:usuario] dir_remoto dir_local

Las opciones son ro, rw, root_squash, no_root_squash, entre otras.
Si queremos que el directorio remoto se monte al arranque del cliente deberemos añadir la siguiente linea al fichero /etc/fstab:

mi_equipo:/tmp /home/cliente/temp nfs defaults,rw 0 0

Esa linea indica que se monte en el directorio /home/cliente/temp el directorio remoto /tmp (el directorio que exporta el servidor que se ha puesto como ejemplo).

Consejos

Es conveniente que los datos de los usuarios se almacenen de forma centralizada en el servidor en lugar de hacerlo en los PCs de los usuarios. Ésto permite al usuario acceder a sus archivos aunque utilice un PC diferente al habitual, además, será más sencillo realizar copias de seguridad y si el PC del usuario se estropea, no perderá información. Lo ideal es que los PCs de usuario no almacenen la carpeta home de cada usuario sino que dicha carpeta esté compartida en el servidor. El servidor así mismo deberá centralizar las cuentas de usuario mediante un servidor LDAP y los PCs clientes deberán estar configurados para montar el home de forma remota y autentificar a los usuarios a través del servidor LDAP.

Para su uso práctico en el centro educativo, además de exportar la carpeta /home para que cada usuario tenga acceso a su espacio de trabajo, se pueden crear en el servidor tres carpetas de uso común cuyos permisos dependan del tipo de usuario. En una de ellas deberán tener permisos de lectura y escritura todos los usuarios: alumnos y profesores. A dicha carpeta se la puede llamar comun-alumnos y serviría para que los alumnos intercambien archivos entre ellos y con los profesores. En otra carpeta, deberían tener permisos de lectura y escritura solamente los profesores. Se podría llamar comun-profesores y serviría para que los profesores se intercambien archivos confidenciales entre sí. Finalmente, en otra carpeta deberían tener solo permisos de lectura los profesores y los alumnos. Se podría llamar documentos-centro y serviría para que el administrador mantenga un repositorio de documentos o aplicaciones de propósito general para el centro, aunque esto último quizás sea más adecuado hacerlo mediante un servidor web.





VIDEO TUTORIAL SERVIDOR NFS

VIDEO TUTORIAL CLIENTE NFS

SERVIDOR FTP

FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor.

Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a traves de un cliente FTP.
Los objetivos del FTP son:

  1. Promover el intercambio de archivos (ordenador programas y / o datos),
  2. Fomentar la indirecta o implícita (a través de programas) de equipos remotos,para proteger a un usuario de variaciones en los sistemas de
  3. Almacenamiento de archivos entre hosts, y
  4. Para transferir datos de forma confiable y eficiente.
FTP, aunque utilizables directamente por un usuario en una terminal, está diseñado principalmente para uso de los programas.
El intento en este pliego de condiciones para satisfacer las diversas necesidades de los usuarios de maxi-hosts, mini-hosts, estaciones de trabajo personales, y los TAC, con un simple y fácil de implementar el diseño del protocolo.

INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR FTP

INSTALANDO VSFTPD

Levantar el servidor FTP es realmente sencillo y ahora lo veremos.

Primero, instalamos el vsftpd, que es un demonio disponible en Ubuntu, muy facil de configurar y mantener. Lo instalamos desde la terminal o con synaptic, en este caso se hará desde la terminal introduciendo el comando:

$ sudo aptitude install vsftp

Después de esta orden el gestor de paquetes descargará e instalará el demonio.

CONFIGURANDO PERMISOS EN EL SERVIDOR.

Después de haber instalado vsftpd, procederemos a editar los permisos del servidor, para esto introducimos el siguiente comando:

$ sudo gedit /etc/vsftpd.conf


Se abrirá un archivo en gedit, donde editaremos o descomentaremos los permisos según nuestras necesidades:

De forma predeterminada, sólo se permiten los accesos FTP anónimos.
Si deseas desactivar esta opción, debes cambiar la siguiente línea:

anonymous_enable=YES

por

anonymous_enable=NO

De forma predeterminada, los usuarios locales del sistema no pueden iniciar una sesión al servidor FTP. Para cambiar esto, debes descomentar la siguiente línea:

#local_enable=YES

De forma predeterminada, los usuarios pueden descargar archivos desde el servidor FTP. Sin embargo, no pueden subir archivos al servidor FTP. Para cambiar esto, debes descomentar la siguiente línea:

#write_enable=YES

Del mismo modo, de forma predeterminada, los usuarios anónimos no pueden subir archivos al servidor FTP. Para cambiar esta opción, debes descomentar la siguiente línea:

#anon_upload_enable=YES

El archivo de configuración consta de muchos parámetros de configuración. La información sobre cada parámetro se encuentra disponible en el archivo de configuración.

Una vez que haya configurado vsftpd puede ejecutar el demonio. Debes reiniciar el demonio con el siguiente comando:

sudo /etc/init.d/vsftpd restart

Ahora nuestro servidor ya está funcionando.

Si quieres detener el demonio del servidor (parar el servidor) solo introduces:

sudo /etc/init.d/vsftpd stop

o para iniciarlo:

sudo /etc/init.d/vsftpd start

Debes recordar que siempre que hagas un cambio en el archivo de configuración, debes reiniciar el demonio.