Software">
Nothing Special   »   [go: up one dir, main page]

Tema 3-FTP

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 33

TEMA 4.

SERVICIO FTP
1. Definición
El servicio FTP (File Transfer Protocol, Protocolo de Transferencia de Ficheros) proporciona un
mecanismo estándar para transferir archivos entre sistemas situados en redes TCP/IP.
Este protocolo FTP se encuentra descrito en el documento RFC0959.

Para entrar en un servidor FTP se necesita un usuario y una contraseña, aunque algunos servidores
tienen una cuenta anónima (anonymous) que permite el acceso a cualquier persona, pero sólo a zonas
restringidas. Para esta cuenta anónima suele usarse el usuario "anonymous" y la contraseña suele ser
"guest" (invitado) o en blanco, en caso de que sean solicitados.

Un ejemplo de esos servidores FTP son:


ftp://ftp.rediris.es

Un inconveniente del servicio FTP es que el usuario y su contraseña, así como los datos se
envían sin cifrar, por lo que los programas sniffer podrían captar la información.

El protocolo FTP incluye muchas órdenes, de las que podemos destacar:


 get: para descargar archivos, desde el servidor FTP al cliente desde donde se realiza la
conexión.
 put: para subir archivos, desde el cliente hacia el servidor FTP.

El servicio FTP está basado en la arquitectura cliente-servidor. El servidor utiliza el puerto


21 para la transferencia de órdenes y el puerto 20 para la transferencia de datos. El cliente también utiliza
dos puertos para las tareas indicadas, pero ambos puertos están por encima del 1024 (no siempre usa los
mismos).

2. Tipos de usuario
El usuario que se conecte por FTP a un servidor puede ser:
 Usuario del sistema: un usuario del sistema operativo del servidor FTP donde se conecte; podrá
acceder a las carpetas y archivos a los que dicho usuario tenga permiso según la configuración del
sistema operativo (Ubuntu, Windows, etc.).
 Usuario anónimo: no es necesario estar dado de alta; el servidor FTP se puede configurar para
permitir el acceso a este tipo de usuarios, en caso contrario no se podrá acceder de forma
anónima a dicho servidor; el usuario anónimo sólo tendrá acceso a los lugares que haya
indicado previamente el administrador FTP.
 Usuario virtual: un usuario creado específicamente en el servidor FTP (aparte de los usuarios del
sistema) para permitirle el acceso por FTP; el servidor FTP (el programa que es servidor FTP)
mantiene una base de datos propia con estos
usuarios; podrán acceder a los lugares que el administrador haya indicado previamente para
cada usuario.

La existencia de los usuarios anónimos ha hecho posible el uso masivo de las descargas en Internet
de muchos servidores FTP.

El administrador del servidor FTP debe organizar la información y establecer el nivel de seguridad
para que los usuarios puedan acceder a los sitios permitidos y no a zonas del disco restringidas.
3. Tipos de transferencia
La transferencia de los ficheros de datos por FTP puede ser de dos tipos:
 ASCII: para ficheros ASCII, es decir ficheros en modo texto; es la opción por defecto; se
utilizará para archivos de texto, que son directamente legibles; el código ASCII se compone de un
juego de 256 caracteres (del 0 al 31 son caracteres de control, no imprimibles), incluyendo letras
mayúsculas y minúsculas, números, signos de puntuación, etc; algunos de estos ficheros
pueden ser .html, .txt, etc. Se activa con el comando FTP "ascii"

 Binario: para ficheros binarios, es decir ficheros que contienen datos no legibles directamente, por
ejemplo un fichero gráfico .jpg; algunos de estos archivos son los gráficos, programas, archivos
comprimidos, los .doc, .pdf, .odt, etc. Se activa con el comando FTP "binary".

4. Tipos de clientes FTP

Para poder establecer una conexión con el protocolo FTP son necesarias dos partes: un servidor y un cliente.
Existen múltiples tipos de clientes ftp, desde clientes en terminal de comandos, como ftp o lftp, clientes
gráficos como gftp o FileZilla, hasta un cliente ftp en los navegadores mediante ftp://
¿Cuál elegir? Pues, como todo, depende:
 ¿Conoces la consola ftp? Si te manejas con soltura en la consola ftp puedes pensar en un cliente ftp de
comandos que permita utilizar la tecla "tabulado" después de escribir unos caracteres para
complemetar los nombres de archivos.
 ¿Cuál es el uso que necesitas? ¿Para qué lo vas a utilizar? A lo mejor solamente quieres visitar un
