Tabla de Contenidos

ProFTPd: instalación y configuración

Instalación

En Debian, la instalación simplemente se reduce a:

aptitude install proftpd-basic

El archivo de configuración principal es /etc/proftpd/proftpd.conf. En éste se deben cambiar algunas opciones.

Configuración

Si no se requiere IPv6:

UseIPv6 off

Configuración para los usuarios y jailing de los mismos:

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell               off

# Use this to jail all users in their homes 
DefaultRoot ~

# Add this if you want to limit access to users of some group
<Limit LOGIN>
    DenyGroup !ftpuser
</Limit>

La directiva MasqueradeAddress existe para enmascarar la dirección privada del servidor FTP en caso de que se use NAT. Pero al usarla se invalida el propósito de los ftp helper modules de Netfilter, por lo que no debe activarse:

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
#MasqueradeAddress              aaa.bbb.ccc.ddd

Como se limitó el acceso a los usuarios que pertenezcan al grupo “ftpuser”, se debe crear dicho grupo para agregar a él los usuarios que accederán:

addgroup ftpuser

Además, crearemos un directorio donde se crearán los homes de los usuarios:

mkdir /var/ftp

Para agregar usuarios:

adduser usuario -shell /bin/false -home /var/ftp

El paso final es agregar el usuario al grupo ftpuser:

adduser usuario ftpuser

Fail2Ban y firewall

Para proteger de ataques por fuerza bruta, se puede instalar Fail2Ban, activando el jail para ProFTPd:

[proftpd]

enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/proftpd.log
maxretry = 3

Si se tiene instalado Shorewall en un firewall, y el ProFTPd está detrás del mismo, se debe agregar una línea como la siguiente en rules:

#ACTION      SOURCE     DESTINATION       PROTO     DEST       SOURCE      ORIGINAL
#                                                   PORT(S)    PORT(S)     DESTINATION
DNAT         net        loc:192.168.1.12  tcp       21         -           <external IP addr>

Bibliografía