Está en la página 1de 9

MANUAL DE INSTALACION SERVICIO FTP

Martinez Caceres Ana Milena, 1400927


Universidad Militar Nueva Granada

CONCEPTOS PREVIOS A LA INSTALACION


El protocolo FTP (Protocolo de transferencia de archivos) es, como su nombre lo indica,
un protocolo para transferir archivos. El protocolo FTP define la manera en que los datos
deben ser transferidos a travs de una red TCP/IP. El objetivo del protocolo FTP es:
Permitir que equipos remotos puedan compartir archivos permitir la independencia entre
los sistemas de archivo del equipo del cliente y del equipo del servidor permitir una
transferencia de datos eficaz. El protocolo FTP est incluido dentro del modelo clienteservidor, es decir, un equipo enva rdenes (el cliente) y el otro espera solicitudes para
llevar a cabo acciones (el servidor). Durante una conexin FTP, se encuentran abiertos dos
canales de transmisin: Un canal de comandos (canal de control) Un canal de datos

Imagen 1 Modelo servicio FTP (fuente: http://es.kioskea.net/contents/263-protocolo-ftpprotocolo-de-transferencia-de-archivos)

Con el presente manual se presenta un tutorial sobre cmo configurar un servidor FTP,
utilizando como sistema operativo CentOS 6 y como servicio vsftpd, que es el que trae por
defecto este sistema operativo. Para hacer realizar la instalacin se requieren permisos de
administrador, siendo lo ms frecuente en el mundo de GNU/Linux iniciar sesin
como root o de otra manera usar el comando sudo.

CONSIDERACIONES PREVIAS A LA INSTALACIN DEL SERVICIO FTP


Antes de realizar la instalacin del servicio FTP, es necesario tener en cuenta varias
consideraciones la primera de ella es el tipo de red con el que estamos accediendo a internet
bien sea por conexin de rea local o por servicio de Wireless, si se cuenta con un sistema
de Virtual Box estas configuraciones se pueden verificar en la configuracin de la mquina
virtual

Imagen 2. Configuracin de red en caso de contar con una mquina virtual


Para este caso el servicio de red que se va a usar es un adaptador Wireless.
Al ingresar a la lnea de comandos recordar que siempre se debe ingresar al sistema con
permisos de administrador por lo general las mquinas virtuales estn configuradas por
defecto con el usuario root.
Despus de ingresar al sistema primero debemos verificar si contamos con servicio de
internet en la mquina virtual de lo contrario el sistema FTP no va a tener accesos a la red.
Se puede realizar un ping a alguna de pgina de internet en este caso se usa la pgina
www.google.com
# ping www.google.com
MODIFICACIONES NECESARIAS EN EL MURO CORTAFUEGOS.
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.
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

guardar los cambios:


service iptables save
Y por ltimo se reinicia el servicio iptables:
service iptables restart

INSTALACION SERVICIO FTP


Despus de verificar que la mquina virtual cuenta con el servicio de internet se puede
realizar la instalacin del servicio VSFTPD, es un FTP servidor para Unix sistemas,
incluyendo Linux.
vsftpd
es
el
servidor
FTP
predeterminado
en
el Ubuntu , CentOS , Fedora , NimbleX , Slackware y RHEL Linux distribuciones.
En
comparacin con otros software de servidor ftp vsftpd se construye para ser especialmente
eficaz y muy seguro.
El servicio vsftpd se instala con el siguiente comando
# yum y install vsftpd

Despus de instalar el servicio se realiza la configuracin del paquete vsftpd.conf, pero


antes de realizar la configuracin se debe realizar una copia del archivo .conf esto se hace
ya que en caso de que el archivo de configuracin llegue a ser estropeado por una errada
configuracin pueda ser reestablecido nuevamente con el uso de la copia. El siguiente es el
comando para realizar la copia.
# cd /etc/vsftpd
# cp vsftpd.conf vsftpd.copia
Despus de realizar la copia se procede a editar el archivo vsftpd.conf, se recomienda
utilizar el editor de textos nano puesto que la interfaz de trabajo es mucho ms prctica y
dinmica si no se tiene instalado el paquete de editor de textos se puede instalar con el
siguiente comando.
# yum y install nano

Para editar el archivo vsftpd.conf vamos a la siguiente ruta con el editor de textos la
mayora de las opciones aparecen con el signo # a su lado para activar las opciones basta
con eliminar el signo # dejando este solo en los cometarios del archivo vsftpd y en las
opciones que creamos no son convenientes para la configuracin de nuestro servidor ftp.
# nano /etc/vsftpd/vsftpd.conf

Las siguientes son las opciones que se pueden encontrar en el directorio vsftpd.conf

Opcin anonymous_enable.
Esta opcin viene incluida en la configuracin predeterminada. Se utiliza para definir si se
permitirn los accesos annimos al servidor. Establezca como valor YES o NO de acuerdo
a lo que se requiera.
anonymous_enable=YES
Opcin local_enable.
Esta opcin viene incluida en la configuracin predeterminada. Establece si se van a
permitir los accesos autenticados de los usuarios locales del sistema. Se establece como
valor YES o NO de acuerdo a lo que se requiera.
local_enable=YES
Opcin write_enable.
Esta opcin viene incluida en la configuracin predeterminada. Establece si se permite
ejecutar write (escritura) en el servidor. Establezca como valor YES o NO de acuerdo a lo
que se requiera.
write_enable=YES

Opciones anon_upload_enable y anon_mkdir_write_enable


Ambas opciones vienen incluidas en la configuracin predeterminada. La
opcin anon_upload_enable especfica si los usuarios annimos tendrn permitido subir
contenido al servidor. Por lo general no es una funcin deseada, por lo que se acostumbra
desactivar sta.
anon_upload_enable=NO
La opcin anon_mkdir_write_enable especfica si los usuarios annimos tendrn permitido
crear directorios en el servidor. Al igual que la anterior, por lo general no es una funcin
deseada, por lo que se acostumbra a ser desactivada.
anon_mkdir_write_enable=NO

Si se desea que los usuarios annimos puedan subir archivos al servidor FTP, se deben
dejar
estas
ltimas
dos
opciones
con
valor YES,
guardar
el
archivo /etc/vsftpd/vsftpd.conf y regresar al intrprete de mandatos para crear un
directorio denominado /var/ftp/incoming, el cual debe pertenecer al usuario y grupo ftp y
tener contexto de SELinux tipopublic_content_rw_t.
mkdir /var/ftp/incoming
chown ftp:ftp /var/ftp/incoming
chcon -R -t public_content_rw_t /var/ftp/incoming

Se recomienda que /var/ftp/incoming est asignado como una particin independiente al


resto del sistema o bien se le aplique cuota de disco al usuario ftp, porque de otro modo
cualquiera podra fcilmente saturar el espacio de disco disponible, desencadenando una
denegacin de servicio en el servidor.

Opcin ftpd_banner.
Esta opcin viene incluida en la configuracin predeterminada. Sirve para establecer el
bandern de bienvenida que ser mostrado cada vez que un usuario acceda al servidor.
Puede establecerse cualquier frase breve que considere conveniente, teniendo en cuenta que
no se pueden utilizar signos de puntuacin.
ftpd_banner=BIENVENIDO AL SERVIDOR FTP

opciones chroot_local_user y chroot_list_file.


Estas opciones vienen incluidas en la configuracin predeterminada. De modo
predeterminado los usuarios del sistema que se autentiquen tendrn acceso a otros
directorios del sistema fuera de su directorio personal. Si se desea limitar a los usuarios a
slo poder utilizar su propio directorio personal, puede hacerse fcilmente con la
opcin chroot_local_user que
habilitar
la
funcin
de chroot() y
las
opciones chroot_list_enable y chroot_list_file, para establecer el archivo con la lista de
usuarios que quedarn excluidos de la funcin 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, slo tendr
acceso a su propio directorio personal y lo que ste contenga.

CREAR DIRECTORIO CHROOT_LIST


nano /etc/vsftpd/chroot_list
despus de esto nano se guarda el directorio, este directorio se crea debido a que de otro
modo ser imposible que funcione correctamente el servicio vsftpd.

Opciones pasv_min_port y pasv_max_port.


Ambas opciones estn ausentes en el archivo /etc/vsftpd/vsftpd.conf. Aada stas al final
del archivo de configuracin. Permiten establecer el rango arbitrario de puertos utilizados
para las conexiones pasivas. Puede elegirse cualquier rango de puertos entre 1024 y 65535,
mismo que deber ser habilitado en el muro cortafuegos del servidor.

pasv_min_port=30300
pasv_max_port=30309
CONTROL DEL ANCHO DE BANDA.
Opcin anon_max_rate.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Se utiliza para limitar la tasa de transferencia, en bytes por
segundo, para los usuarios annimos, algo sumamente til en servidores FTP de acceso
pblico.
anon_max_rate=524288
Opcin local_max_rate.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Hace lo mismo que anon_max_rate, pero aplica para
usuarios locales del servidor.
local_max_rate=1048576
Opcin max_clients.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Establece el nmero mximo de clientes que podrn
acceder simultneamente hacia el servidor FTP.
max_clients=20

Opcin max_per_ip.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del
archivo /etc/vsftpd/vsftpd.conf. Establece el nmero mximo de conexiones que se pueden
realizar desde una misma direccin IP. Hay que tener en cuenta que algunas redes acceden
a travs de un servidor intermediario (Proxy) o puerta de enlace y debido a esto podran
quedar bloqueados innecesariamente algunos accesos.
max_per_ip=10
Despus de realizar la configuracin del sistema con el editor de texto nano se guarda el
archivo y se abandona el editor de texto.

Posteriormente al guardar el archivo vsftpd.conf reiniciamos el sistema vsftpd con el


siguiente comando.
/etc/init.d/vsftpd restart

Al reiniciar el sistema nos debe aparecer la conexin del servidor en estado OK

IMPORTANTE
En varias ocasiones el servicio no se puede levantar esto ocurre por varias razones, como el
servicio de internet, por eso es importante verificar que si contamos con el servicio. En
otras ocasiones el servicio no puede ser establecido por que se encuentran opciones no
validas en el archivo vsftpd.conf por lo que resulta muy conveniente dejar el archivo como
esta configura por defecto, probar el sistema y despus y cambiando las propiedades de ese
archivo de configuracin con respecto a nuestras necesidades.

Despus de realizar la configuracin del archivo vsftpd.conf y de levantar el sistema vftpd


se instala el servicio ftp con el siguiente comando.
yum install -y ftp
Al realizar la instalacin del servidor ftp estamos en condicin de poder ingresar al servidor
ftp, en primera instancia vamos a probar si podemos ingresar al servido de modo annimo.
Al ingresar el nombre de usuario anonymous el sistema nos pregunta por una clave solo
basta con teclear nuevamente enter y el sabr que como usuarios annimos no poseemos
dicha clave de acceso al sistema.

Imagen 3. Acceso al servicio ftp en modo annimo

CREAR USUARIOS PARA EL SERVICIO FTP


Antes de crear usuarios en el servicio ftp, se debe verificar que las opciones de lista de
usuarios estn habilitadas para eso nos remitimos a la configuracin del servicio
vsftpd.conf.
Para agregar ms usuarios al servidor ftp para este caso el nuevo usuario se llamara milena
y le asignaremos la clave:
# useradd
# passwd ostechnix
Changing password for user ostechnix.
New password:
passwd: all authentication tokens updated successfully.

Puede que al tratar de ingresar al servidor ftp con el nuevo usuario se nos presente un error
del siguiente tipo
# ftp direccion ip
Conectando con direccionip
220 BIENVENIDO AL SERVIDOR FTP
Name (192.168.1.200:root): milena
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/ostechnix
Login failed.ftp>
Es necesario salir del servidor ftp e insertar el siguiente comando
setsebool -P ftp_home_dir on
El comando setsebool activa o desactiva Booleanos, al opcin -P es para hacer los cambios
persistentes (sin este parmetro, al reiniciar se perder el cambio) y x es on o1 para activar,
u off o 0 para desactivar, en este caso el comando ftp_home_dir on permite a ftp leer y
escribir en el directorio de inicio de los usuarios, en varios caso puede no reconocer el
comando p, basta con apagar la mquina virtual para que tome los cambios pertinentes.

Ahora solo queda abrir el cliente, poner la IP del servidor, el usuario y la contrasea y ya
tendra que permitir el acceso ya que se ha iniciado sesin con el usuario que es el
propietario de la subcarpeta.
HACER QUE UN USUARIO LOCAL Y EL ACCESO ANNIMO COMPARTAN
CARPETA

Para poder compartir una carpeta de usuario con el acceso annimo en primer lugar hay que
ir al fichero vsftpd.conf y en la opcin anon_root poner la ruta absoluta del directorio del
usuario local.
anon_root=/home/usuario
Despus hay que reiniciar el servicio y, adems, indicar a SeLinux que permita acceso total
en el servicio de FTP a travs de la siguiente lnea de comando:
setsebool allow_ftpd_full_access on
Despus hay que dar permisos a los usuarios ajenos al propietario para que puedan ver los
contenidos de su carpeta. Para arreglar esto hay que otorgarles permisos de lectura y
ejecucin a los dems con chmod:
Chmod R 755 /home/usuario
Con esto ya el usuario local y el acceso annimo ya comparten directorio, y lo que es
subido por el usuario local puede ser descargado por las personas que acceden de forma
annima al FTP.
Para esta ltima instancia el servidor ftp se encuentra listo para enviar , recibir y editar
archivos.

También podría gustarte