servidor ftp y descargar un archivo sin tener que andar instalando nuevos programas. En este caso
puedes utilizar el cliente ftp del navegador, ftp://
 ¿Quieres reanudar la conexión en caso de corte en la misma? En este caso mejor un cliente tipo
gráfico.
 ¿Deseas facilidad de manejo? Un cliente terminal de comandos suele ser menos interactivo que uno
gráfico, debes saber manejarte con comandos en la consola ftp, mientras que en un cliente gráfico
puedes manejarte a través de clics del ratón. Los clientes gráficos suelen ser más amigables y por lo
tanto más utilizados.
 ¿Qué tipo de conexión quieres establecer? ¿cifrada? ¿no cifrada? Dependiendo del tipo de conexión
debes emplear un cliente u otro, ya que no todos los clientes ftp permiten conexiones cifradas.
 ¿Deseas recordar conexiones ( sitios)? Pues lo mismo, no todos los clientes ftp lo permiten. Un cliente
ftp muy recomendable es el cliente gráfico ftp FileZilla, ya que posee las siguientes características

5. FTP para Linux

5.1 Servidor FTP en Linux: vsftpd


Quizás el programa más seguro, rápido y utilizado como servidor FTP en Linux es vsftpd (Very
Secure FTP Daemon), que utiliza ftp con ssl, es decir transferencia de forma segura, de este modo la
información viaja encriptada. Esto significa que debemos tener instalado el programa openssh-server.
Para instalar este programa se ejecutará:
apt-get install vsftpd
Para comprobar si está funcionando:
ps -A

Debe aparecer en la lista de procesos en funcionamiento el programa vsftpd. Si aparece es porque


el servicio ya está iniciado. Si no estuviera iniciado, se puede iniciar con el método normal, usando:
/etc/init.d/vsftpd start
pero tambien se puede del siguiente
modo: service vsftpd
En lugar de start se escribe stop o restart para detener o reiniciar el servicio respectivamente.

El directorio donde se almacenan los ficheros y carpetas que el usuario por defecto (ftp) envia al
servidor ftp se almacenan en el directorio /srv/ftp

El fichero de configuración de este servicio es /etc/vsftpd.conf. Cada vez que se realice alguna
modificación en dicho fichero, debe reiniciarse el servicio con stop y start, o simplemente con restart.

Algunas opciones importantes de ese fichero de configuración son (si una línea comienza por # no
tiene efecto, es un comentario; para que dicha línea sea activada debe quitarse el símbolo # del inicio de la
línea)
Algunas directivas importantes :

 ftpd_banner=Bienvenido al servidor FTP de 2ºSMR


Para mostrar un mensaje de bienvenida al cliente que conecte.

 anonymous_enable=YES
Para permitir el acceso a usuarios anónimos. Si el valor fuera "NO", los usuarios que quieran entrar,
deben siempre tener su propio usuario y contraseña. Si el valor está a “YES”, el cliente FTP que desee entrar
como usuario anónimo debe teclear en el campo “Usuario” el valor “anonymous” y en el campo
“Contraseña” simplemente pulsar INTRO dejándola vacía (este programa no es necesario "guest" como
contraseña).

 anon_root=Carpeta
Carpeta o directorio del servidor FTP donde se colocará el usuario anónimo cuando entre; esa
carpeta debe tener los permisos adecuados, por ejemplo 755; debemos crear esa carpeta, por ejemplo
/home/anon para ponerla después en esa directiva: anon_root=/home/anon
Esa carpeta se crea con: mkdir /home/anon
Y se da permiso para leer con: chmod 755 /home/anon

Si copiamos algún fichero en esa carpeta, cuando el usuario anonymous entre en el servidor FTP,
podrá ver dicho archivo (y descargarlo).

 local_enable=YES
Para permitir el acceso a los usuarios locales del sistema (usuarios del sistema operativo).

 write_enable=YES
Para que los usuarios que entren no sólo puedan descargar ficheros (read), sino también subirlos al
servidor FTP (write), así como crear carpetas.

 anon_upload_enable=NO
Para no permitir que un usuario anónimo pueda subir archivos al servidor FTP.

 anon_mkdir_write_enable=NO
Para no permitir que un usuario anónimo pueda crear carpetas en el servidor

 local_root=Carpeta
Carpeta o directorio del servidor FTP donde se colocará el cliente cuando conecte con un
usuario local; esa carpeta debe tener los permisos adecuados, por ejemplo 755. Si no se escribe esta
directiva, cada usuario entrará en su propia carpeta personal (por ejemplo, /home/smr). Si queremos que
todos los usuarios locales vayan a la misma carpeta, se pone en esa directiva, por ejemplo:
local_root=/home/anon (por ejemplo, la misma carpeta que hemos indicado antes para el usuario anónimo).
 chroot_local_user=YES
