Instalación y configuración de ProFTPd en Ubuntu

Hola a todos, volviendo a la rutina de las clases, hoy toca instalar y configurar ProFTPd.  Vamos a instalarlo bajo Ubuntu. Así que vamos a la tarea.

Protocolo FTP

El protocolo FTP (en inglés File Transfer Protocol), es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red con protocolo TCP (Transmission Control Protocol). Está basado en la arquitectura cliente-servidor. Desde un equipo cliente, nos podemos conectar a un servidor, ya sea para descargar archivos de él o para enviarlos, todo esto independientemente del sistema operativo que usemos.

¿Qué es ProFTPd?

ProFTPd es un servidor FTP bajo licencia GPL y multiplataforma, aunque no está para Microsoft Windows. ProFTPd puede ser fácilmente configurable, siendo sus archivos de configuración muy parecidos a los de Apache. Puede ser enjaulado independientemente del sistema de archivos sobre el que trabaje y soporta IPv6.

Instalando ProFTPd

Para instalar ProFTPd en Ubuntu, podemos buscarlo en Synaptic, o abrir un terminal y teclear:

sudo aptitude install proftpd

Una vez el proceso haya concluido, tendremos instalado ProFTPd en nuestra máquina.

Configurando ProFTPd

Vamos a pasar ahora a la configuración de ProFTPd.

Definiendo los mensajes

Para definir los mensajes de ProFTPd editamos el archivo de configuración, este archivo es /etc/proftpd/proftpd.conf. Vamos a editarlo, en un terminal escribimos:

sudo gedit /etc/proftpd/proftpd.conf

Ahora nos vamos al final del archivo, y añadimos estas dos líneas:

AccessGrantMsg    "¡Bienvenido al FTP!"
AccessDenyMsg    "¡Imposible entrar!"

Si conseguimos entrar correctamente, el cliente FTP nos responderá con el primer mensaje, si por el contrario, nuestro acceso es denegado nos responderá con el segundo mensaje.

Creando los usuarios con shell falsa

Para comprobar que esos mensajes van a aparecer, vamos a crear dos usuarios en el sistema. Ambos usuarios usarán una shell falsa y sólo autorizaremos a un usuario el acceso al FTP. Antes de crear el usuario, vamos a crear su carpeta personal, para ello, desde un terminal tecleamos:

sudo mkdir /home/zapatero

Una vez tenemos creada su carpeta personal, pasamos a crear el usuario en sí. Para crear un usuario con shell falsa, desde un terminal y tecleamos:

sudo useradd -d /home/zapatero -s /bin/false zapatero

Bien, ya tenemos creada la carpeta personal del usuario zapatero. Vamos ahora a hacerle dueño de su carpeta personal, en un terminal tecleamos:

sudo chown -R zapatero /home/zapatero

Bien, ya tenemos creado el primer usuario. Ahora repetimos los mismos pasos para crear el segundo usuario.

Creamos su carpeta personal:

sudo mkdir /home/rajoy

Lo añadimos al sistema:

sudo useradd -d /home/rajoy -s /bin/false rajoy

Ahora le hacemos dueño de su carpeta:

sudo chown -R rajoy /home/rajoy

Antes de proceder a establecer los permisos, necesitamos crear una contraseña para cada usuario. Así que abrimos un terminal y tecleamos:

sudo passwd zapatero

Y del mismo modo para rajoy:

sudo passwd rajoy

Estableciendo permisos

Vamos ahora a configurar ProFTPd para que sólo permita el acceso al usuario zapatero. Nos vamos a un terminal, y volvemos a abrir el fichero proftpd.conf.

sudo gedit /etc/proftpd/proftpd.conf

Ahora nos vamos de nuevo al final del archivo, y debajo de las líneas que habíamos introducido antes, añadimos lo siguiente:

<Limit LOGIN>
   AllowUser zapatero
   DenyAll
</Limit>
RequireValidShell   off

La última línea que hemos introducido, es para que se puedan conectar al FTP usuarios con shell falsa. Esta línea aparece comentada más arriba, podemos quitar el comentario o escribirla al final.

Verificando el funcionamiento

Bueno, vamos a ver si zapatero puede acceder a nuestro FTP. Antes de nada, para conectarnos al FTP, necesitamos un cliente, así que vamos a instalar FileZilla. En un terminal escribimos:

sudo aptitude install filezilla

Vamos ahora a abrir FileZilla. Aplicaciones, Internet, FileZilla.

Cuando tenemos FileZilla abierto, nos conectamos al servidor FTP.

Introducimos la dirección IP de nuestra máquina, en mi caso tengo una dirección IP especial porque estoy bajo una máquina virtual. También introducimos el nombre del usuario, su respectiva contraseña y pulsamos intro.

Como podemos ver en el log de FileZilla, la conexión se ha realizado correctamente.

Pero, ¿qué ocurriría al intentar acceder con el usuario rajoy?

Justo lo que queriamos, hemos denegado el acceso a rajoy y se lo hemos permitido a zapatero.

También podemos comprobarlo en el log de ProFTPd, este log se encuentra en /var/log/proftpd/proftpd.log. Tecleamos en un terminal:

sudo less /var/log/proftpd/proftpd.log

Algo así será lo que veamos:

Bibliografía

Anuncios
Publicado en FTP, ProFTPd, Seguridad, Tutoriales, Ubuntu
9 comments on “Instalación y configuración de ProFTPd en Ubuntu
  1. […] ahora a verificar que todo está correcto. Para ello usaremos FileZilla. En un tutorial anterior explico cómo instalar […]

  2. cristian dice:

    EXCELENTE SOLUCION. AL GRANO Y MUY EXPLICATIVA

  3. akafada dice:

    He de felicitarte, ha sido clara , breve y de gran ayuda, directo a marcadores

  4. amparigues dice:

    ya no es home, es opt\lampp\htdocs\… y habría que reiniciar el servidor

  5. amparigues dice:

    … digo el servicio

    • Samuel dice:

      Hola amparigues, ¿te refieres a que la carpeta personal de los usuarios ya no está en /home? ¿Es muy raro este cambio no? No he tenido tiempo de probarlo, pero me lo pongo como tarea pendiente 🙂

      • Creo que se refiere a hacerle dueño de la carpeta donde se publican los archivos en el servidor web en lugar de la carpeta personal. Siguiendo este hilo entiendo que darle acceso a cada usuario ftp a su propia carpeta personal es por temas de seguridad pero ¿como sería el flujo para que de ahí los archivos pasen a la carpeta publica del webserver? ¿los tiene que mover el admin del sistema?

        Saludos!

      • Samuel dice:

        Hola Claude.

        Con carpeta pública, ¿te refieres a una que usa Apache mediante HTTP? De lo contrario siempre se puede crear una carpeta public, y dar permiso a todos los usuarios para que suban cosas a ella.

        Un saludo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Sobre mi…

Soy Técnico en Explotación de Sistemas Informáticos y Técnico Superior en Administración de Sistemas Informáticos en Red. Actualmente estudiando el Grado de Ingeniería Informática en la Universidad de Córdoba (España).

Enamorado de la ciencia en general y de la computación en particular.

Música: Heavy, Rock, Celta, New Age, Electrónica, etc...
Libros:Isaac Asimov, Richard Dawkins, Stephen Hawking, Carl Sagan...

Estoy interesado en la programación de videojuegos. Políticamente de izquierdas, escéptico y ateo. En definitiva, mala gente.

Sígueme en Twitter

Introduce tu dirección de correo electrónico para seguir este Blog y recibir las notificaciones de las nuevas publicaciones en tu buzón de correo electrónico.

Únete a otros 24 seguidores

Usa Linux Mint
The Bit Developer Box
A %d blogueros les gusta esto: