Implantación de un servidor FTP en debian wheezy
Introducción:
FTP es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.
Implantación y Configuración:
Partiendo de la siguiente situación: Un ordenador que hará de servidor y otro ordenador que tendrá acceso al servidor, vamos a implantar un servicio FTP.
FTP es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.
Implantación y Configuración:
Partiendo de la siguiente situación: Un ordenador que hará de servidor y otro ordenador que tendrá acceso al servidor, vamos a implantar un servicio FTP.
Pasos para la instalación y configuración:
1 | Los paquetes a instalar son los siguientes:
apt-get install vsftpd (Servidor)
apt-get install filezilla (Cliente)
2 | Desde el servidor editar el fichero /etc/vsftpd.conf con nano para descomentar las siguientes lineas:
listen=yes (o no si no queremos hacer la escucha)
local_enable=yes
write_enable=yes (descomentamos en el caso de que queramos que los usuarios puedan escribir y también descomentaremos la linea local_umask=022)
Y guardamos los cambios del fichero.
3 | Finalmente reiniciaremos el servicio ftp.
/etc/init.d/vsftpd restart
4 | Y añadimos un usuario con contraseña para poder hacer la prueba desde el cliente filezilla.
adduser user01
contraseña: (por ejemplo) 12345
5 | Desde el cliente abriremos filezilla y en el entorno del programa nos pedirá introducir:
IP del servidor, usuario y contraseña, normalmente el puerto coge por defecto el 20 o 21, le daremos a conexión rápida y lo tendremos conectado accediendo a su carpeta personal.
Para habilitar usuarios anónimos
1 | Editaremos el fichero /etc/vsftpd.conf con nano para desmarcar (Servidor):anonymous _enable=YES
anon_mkdir_write_enable=YES
chown_uploads=YES
chown_username= (usuario que creamos que debe ser el propietario).
2 | Nos dirigimos (cd) a /srv/ftp/
3 | Crearemos (mkdir) un fichero (ejemplo: hola.txt) y le daremos los permisos para poder leerlo, escribirlo y ejecutarlo (chmod 777 hola.txt)
4 | /etc/init.d/vsftpd restart para reiniciar el servicio.
NOTA: Más opciones del fichero de configuración vsftpd.conf en la web: http://www.vsftpd.beasts.org
De esta manera estarían los usuarios anónimos habilitados y tendrían la posibilidad de subir archivos via ftp con cliente filezilla (desde cliente).