Para restringir a los usuarios a su carpeta personal, de forma que no podrán acceder fuera de la
misma, o sea los usuarios estan enjaulados en su carpeta personal.

 local_max_rate=10240
Para limitar la tasa de transferencia en bytes por segundo a los clientes FTP que utilicen un usuario
del servidor. En el caso anterior se limita la tasa de transferencia a
10KB/s.

 anon_max_rate=10240
Para limitar la tasa de transferencia en bytes por segundo a los clientes que utilicen el usuario FTP
anónimo. En el caso anterior se limita la tasa de transferencia a 10KB/s.

 max_clients=3
Para indicar el número máximo de clientes que podrán conectarse simultáneamente al servidor. En
el caso anterior se establece a 3.

 max_per_ip=3
Para indicar el número máximo de clientes que podrán conectarse simultáneamente al servidor
desde la misma dirección de Internet (desde la misma IP, por ejemplo desde el mismo router).

 idle_session _timeout=300
Si el cliente FTP está ese tiempo (en segundos) sin trabajar será desconectado automáticamente.

 local_umask=022
Para establecer los permisos de los archivos que suba un usuario local. Por defecto los archivos
adquieren permiso de lectura y escritura para el usuario y ningún permiso para el resto; es conveniente
utilizar el valor 022 para que el resto de usuarios tengan permiso de lectura. Como el valor es una
máscara (umask), se escribe el valor contrario al que deseamos poner (022 es lo contrario de 755).

Puedes ejecutar la orden de manual man vsftpd.conf, para conocer más detalles sobre cada parámetro de
configuración.
Si realiza alguna modificación el fichero de configuración debe reiniciar el servicio vsftpd para que
las modificaciones se tengan en cuenta.
Al instalar vsftpd, el sistema no queda configurado para que se inicie el servicio cada vez que se
encienda el ordenador. Puede comprobarse en la carepta /etc/rc2.d donde no aparece ninguna entrada
con el nombre ftp. Para que sí se inicie el ftp al encender el equipo, se ejecuta el comando:

update-rc.d vsftpd start 41 1 2 3 4 5 . stop 41 0 6 .

5.2 Cliente FTP en Linux


Desde el modo terminal, podemos ejecutar la orden siguiente:

# ftp <IPDelServidor>

En lugar de "ftp" puede utilizarse "sftp" de este modo la conexión es segura, de la forma:

# sftp usuario@IPDelServidor

ftp es un comando cliente FTP en modo texto que ya viene instalado en Linux y que nos
permite conectar con cualquier servidor FTP. Una vez conectado, si tecleamos el signo de
interrogación "?" o "help" aparecerá una lista de los comandos FTP que se pueden utilizar. Para saber
qué hace cada comando se escribe el signo "?" (o "help") y después el comando, por ejemplo para el
comando lcd:

> ? lcd change local working directory

Los comandos más importantes son:


ascii Transferencia en modo texto.
binary Transferencia en modo binario.
bye Termina sesión y sale de FTP.
cd Cambia de directorio en el servidor FTP.
chmod Cambia permisos de ficheros en servidor.
delete Borra un fichero en el servidor.
dir Contenido de la carpeta del servidor.
get Descarga fichero al cliente FTP.
lcd Cambia directorio en el cliente.
ls Contenido de la carpeta del servidor
mkdir Crea directorio en el servidor.
mput Sube varios ficheros al servidor.
put Sube un fichero al servidor.
pwd Muestra en qué carpeta del servidor estás.
rename Renombra fichero en el servidor.
rmdir Borra carpeta en el servidor.

Otro cliente FTP es el propio navegador de Internet, donde debe teclearse la dirección
ftp://<DirecciónDelServidorFTP> (en lugar de comenzar por http: comenzará por ftp:).

Sin embargo, lo más apropiado es utilizar un cliente FTP en modo gráfico, como puede ser el
programa gFTP para Linux. Puede instalarse con el "Gestor de paquetes Synaptic" o con la orden:

# apt-get install gftp

Una vez instalado el cliente gFTP, este programa aparecerá en “Aplicaciones – gFTP”. Al
ejecutarlo podremos escribir en la parte superior el nombre o la IP del servidor FTP, así como el

