You are on page 1of 10

Manual de Configuración de FTP

MANUAL DE CONFIGURACION DE
UN SERVIDOR FTP EN CENTOS

Autor: Roger Armando Contreras Corrales


( Fecha: 15 de Enero del 2011)

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

4.Utilización de certificados de seguridad:.........................................................................................8

5.Conexión al servidor FTP :.............................................................................................................10

Página 2 / 10
Manual de Configuración de FTP

CONFIGURACIÓN DEL SERVIDOR 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:

Nombre de Usuario Sitio Web Carpeta de Acceso


intranet Intranet Institucional /var/www/intranet
webmaster Portal Web institucional /var/www/web

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

Ejecutando la siguiente orden podemos descargar el paquete mencionado en la URL anterior en el


directorio donde nos encontremos:

# 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:

# rpm -qi vsftpd


# rpm -ql vsftpd

Editamos el archivo de configuración de VSFTP, lo haremos con el editor vi:

# 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

Se puede encontrar una explicación detallada de estas opciones en la siguiente URL:

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:

# adduser intranet -d /var/www/intranet/ -g ftp -s /sbin/nologin

# adduser webmaster -d /var/www/web/ -g ftp -s /sbin/nologin

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

Ahora debemos editar el siguiente archivo:

# 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

Ahora debemos reiniciar nuestro servidor FTP con la siguiente orden:

# /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

3. Definir que máquinas pueden establecer una conexión con


el servicio FTP:
Ahora vamos a configurar para que sólo algunas máquinas puedan conectarse al servicio FTP, para
esto es necesario habilitar el soporte TCP wrappers, el cual permitirá el uso de archivos como el
hosts.allow y hosts.deny, para controlar quienes pueden usar el servicio FTP.

Editamos el archivo de configuración principal a través del siguiente comando:

# 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: 192.168.4.26 192.168.4.28

• En el archivo “/etc/hosts.deny”, debe haber la siguiente línea de contenido:

vsftpd: ALL

Página 7 / 10
Manual de Configuración de FTP

4. Utilización de certificados de seguridad:


En esta parte se va a explicar como utilizar los protocolos SSL y TLS a través de un certificados
RSA.

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.

# mkdir -m 0700 /etc/ssl

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:

# mkdir -m 0700 /etc/ssl/ftp

Ahora vamos a ingresar a este directorio, y en el vamos a crear nuestro certificado:

# 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”

Al momento de generar el certificado de seguridad, este solicitará la siguiente información:

• 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

Los resultados que se han tenido al momento de generar el certificado son:

Generating a 1024 bit RSA private key


............++++++
...........++++++
writing new private key to 'vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:PE
State or Province Name (full name) [Berkshire]:Lambayeque
Locality Name (eg, city) [Newbury]:Chiclayo
Organization Name (eg, company) [My Company Ltd]: Nombre empresa
Organizational Unit Name (eg, section) []: Oficina de Informatica
Common Name (eg, your name or your server's hostname) []:Roger Contreras
Email Address []:rcontreras@company.com

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

En este archivo debemos agregar las siguientes líneas al final:

# Habilitamos el soporte de TLS/SSL


ssl_enable=YES
# Permitir el uso de TLS/SSL a usuarios anónimos
allow_anon_ssl=YES
# Obligar el uso de TLS/SSL para cualquier operación
force_local_data_ssl=NO
force_local_logins_ssl=NO
# Preferir TLSv1 sobre SSLv2 y SSLv3
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# Ubicacion del certificado
rsa_cert_file=/etc/ssl/ftp/vsftpd.pem

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

5. Conexión al servidor FTP :


Una vez que hemos configurado todo lo anterior, ya podemos utilizar nuestro servicio FTP.

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”.

La IP 192.168.4.3 es la ip de la máquina donde se ha instalado y configurado el servicio FTP.

Página 10 / 10

You might also like