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