usuario y la contraseña que deseamos usar para entrar. El icono superior izquierdo( ) nos permite
conectar y también desconectar.
Al conectar con el servidor aparece la ventana dividida en 2 zonas: la izquierda para el equipo local
(cliente) y la derecha para el remoto (servidor). Las 2 flechas centrales, situadas entre las citadas zonas, se
usan para descargar (flecha hacia la izquierda, hacia el cliente local) o subir (flecha hacia la derecha, hacia
el servidor remoto) los archivos seleccionados previamente. Otra zona inferior de la ventana nos informa
del proceso de conexión y transferencia. Lógicamente el símbolo .. (dos puntos seguidos) se utiliza para
subir de directorio, o sea para situarse en el directorio padre del actual.

Se puede crear una nueva carpeta, tanto en el servidor (remoto) como en el cliente (local),
pulsando el botón derecho en cualquier punto de la zona correspondiente y “Carpeta nueva”, siempre que
tengamos permiso para ello. Del mismo modo podrá eliminarse una carpeta o archivo, seleccionándolo
previamente. Como podemos ver, otras opciones interesantes que aparecen son “Permisos” y
“Renombrar”. Esas mismas opciones las tenemos en el menú superior, dentro de “Local” y “Remoto”.

En dicho menú superior además encontramos la opción “FTP”, donde podremos elegir entre
transferencia binaria o ASCII. La opción “Marcadores” para crear sitios FTP favoritos y la opción
“Registros” para ver un histórico de las operaciones realizadas.

También en la opción “FTP” tenemos “Preferencias” para configurar nuestro cliente FTP. Dentro
de la pestaña “Red” podremos establecer el tiempo de espera, el número de reintentos, la tasa máxima de
transferencia (KB/s) y el “Protocolo predeterminado”, donde podremos elegir “SSH2” para que la
información viaje encriptada; lógicamente el servidor FTP debe tener funcionando un servidor SSH, como
openssh-server.
6. FTP para Windows

6.1 Servidor FTP en Windows Server


Para instalar el servidor FTP entraremos en "Herramientas administrativas - Administrador
del servidor", dentro de “Servidor web (IIS)” pulsamos “Agregar función”. Marcamos “Servidor
web(IIS)”— servicios de publicaciones — agregar los servicios de function requeridos. Pulsaremos en
"Siguiente" e "Instalar", hasta que aparezca "Instalación correcta", y cerramos esa ventana.

Ahora dentro de "Herramientas administrativas", en "Administrador de Internet Information


Services (IIS)" podremos configurar el servidor FTP del Windows Server. En la parte izquierda aparece el
nombre del servidor (servidor). Podemos expandir su contenido pulsando en el signo +.

Si pulsamos en "Sitios FTP", pulsamos “haga click aqui para iniciar”, pinchamos “sitio FTP”
boton secundario—Nuevo .. --- Sitio FTP, para crear un nuevo sitio FTP en nuestro servidor Windows.
Ahora salta un asistente donde se nos pide entre otros datos la IP del servidor FTP.

Nos pedirá los siguientes datos.


En "Nombre del sitio:" ponemos por ejemplo : FTP_SMR.
En "Ruta", usamos el botón "Examinar" para elegir la carpeta: C:\inetpub\ftproot (esa carpeta la
trae WinServer por defecto para colocar ahí los sitios FTP que se creen; pero podría elegirse otra). Esa será
la carpeta raíz del sitio FTP; dentro de esa carpeta estará el contenido visible para los usuarios que accedan
por FTP. Pulsar "Siguiente".
En "Dirección IP" se puede dejar el valor "Todas las ..." (también podría introducirse la IP del
servidor) y en el Puerto 21. También marcamos "Iniciar sitio FTP automáticamente". En SSL elegimos
"Sin SSL".
En "Autenticación" marcamos "Anónima" y "Básica". Si no quisiéramos permitir accesos al
usuario "anonymous", desmarcamos la opción "Anónima".
Además en "Autorización" permitimos el acceso a "Todos los usuarios" y marcamos "Leer" y
"Escribir". Si quisiéramos que los usuarios sólo pudieran descargar (no subir archivos), activaríamos sólo
"Leer" (dejando desmarcado "Escribir").
Una vez que aceptamos queda el nuevo sitio FTP creado y funcionando (en"Estado aparece
"Iniciado").

En el menú de la izquierda, dentro del Servidor y "Sitios" aparecerá nuestro nuevo sitio FTP. Este
nuevo sitio queda iniciado al crearlo. Al seleccionar el nuevo sitio, a la derecha aparece el menú
"Acciones", que nos permite aplicar ciertas funciones al sitio, como "Detener", "Reiniciar" y configurar
algunas opciones. Si se pulsa botón derecho sobre el sitio, aparece un menú con algunas de esas
mismas opciones anteriores, además de la opción "Quitar" para eliminar el sitio.

Además en la zona central aparece una serie de iconos para más opciones de configuración del sitio
seleccionado.

Si creamos varios sitios FTP en el servidor en el mismo puerto 21, sólo podrá haber uno iniciado;
el resto deben estar parados (aplicarles "Detener"). Para tener varios sitios FTP funcionando
simultáneamente sobre el mismo servidor, cada uno debe utilizar un puerto diferente, pero esto
complicaría el acceso.

Colocamos varios archivos cualesquiera (de pequeño tamaño) en la carpeta raíz del sitio (C:\
Inetpub\ftproot), para que los usuarios que conecten puedan verlos.
Ahora podemos conectar con ese sitio FTP desde un cliente Windows (o Linux), por ejemplo con
el comando ftp: c:/>ftp IP_Del_ServidorFTP

Usuario: Administrador (u otro usuario).


Passwd: la clave
También podemos conectar con:
Usuario: anonymous
Passwd: (vacía, sólo pulsar Intro)
Para desconectar escribimos
"quit".

Con un navegador también podremos entrar en el sitio FTP escribiendo la dirección:


ftp://Usuario@IP_Del_ServidorFTP

Por ejemplo: ftp://Administrador@192.168.1.XXX


ftp://anonymous@192.168.1.XXX

El usuario que entre se sitúa en la carpeta indicada anteeriormente para el sitio FTP, es decir en C:\
inetpub\ftproot, llamada carpeta raíz del sitio FTP, y no podrá salir de ella hacia arriba, pero si tuviera
subdirectorios, sí podría entrar en ellos.

Crearemos dentro de C:\inetpub\ftproot el directorio "compartir", quedando C:\inetpub\ftproot\


compartir. Dentro de ese directorio colocamos varios archivos cualesquiera pequeños. El usuario que
conecte comprobará que puede entrar en ese directorio y ver sus archivos.

Los usuarios conectados al sitio FTP no podrán salir de la carpeta raíz hacia carpetas superiores.
Por ejemplo, no podrán ver el contenido de la carpeta C:\inetpub, ni por supuesto de C:\.

Si al crear el sitio se marcó la opción "Escribir", los usuarios (excepto el usuario anonymous)
podrán subir archivos (put), borrar archivos (del) y crear carpetas (mkdir carpeta); esto no se puede hacer
si usamos el navegador para conectar, pero sí cuando usamos el modo comando. Por ejemplo, entramos
como "Administrador": c:/>ftp IP_Del_ServidorFTP
Usuario: Administrador
Passwd: "su clave"

ftp> mkdir prueba Crea la carpeta "prueba".


ftp> dir Vemos que se ha creado la carpeta "prueba"
ftp> put "Un_Archivo" Sube el archivo llamado "Un_Archivo" de tu equipo local al sitio FTP.
ftp> quit Cerrar sesión y salir de FTP.

El usuario anónimo no podrá crear carpetas, ni subir archivos; es decir no puede modificar el
contenido de la carpeta raíz del sitio ftp (ni sus subcarpetas), pero sí puede verlo (dir) y descargarlo (get).
También podrá entrar en las subcarpetas que tenga la carpeta raíz.

Distintas opciones para la configuración del servidor:


Si queremos mostrar un mensaje de bienvenida a los usuarios que entren, pulsaremos en el sitio y
en el icono de la zona central llamado "Mensajes de FTP".
Podemos marcar "Suprimir titular predeterminado", para que no muestre el mensaje por defecto
"Microsoft FTP Service" al conectar.
En "Titular" escribimos un mensaje, el cual aparecerá al conectar, antes de teclear usuario y
contraseña.
En "Bienvenida" escribimos el mensaje que aparecerá después de introducir usuario y contraseña.
En "Salida" escribimos el mensaje que aparecerá al desconectarse el usuario del servidor.
En "Nº máximo de conexiones" escribimos el mensaje que le aparecerá al usuario que no
pueda conectarse porque se ha alcanzado el número máximo de conexiones del servidor. Este número se
configura pulsando en el sitio FTP, con la opción "Configuración avanzada" que está en el menú de
la derecha, dentro de la pestaña "Conexiones" - "Número máximo de conexiones".
Una vez escritos todos los mensajes citados previamente, en la zona derecha pulsar en "Aplicar".

Para que cada usuario tenga su propia carpeta al entrar en el servidor FTP (no la misma carpeta
raíz del sitio FTP para todos los usuarios), debemos crear una carpeta con el mismo nombre que el
usuario (por ejemplo, la carpeta "Administrador" o la carpeta "smr"); esa carpeta la creamos dentro de la
carpeta raíz del sitio FTP (dentro de C:\inetpub\ftproot, quedando la carpeta C:\inetpub\ftproot\
Administrador).
Para el usuario anonymous se puede crear la carpeta: C:\inetpub\ftproot\anonymous.
Para el usuario smr se puede crear la carpeta C:\inetpub\ftproot\smr.
Copiamos archivos diferentes dentro de C:\inetpub\ftproot\anonymous, dentro de C:\inetpub\ftproot\Administrador
y dentro de C:\inetpub\ftproot\smr para probar las distintas opciones.

Podemos pulsar sobre sitio FTP y en la lista de iconos centrales, pulsar sobre "Aislamiento de
usuario FTP". Si elegimos en "No aislar usuarios", la opción "Directorio raíz", todos los usuarios entran
en la misma carpeta raíz del sitio; con la otra opción, "Directorio de nombres de usuario", cada
usuario entrará en su propia carpeta (que se debe llamar igual que el usuario y hemos creado
previamente dentro de la carpeta raíz). Después de realizar cambios en esa ventana, pulsar "Aplicar" arriba
a la derecha.

Al entrar un usuario por ftp se sitúa en su propia carpeta, pero podrá salir de ella y ver las demás
carpetas (incluso las de otros usuarios) que estén en la carpeta raíz (C:\Inetpub\ftproot). Para evitarlo y
que cada usuario tenga su propia carpeta y los demás no puedan ver sus archivos (ni su carpeta),
debemos utilizar la opción "Propiedades" de carpeta (del sistema operativo WinServer, botón derecho
sobre la carpeta en cuestión) de cada usuario, para activar en la pestaña "General" la opción "Oculto",
donde marcamos "Aplicar cambios sólo a esta carpeta"; es decir, que no deben ocultarse las subcarpetas
ni los archivos que contiene la carpeta ocultada.

Además en la pestaña "Seguridad" (dentro de "Propiedades") configuramos los permisos para que
sólo el usuario dueño de la carpeta tenga todos los permisos ("Control total") y eliminamos todos los
demás grupos y usuarios para la carpeta (en el apartado "Nombres de grupos o usuarios" sólo debe
aparecer uno, el usuario dueño de la carpeta). Para quitar algunos elementos (usuarios o grupos)
deben desactivarse los permisos heredables en "Seguridad" - "Opciones avanzadas" - "Cambiar permisos"
y desmarcar "Incluir todos los permisos heredables..." y botón "Quitar". Podemos probar esto con el
usuario "Administrador" y su carpeta personal C:\Inetpub\ftproot\Administrador, aplicando todos los
pasos. Y con el usuario smr y su carpeta personal C:\Inetpub\ftproot\smr. Debemos comprobar que cada
usuario (Administrador, smr, ...) sólo puede ver los archivos de su carpeta, así como los que haya en
las carpetas que no están ocultas, como la carpeta "compartir". En esta carpeta podemos colocar los
archivos que puedan ser vistos y descargados por todos los usuarios.

Para ver en un sitio FTP las sesiones que tenemos conectadas, pulsamos en el sitio FTP y en la
zona central aparece una opción llamada "Sesiones actuales de FTP". Ahí vemos todas las conexiones
activas y podremos desconectar las que se quiera.

Además, dentro de C:\inetpub\logs\Logfiles están los ficheros que guardan todas las conexiones
que ha tenido a lo largo del tiempo nuestro sitio FTP.

6.2 Cliente FTP en Windows

Un cliente FTP es, desde la consola de Windows, la orden siguiente:


C:\>ftp <IPDelServidor>
Esta orden funciona de forma similar a la de Linux, que se ha comentado anteriormente
Como es lógico, también el navegador de Internet de Windows funciona como cliente FTP,
tecleando la dirección ftp://<DirecciónDelServidorFTP> (en lugar de comenzar por http: comenzará
por ftp:) o ftp://Usuario@<DirecciónDelServidorFTP>.

Puede utilizarse el "Explorador de archivos" de Windows como cliente FTP, introduciendo


ftp://<DirecciónDelServidorFTP> o en "Dirección".

Como hemos indicado antes, lo más apropiado es utilizar un cliente FTP en modo gráfico.
Uno de ellos es Filezilla, de código abierto, que puede descargarse desde http://filezilla.sourceforge.net.
Una vez descargado se puede instalar normalmente.

Este cliente ofrece un menu principal (superior), así como una "Barra de herramientas", debajo de
dicho menú. La primera herramienta es el "Gestor de sitios", que permite crear sitios FTP favoritos. Otras
herramientas permiten detener una transferencia, para poder proseguir más tarde por el punto donde se
paró. El icono de "Conexión rápida" ofrece a modo de historial una lista de los sitios donde ya se ha
realizado una conexión.

Dentro del menú, en la opción "Transferencia" - "Tipo de transferencia", podemos elegir el


modo binario, ASCII o automático.

La parte izquierda está destinada al cliente FTP, la máquina local, mientras que la derecha es para
el servidor FTP, la máquina remota. Al pulsar el botón derecho del ratón sobre una carpeta o archivo
aparece un menú que permitirá, entre otras tareas, añadir a la cola de transferencia o realizar la
transferencia (subir o descargar). La transferencia de los objetos colocados en la cola será iniciada con el
icono correspondiente de la "Barra de herramientas". En la parte de la máquina remota, una de las
opciones del citado menú es "Permisos de archivo" que permite ver o modificar (si podemos) los permisos
de los archivos.

Para activar la opción SSH y así realizar todas las transferencias cifradas, incluyendo nombre de
usuario y contraseña, basta con entrar en el "Gestor de sitios" y en la pestaña "General", en el campo
"Server Type" elegiremos SFTP.
7. Instalación y configuración de un
servidor FTP (vsftpd ) en Linux
Ubuntu Server.

Instalamos el servidor vsftpd con el siguiente comando.


A continuación vamos a configurar diferentes parámetros de nuestro servidor, para ello
editamos el fichero /etc/vsftpd.conf. Primero vamos a indicar que las máximas conexiones
simultáneas sean 2, esto lo realizamos con la siguiente directiva.

A continuación permitimos sólo 5 min de acceso a un usuario con la siguiente directiva, el


tiempo lo indicaremos en segundos.

Configuraremos el mensaje de bienvenida en la siguiente directiva.

Indicamos el ancho de banda máximo a 10 MB/seg para los usuarios locales y para los anónimos.
A continuación vamos a configurar el fichero log, para ello: En vsftpd_log_file , especificamos
el archivo de registro de vsftpd, en nuestro caso dejaremos el que viene por defecto. Para que
se utilice este archivo, xferlog_enable debe estar activado y xferlog_std_format debe ser NO ó,
si está en YES, entonces dual_log_enable debe estar activado. Es importante resaltar que si
syslog_enable está en YES, se utiliza el registro del sistema en lugar del archivo especificado en
esta directriz.

Indicamos que se pueda permitir el acceso a usuarios anónimos y a usuarios locales.


Permitimos el acceso a usuarios virtuales también.

Los usuarios anónimos no podrán subir archivos, para ello dejamos comentada la siguiente
línea que se usaría para permitírselo.
Para que los usuarios puedan descargar archivos añadimos la siguiente línea.

Creamos una carpeta en /home para aislar al usuario anónimo que llamaremos público.
Descomentamos la siguiente línea para así poder enjaular a los usuarios locales.

Añadimos la siguiente línea para indicar el directorio en el cual estará enjaulado el usuario
anónimo.
Creamos un archivo llamado .message en el directorio donde queremos que aparezca un
mensaje al acceder a él. En este caso será para el directorio /home/publico/.

Realizamos una conexión FTP con el usuario anónimo y observamos que se encuentra
enjaulado en su directorio y además aparece el mensaje al acceder al mismo.

Para que el mensaje de los directorios funcione, la siguiente línea debe estar descomentada.
A continuación vamos a crear los usuarios locales carlos y maria, que serán los usuarios con
acceso al servidor FTP.

Restringiremos el acceso sólo a estos usuarios creados, para ello debemos añadir las siguiente
líneas.

En userlist_file indicaremos donde se encuentra el fichero que utilizaremos para indicar los
usuarios que pueden acceder al servidor, aquellos que no se encuentren en dicho fichero no
tendrán acceso a este.
Creamos dicho fichero y a continuación añadimos los usuarios maria, carlos y anonymous,
cualquier otro usuario que no se encuentre en este fichero no podrá acceder al servidor.

Vamos a enjaular sólo a algunos usuarios, teniendo en cuenta que el usuario anónimo ya está
aislado. Para ello vamos a añadir la siguiente línea en la cual indicaremos el fichero donde
introduciremos los usuarios que vamos a enjaular.
A continuación creamos el fichero vsftpd.chroot_list e introducimos en él al único usuario que
aislaremos, en este caso a carlos.

En la siguiente línea especificamos en el directorio en el cual se encontrarán los ficheros para


la configuración específica de cada usuario.

A continuación creamos el directorio /etc/vsftpd/usuarios para crear en el los fichero para la


configuración de los usuarios como vemos a continuación.
El fichero de configuración del usuario carlos quedará de la siguiente forma, donde
indicaremos cual es el directorio donde se encuentra aislado (/home/carlos), de daremos
permisos de escritura y permisos para que pueda subir ficheros a su directorio.

En el directorio particular de carlos hemos creado un archivo .message como hicimos con el
usuario anónimo para que aparezca un mensaje al iniciar sesión en dicho directorio, a
continuación comprobamos que tenemos acceso con carlos, que sale el mensaje y que
podemos subir un fichero a su directorio con el comando put. Debemos recordar darle
permisos al directorio particular de carlos para que sea posible escribir en él, nosotros hemos
elegido darle todos los permisos con el comando: #chmod 777 /home/carlos Observamos que
efectivamente todo está configurado correctamente.
A continuación vemos como quedan definitivamente los ficheros de configuración de carlos y
de maria. A carlos le hemos limitado el ancho de banda a 1 MB/seg.

A Maria también le hemos limitado el ancho de banda a 1 MB/seg, le hemos permitido que
suba ficheros y como observamos Maria no tiene la directiva local_root, ya que esta no se
encuentra aislada en ningún directorio.
8. Servidor FTP Windows Server 2008

FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en


informática, es un protocolo de red para la transferencia de ar chivos entre sistemas
conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-
servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde
él o para enviarle archivos, independien- temente del sistema operativo utilizado en cada
equipo.

Instalación.
Paso 1: En el servidor de IIS hacemos click en Agregar Servicios de Función.

Paso 2: Seleccionamos todos los elementos de Servicio de Publicación FTP.

Paso 3: Seleccionamos también CGI (para futuras aplicaciones). Siguiente.


Paso 4: Confirmamos la selección que queremos instalar. Siguiente.

Paso 5: Progreso de Instalación. Finalizar

Paso 6: Abrimos el Administrador de Internet Informatio Services (IIS) en Inicio >Herramientas Administrativas >
Administrador de Internet Informatio Servic es (IIS)

Paso 7: Borramos el sitio FTP por defecto y creamos uno nuevo pulsando boton derecho sobre Sitios FTP
> Nuevo > Sitio FTP.
Paso 8: Nos aparecerá el Asistente de configuración de FTP. Siguiente.

Paso 9: Escribimos una descripcion para el sitio FTP:

Paso 10: Dejamos los parámetros tal como están. Siguiente.


Paso 11: Seleccionar No Aislar Usuarios. Siguiente.

Paso 12: Escribimos la ruta de acceso donde se hospedará el sitio FTP.

También podemos indicarlo pulsando el botón Examinar e indicar el directorio de manera gráfica.

Paso 13: Habilitamos solo el permiso de Lectura. Siguiente y finalizamos el asistente.


Paso 14: Metemos un archivo de prueba en el directorio de datos del FTP. Abrimos el navegador y
probamos con nosotros mismos si funciona poniendo en la barra de dirección ftp://127.0.0.1

Paso 15: Accedemos a las propiedades de nuestro sitio FTP.

Paso 16: En la pestaña Cuentas de Seguridad habilitamos las conexiones anónimas.


Paso 17: Escribimos un breve texto de Bienvenida y Salida en la pestaña de Mensajes.

Paso 18: En propiedades de WIN***** habilitamos la modificación directa de archivos de


metabase.

Lanzamos el Servicio FTP por si estuviese parado.

Autenticación de Usuarios.
Paso 1: Entramos en Autenticación FTP.
Paso 2: Habilitamos la Autenticación anónima y Autenticación básica.

Paso 3: Una vez habilitados, entramos en Reglas de autenticación de FTP.

Paso 4: Agregamos una nueva regla de permiso.

Paso 5: Seleccionamos Roles o grupos de usuarios, ponemos usuarios y seleccionamos los


permisos de Leer y Escribir.
Paso 6: Entramos ahora dentro de Aislamiento de usuarios FTP.

Paso 7: Seleccionamos Directorio de nombres de usuario.

Paso 8: Agregamos un directorio virtual.

Paso 9: Ponemos como alias anonymous y la ruta del sitio FTP.

Paso 10: Agregamos una nueva regla de autorización de permiso.


Paso 11: Podriamos crear un nuevo usuario específico para el FTP.

Paso 12: Le damos permisos pertinentes a ese usuario sobre la carpeta upload.

Paso 13: Probamos en el navegador que funciona y que deja subir al directorio upload.
Mensajes.

Finalmente podemos poner mensajes de bienvenida, salida, etc... dentro del FTP.

Paso 1: Dentro del sitio pichamos sobre Mensajes de FTP.

Paso 2: Especificamos los mensajes que queremos que aparezcan.

También podría gustarte