Documentos de Académico
Documentos de Profesional
Documentos de Cultura
chkconfig vsftpd on
Ejecute lo siguiente para reiniciar el servicio o bien hacer que los cambios hechos a la
configuración surtan efecto:
5) Es necesario abrir los puerto 20 y 21, por TCP (FTP-DATA y FTP, respectivamente) y el
rango de puertos para conexiones pasivas que se haya definido. Ejecute lo siguiente para
anexar las reglas de iptables correspondientes:
Si se necesita permitir el acceso utilizando las cuentas de usuarios del anfitrión local —a fin
de que éstos puedan acceder a sus directorio de inicio— se debe habilitar la política
ftp_home_dir:
Ejecute lo siguiente para hacer que SELinux permita acceder a los usuarios locales al resto
del sistema de archivos:
Ejecute lo siguiente para permitir que el servicio vsftpd pueda hacer uso de sistemas de
archivos remotos a través de CIFS (Samba) o NFS y que serán utilizados para compartir a
través del servicio:
Hay varias opciones de configuración que pueden modificarse para hacer más seguro el
servicio y añadir funcionalidad.
Opción anonymous_enable.
anonymous_enable=NO
Opción local_enable.
local_enable=YES
Opción write_enable.
anon_upload_enable=NO
anon_mkdir_write_enable=NO
Opción ftpd_banner.
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().
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
Con lo anterior cada vez que un usuario local se autentique en el servidor FTP, sólo tendrá
acceso a su propio directorio personal y lo que éste contenga. Por favor recuerde crear el
archivo /etc/vsftpd/chroot_list debido a que de otro modo será imposible que funcione
correctamente el servicio vsftpd.
La función chroot() puede ser peligrosa si el usuario regular utilizado tiene acceso al
intérprete de mandatos del sistema (/bin/bash o /bin/sh) y además privilegios de escritura
sobre el directorio raíz de su propia jaula (es decir su directorio de inicio). Los directorios de
inicio de los usuarios involucrados deben tener permiso 755, sean propiedad de root y se
asigne al usuario /bin/false o /sbin/nologin como intérprete de mandatos.
Guarde los cambios realizados hasta ahora, salga del editor de texto y realice el siguiente
procedimiento, el cual corresponde a lo que sería necesario ejecutar para modificar el
contenido del directorio de inicio del usuario regular —en este ejemplo se utiliza a
mengano— con el cual se quiera acceder al servidor FTP utilizando chroot() con vsftpd-3.0
y versiones posteriores:
Desde la versión 3.0 de vsftpd, de modo predeterminado se impide el ingreso con chroot() a
todos los usuarios regulares que tengan acceso al intérprete de mandatos o bien que
posean privilegios de escritura sobre su propio directorio de inicio.
pasv_min_port=30300
pasv_max_port=30309
Esta opción está ausente en la configuración predeterminada. Puede añadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Se utiliza para limitar la tasa de transferencia, en bytes por
segundo, para los usuarios anónimos, algo sumamente útil en servidores FTP de acceso
público. En el siguiente ejemplo se limita la tasa de transferencia a 500 Kb por segundo
para los usuarios anónimos:
anon_max_rate=524288
Opción local_max_rate.
Esta opción está ausente en la configuración predeterminada. Puede añadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Hace lo mismo que anon_max_rate, pero aplica para
usuarios locales del servidor. En el siguiente ejemplo se limita la tasa de transferencia a 1
MB por segundo para los usuarios locales:
local_max_rate=1048576
Opción max_clients.
Esta opción está ausente en la configuración predeterminada. Puede añadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Establece el número máximo de clientes que podrán acceder
simultáneamente hacia el servidor FTP. En el siguiente ejemplo se limitará el acceso a 20
clientes simultáneos.
max_clients=20
Opción max_per_ip.
Esta opción está ausente en la configuración predeterminada. Puede añadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Establece el número máximo de conexiones que se pueden
realizar desde una misma dirección IP. Tome en cuenta que algunas redes acceden a
través de un servidor intermediario (Proxy) o puerta de enlace y debido a ésto podrían
quedar bloqueados innecesariamente algunos accesos. En el siguiente ejemplo se limita el
número de conexiones por IP simultáneas a un máximo de 10.
max_per_ip=10
Soporte TLS.
Siendo que todos los datos enviados a través del protocolo FTP se hacen en texto simple
(incluyendo nombres de usuario y claves de acceso), hoy en día es muy peligroso operar un
servidor FTP sin SSL/TLS.
VSFTPD puede ser configurado fácilmente para utilizar los protocolos SSL (Secure Sockets
Layer o Nivel de Zócalo Seguro) y TLS (Transport Layer Security o Seguridad para Nivel de
Transporte) a través de un certificado RSA.
cd /etc/pki/tls/
El certificado y firma digital se pueden generar ejecutando la siguiente línea para utilizar una
estructura X.509, algoritmo de cifrado RSA de 4096 bits, sin Triple DES —lo cual permita
iniciar normalmente al servicio sin interacción alguna— y una validez por 1825 días —cinco
años.
openssl req -sha256 -x509 -nodes -days 1825 -newkey rsa:4096 -keyout
private/vsftpd.key -out certs/vsftpd.crt
cd
Edite el archivo /etc/vsftpd/vsftpd.conf:
vi /etc/vsftpd/vsftpd.conf