Instalación de FTP en CentOS 6.5

Paso 1. Instalar el servidor de FTP

Como lo dijimos antes, FTP es inseguro. Para tratar de mitigar tal posible inseguridad, se instala vsftp (o FTP muy seguro):

sudo yum install vsftpd
sudo yum install ftp
touch /etc/vsftpd/chroot_list

Opción ftpd_banner.

Esta opción viene incluida en la configuración predeterminada. Sirve para establecer el banderín de bienvenida que será mostrado cada vez que un usuario acceda al servidor. Puede establecerse cualquier frase breve que considere conveniente, pero sin signos de puntuación.

ftpd_banner=Bienvenido al servidor FTP de nuestra empresa

Paso 2. Reforzar la seguridad de FTP

Estas opciones vienen incluidas —pero desactivadas— en la configuración predeterminada.

De modo predeterminado los usuarios del sistema que se autentiquen tendrán acceso a otros directorios del sistema fuera de su directorio personal. Si se desea limitar a los usuarios a sólo poder utilizar su propio directorio personal, puede hacerse fácilmente con la opción chroot_local_user que habilitará la función de chroot() y las opciones chroot_list_enable y chroot_list_file, para establecer el archivo con la lista de usuarios que quedarán excluidos de la función chroot().

Ahora instalado, es necesario evitar que usuarios anónimos accedan a los archivos de nuestro servidor (a menos de que tengamos planeado distribuir la información libremente). El archivo se edita mediante:

sudo nano /etc/vsftpd/vsftpd.conf

donde cambiaremos tres opciones de configuración, ubicadas a lo largo del documento:

# Evitar que usuarios sin credenciales accedan al servidor:
anonymous_enable=NO
# Para permitir que los usuarios del servidor puedan subir archivos:
local_enable=YES
write_enable=YES
# Encerrar a los usuarios locales en su directorio de usuario:
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list

Tras finalizar la configuración, reiniciamos el servicio y lo añadimos a la lista de programas que se ejecutan al encender el servidor:

# Reiniciar servicio de vsftp:
 sudo service vsftpd restart
 # Añadir a los programas (daemons) de inicio:
 chkconfig vsftpd on

Servicio iptables.

Ejecute lo siguiente para anexar las reglas de iptables correspondientes:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 30300:30309 -j ACCEPT

Ejecute lo siguiente para guardar los cambios:

service iptables save

O bien añada lo siguiente al archivo /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30300:30309 -j ACCEPT

Y reinicie el servicio iptables:

service iptables restart

Más información en: http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd