Instalación
El paquete que contiene un servidor ftp se denomina
vsftpd. Para instalarlo simplemente tecleamos como root
yum install vsftpd
Iniciar el Servidor FTP
Para arrancar nuestro servidor ftp utilizamos el comando service que vimos cuando explicamos como instalar un servidor web acompañada del parametro startservice vsftpd start
Igualmente si además queremos que el servicio arranque automaticamente al iniciar el sistema pues ejecutamos:
chkconfig vsftpd on
Configuración del Cortafuegos y SELinux
Una vez arrancado nuestro servidor ftp primero tendremos que realizar un par de modificaciones en el cortafuegos y SELinux para trabajar con nuestro servidor remotamente.
- En el cortafuegos tenemos que abrir el puerto 21 que el puerto por donde se realizan las conexiones ftp. En Fedora con escribir Cortafuegos en el cuadro de búsqueda nos aparecerá la aplicación. En anteriores post vimos como instalar un interfaz grafico para el cortafuegos en CentOS, no obstante si queremos abrir el puerto directamente desde consola pues nos colocamos como root y tecleamos:
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
service iptables save
service iptables restart
- El siguiente problema que nos podemos encontrar es el sistema de seguridad SELinux que viene por defecto activado en las distribuciones derivadas de Red Hat Linux. Si queremos que los usuarios locales del sistema puedan acceder remotamente a su carpeta personal por ftp tendremos que indicarselo con la instrucción:
setsebool -P ftp_home_dir on
Configuración del Servidor: El archivo vsftpd.conf
Por defecto en el servidor ftp funcionan las cuentas de usuarios locales del sistema excepto el usuario root por cuestiones obvias de seguridad. Los usuarios accederán a su carpeta /home al loguearse en el sistema.
Para permitir accesos anonimos, usuarios no locales sino especificos del servidor ftp o cualquier otra configuración que se te ocurra en un servidor ftp tenemos que editar el archivo vsftpd.conf.
Para permitir accesos anonimos, usuarios no locales sino especificos del servidor ftp o cualquier otra configuración que se te ocurra en un servidor ftp tenemos que editar el archivo vsftpd.conf.
Para modificarlo podemos utilizar cualquier editor de texto. La ruta donde está situado el archivo en CentOS o en Fedora es /etc/vsftpd/vsftpd.conf . Vamos a explicar algunos de las lineas o parametros del archivo que podemos añadir o modificar.
anonymous_enable
Se utiliza para definir si se permitirán los accesos anónimos al servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera.
anonymous_enable=YES
local_enable
Establece si se van a permitir los accesos autenticados de los usuarios locales del sistema. Tendremos que colocar como valor YES o NO de acuerdo a lo que se requiera.
local_enable=YES
write_enable
Establece si se va a permitir la escritura en el servidor FTP. El valor será YES o NO de acuerdo a lo que deseemos.
write_enable=YES
ftpd_banner
Este parámetro 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.
ftpd_banner=Bienvenido al servidor FTP de nuestra empresa.
Estableciendo jaulas para usuarios: chroot_local_user y chroot_list_file
De modo predeterminado los usuarios del sistema que se autentiquen tendrán acceso a otros directorios del sistema fuera de su directorio personal exactamente igual que si se loguean localmente, es decir, tienen acceso de lectura pero no van a poder realizar cambios en determinadas rutas.
Si se desea recluir a los usuarios a solo poder utilizar su propio directorio personal, puede hacerse fácilmente con el parámetro chroot_local_user y los parámetros chroot_list_enable y chroot_list_file para establecer el fichero con la lista de usuarios que quedarán excluidos de la función chroot().
Es decir, si no queremos que los usuarios locales accedan a directorios del sistema fuera de su propia carpeta personal entonces establecemos YES en chroot_local_user
chroot_local_user=YES
Si queremos que algunos usuarios queden exentos de esa prohibición entonces debemos crear una lista con ellos. Primero chroot_local_list lo establecemos en YES y despues colocamos la ruta del archivo que contendrá la lista
chroot_local_list=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
ATENCION: No olvide crear el fichero /etc/vsftpd/vsftpd.chroot_list, ya que de otro modo no arrancará el servicio vsftpd.
touch /etc/vsftpd/vsftpd.chroot_list
anon_max_rate
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 5 Kb por segundo para los usuarios anónimos:
anon_max_rate=5120
local_max_rate
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 5 Kb por segundo para los usuarios locales:
local_max_rate=5120
max_clients
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 5 clientes simultáneos.
max_clients=5
max_per_ip
max_per_ip=5
Por ultimo hay que recordar que cada vez que realicemos un cambio en dicho archivo tendremos que reiniciar el servidor FTP para que se cargue con las novedades
service vsftpd restart
No hay comentarios:
Publicar un comentario