Professional Documents
Culture Documents
MANUAL DE CONFIGURACION DE
UN SERVIDOR FTP EN CENTOS
Página 1 / 10
Manual de Configuración de FTP
Índice de contenido
1.Introducción:.....................................................................................................................................3
2.Instalación y configuración..............................................................................................................5
3.Definir que máquinas pueden establecer una conexión con el servicio FTP:..................................7
Página 2 / 10
Manual de Configuración de FTP
1. Introducción:
Antes de proceder con la configuración de nuestro servidor FTP, vamos a suponer que tenemos un
servidor Web, el cual lo hemos configurado para alojar dos sitios: uno que es el portal web de
nuestra institución y el otro la intranet.
Dada la situación anterior, sería adecuado disponer de un servidor FTP en la cual existan dos
usuarios autorizados para publicar archivos en estos dos sitios Web, el esquema de esta solución
sería similar al siguiente:
De acuerdo al esquema, vamos a necesitar dos usuarios, uno que sirve para publicar archivos en la
Intranet, y otros para publicar en el portal Web de la institución.
Para implementar el servicio FTP haremos uso de VSFTP. Podemos obtener mas información de
VSFTP en la siguiente URL: http://vsftpd.beasts.org/
Para instalar VSFTP se ha hecho uso de la versión en RPM que viene en el disco DVD de CentOS
5.5. Si se tiene tal disco, se puede proceder a insertarlo en nuestro lector de DVD y ejecutar la
siguientes órdenes para tenerlo montado en la carpeta “/mnt/disco” :
# cd /
# mkdir -p /mnt/disco
# mount -t iso9660 /dev/cdrom /mnt/disco/
Con las órdenes anteriores si nos dirigimos al directorio “/mnt/disco” ya debemos tener acceso al
disco de CentOS.
Página 3 / 10
Manual de Configuración de FTP
Si no tenemos tal disco podemos acceder a descargar la versión RPM desde la siguiente URL que
corresponde a uno de los mirrors de CentOS:
http://mirror.its.sfu.ca/mirror/CentOS/5.5/os/i386/CentOS/vsftpd-2.0.5-16.el5_4.1.i386.rpm
# wget http://mirror.its.sfu.ca/mirror/CentOS/5.5/os/i386/CentOS/vsftpd-2.0.5-
16.el5_4.1.i386.rpm
Hay que recordar que el manual explica como instalar el servidor FTP usando el paquete RPM que
se encuentra en el disco de Centos. Si no se tiene el disco se debería copiar el paquete RPM
descargado de Internet en el directorio “/mnt/disco/CentOS/”, esto con la finalidad de ejecutar las
órdenes explicadas posteriormente en el presente manual sin ningún problema.
El servidor FTP debe ser configurado para que presente las siguientes características:
• Ningún usuario especial del sistema puede hacer login vía FTP.
• Acceso anónimo debe estar inhabilitado, así como las operaciones que se puedan hacer con
este.
• Se debe especificar de manera explícita que usuarios podrán hacer login vía FTP.
• Se debe utilizar chroot para evitar el libre desplazamiento por directorios de los usuarios que
hagan login (Este comportamiento debe ser el por defecto para hacer login).
• Sólo determinadas máquinas deberían conectarse al servidor FTP.
• De manera opcional permitir que uno pueda elegir si desea establecer una comunicación
cifrada (Uso de certificados de seguridad).
Página 4 / 10
Manual de Configuración de FTP
2. Instalación y configuración
Instalamos VSFTP ejecutando la siguiente orden:
# cd /mnt/disco/CentOS/
# rpm -ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm
Una vez instalado el paquete podemos comprobar la información de este con las siguientes órdenes:
# vi /etc/vsftpd/vsftpd.conf
Editamos de tal manera que se tengan las siguientes opciones (Si alguna de ellas no se encuentra,
agregarla al final del archivo):
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
ftpd_banner=Servidor FTP Institucional
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
listen_ipv6=NO
userlist_enable=YES
max_clients=3
userlist_deny=NO
http://vsftpd.beasts.org/vsftpd_conf.html
Una vez que se ha comprobado lo anterior guardamos los cambios y cerramos el archivo.
Luego de esto ejecutamos la siguiente orden, para crear el archivo donde colocaremos los usuarios
que vamos a crear, de tal manera que estos una vez que ingresen al servidor FTP sólo puedan
desplazarse en su directorio local (Directorio Home):
Página 5 / 10
Manual de Configuración de FTP
# cd /etc/vsftpd/
# touch chroot_list
Creamos los dos usuarios que tendrán acceso a nuestros sitios Web:
Asignamos contraseñas a los usuarios anteriormente creados (Se recomienda una clave con mínimo
de 6 caracteres que sean alfa-numéricos y especiales):
# passwd intranet
# passwd webmaster
# vi /etc/vsftpd/user_list
En ese archivo encontraremos varios usuarios, borramos todos estos y sólo dejamos lo siguiente:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
intranet
webmaster
En el anterior archivo deben estar los nombres de los usuarios que pueden hacer login vía FTP.
Guardamos los cambios y cerramos el archivo.
Ahora debemos cambiar los permisos de las carpetas y archivos a los cuales vamos acceder vía FTP
# cd /var/www/
# chown -R intranet intranet
# chmod -R 755 intranet
# chown -R webmaster web
# chmod -R 755 web
# /etc/init.d/vsftpd restart
Página 6 / 10
Manual de Configuración de FTP
Para que el servicio FTP se inicie automáticamente con el sistema operativo, debemos ejecutar la
siguiente orden:
# chkconfig --level 345 vsftpd on
# vi /etc/vsftpd/vsftpd.conf
Agregamos las siguientes lineas al final del archivo (Sólo la primera línea es obligatoria para
habilitar esta opción) :
tcp_wrappers=YES
pasv_min_port=50000
pasv_max_port=60000
Guardamos los cambios y cerramos el archivo, después tenemos que reiniciar el servicio FTP:
# /etc/init.d/vsftpd restart
Ahora debemos editar los archivo hosts.allow y hosts.deny. Supongamos que deseamos establecer
que sólo las máquinas con IP 192.168.4.26 y 192.168.4.28 puedan conectarse. Entonces debemos
editar lo siguiente:
• En el archivo “/etc/hosts.allow”, debe haber la siguiente línea de contenido (En este archivo
deben estar las IP's de las máquinas que podrán acceder al servicio FTP):
vsftpd: ALL
Página 7 / 10
Manual de Configuración de FTP
Esto se utilizará con la finalidad de cifrar la comunicación que se envié y/o reciba cuando se este
usando el servidor FTP.
En primer lugar creamos un directorio donde se almacenaran los certificados de seguridad para
todas las comunicaciones SSL y TLS. Para lo cual ejecutamos la siguiente orden.
El directorio anterior sirve para almacenar todos los certificados que vamos a guardar, por ejemplo
podemos almacenar certificados de seguridad para el servicio Apache, SSH, FTP, SMTP, etc.
Para poder tener una organización sobre estos certificados, vamos a crear un directorio donde se
almacenará el certificado para el servicio FTP. Para esto ejecutamos la siguiente orden:
# cd /etc/ssl/ftp/
# openssl req -x509 -nodes -days 1460 -newkey rsa:1024 -keyout vsftpd.pem -out
vsftpd.pem
Al ejecutar lo anterior vamos a crear un certificado de seguridad que tendrá una duración de 1460
días (4 años), este utilizará como algoritmo de cifrado el RSA de 1024 Kb. También no se hace uso
de triple DES, con la finalidad de que el servicio FTP inicie de manera normal sin ningún tipo de
interacción. El fichero donde se almacena el certificado estará ubicado en “/etc/ssl/ftp/vsftpd.pem”
• Código de dos letras del país. (Se recomienda seguir el ISO 3166-1 alfa-2)
• Nombre del estado o provincia.
• Nombre de la localidad.
• Nombre de la organización.
• Nombre de la unidad organizacional.
• Nombre común (Puede ser el nombre de uno, o el nombre del host)
• Dirección de email
Página 8 / 10
Manual de Configuración de FTP
Ahora debemos modificar los permisos de nuestros certificados para que estos soló puedan ser
leídos por el usuario “root”. Para esto ejecutamos las siguientes órdenes:
# cd /etc/ssl/ftp/
# chmod 400 vsftpd.pem
Luego de lo anterior, necesitamos modificar el archivo de configuración principal del servidor FTP,
para lo cual usaremos el editor vi:
# vi /etc/vsftpd/vsftpd.conf
Página 9 / 10
Manual de Configuración de FTP
Guardamos los cambios y cerramos el archivo, después tenemos que reiniciar el servicio FTP:
# /etc/init.d/vsftpd restart
Para esto haremos uso de un cliente FTP, en este caso vamos a usar Core FTP. Este programa puede
ser descargado desde la siguiente página: http://www.coreftp.com/
Una vez que se haya instalado este programa, lo ejecutamos y nos mostrará la ventana de conexión:
En esta ventana debemos ingresar las opciones que nos solicitan, teniendo cuidado con la opción
“Connection”, ya que al usar certificados de seguridad, debemos variarla. En esta opción vamos a
dejarla con el valor “AUTH TLS”. Si no queremos usar una conexión cifrada debemos elegir en la
opción “Connection” el valor “FTP”.
Página 10 / 10