Servidor FTP en Debian Jessie

Queremos facilitar el acceso al servidor instalando un servidor FTP con la funcionalidad de acceso autentificado y anónimo. Con esto los usuarios del servidor podrán acceder y gestionar sus páginas web en las carpetas «public_html» de sus directorios personales, y además si se accede anónimamente se accederá a la carpeta pública «/srv/documentos» la cual también se accede mediante «http://www.elolimpo.org/documentos».

En esta entrada veremos:


Instalación del servidor FTP

Antes que nada explicaré que es «FTP». «FTP» viene de las siglas en inglés «Files Transfer Protocol» que significa «Protocolo de Transferencia de Archivos» y 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.

Instalación

Existen varios paquetes en Debian como servidor FTP, pero nosotros instalaremos el paquete «proftpd», para ello escribimos lo siguiente siendo «root»:

aptitude install proftpd

Durante la instalación nos preguntará si queremos ejecutarlo al inicio como un servicio dependiente de otro o independiente, nosotros elegiremos independiente.


Configuración de acceso autentificado

El archivo de configuración principal de «proftpd» se encuentra en /etc/proftpd/proftpd.conf , para habilitar el acceso autentificado de los usuarios en sus directorios «public_html» editaremos dicho archivo siendo «root», en el que descomentaremos y dejaremos la siguiente línea tal que así:

DefaultRoot                    ~/public_html

Configuración de acceso anónimo

Para habilitar el acceso anónimo al directorio «/srv/documentos» editaremos el archivo /etc/proftpd/proftpd.conf siendo «root», añadiendo al final las siguientes líneas:

# A basic anonymous configuration, no upload directories.

 <Anonymous /srv/documentos>
   User                         ftp
   Group                                nogroup
   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias                    anonymous ftp
   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser  on ftp
   DirFakeGroup on ftp

   RequireValidShell            off

   # Limit the maximum number of anonymous logins
   MaxClients                   10
 
   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin                 welcome.msg
   DisplayChdir         .message

   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 
   # Uncomment this if you're brave.
   # <Directory incoming>
   #   # Umask 022 is a good standard umask to prevent new files and dirs
   #   # (second parm) from being group and world writable.
   #   Umask                            022  022
   #            <Limit READ WRITE>
   #            DenyAll
   #            </Limit>
   #            <Limit STOR>
   #            AllowAll
   #            </Limit>
   # </Directory>

 </Anonymous>

Estas líneas las encontramos comentadas por defecto en el archivo de configuración, si no queréis añadir tantas líneas al archivo podéis descomentarlas tal y como yo las tengo editando únicamente la línea siguiente:

<Anonymous /srv/documentos>

Si queremos que sólo se acceda al servidor anónimamente podemos añadir al final del archivo de configuración /etc/proftpd/proftpd.conf las siguientes líneas siendo «root»:

<Limit LOGIN>
        AllowUser ftp
        DenyAll
</Limit>

Con el que dejaremos acceder al usuario «ftp» que es el usuario anónimo y denegaremos todos los demás accesos.

Finalmente teniendo ya nuestro servidor FTP bien configurado recargamos el archivo de configuración de «proftpd» con el siguiente comando siendo «root»:

systemctl reload proftpd

Modificación del servidor DNS

Ahora modificaremos el servidor DNS para que los usuarios accedan al servidor FTP mediante el nombre «ftp.elolimpo.org». Para ello editaremos el archivo de los registros de la zona directa /var/cache/bind/zd.elolimpo siendo «root», en el que añadiremos el registro siguiente al final:

 ftp                     IN      CNAME           zeus

Para que se efectúen los cambios recargamos el archivo de configuración de bind9, escribiendo lo siguiente como “root”:

systemctl reload bind9

Pruebas de acceso

Para acceder al servidor FTP utilizaremos el cliente «Filezilla». Introducimos el nombre del servidor en nuestro caso «ftp.elolimpo.org» el usuario y contraseña:

  • En Debian de forma autentificada:

Captura de pantalla de 2017-02-18 23:06:39.png

  • En Windows de forma anónima:

Captura de pantalla de 2017-02-18 23:09:49.png

Si queremos ver quien está accediendo a nuestro servidor FTP podemos utilizar los siguientes comandos:

  •  ftpwho

Con el que conseguimos la siguiente salida:

standalone FTP daemon [2278], up for  1 hr 24 min
 2645 josedom  [  8m9s]   8m9s idle
 2697 ftp      [ 2m17s]  2m17s idle
Service class                      -   2 users
  •  ftptop

Con el que conseguimos una muestra en vivo de los accesos.

Deja un comentario