====== 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
DenyGroup !ftpuser
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 -
===== Bibliografía =====
* http://www.proftpd.org/docs/howto/ConfigFile.html
* http://www.thomas-krenn.com/en/wiki/Setup_FTP_Server_under_Debian
* http://shorewall.net/FTP.html