Está en la página 1de 12

FACULTAD DE CIENCIA Y TECNOLOGA

Servicios FTP y TELNET


Informe #1

ESCUELA:

Ingeniera Electrnica

CTEDRA:

Comunicacin de Datos y
Redes de Computadoras

DOCENTE:

Lic. Leopoldo Vzquez

ALUMNO:

Fernando Velastegu

Septiembre 2014 - Febrero 2015

CUENCA - ECUADOR

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

1. FTP: FILE TRANSFER PROTOCOL


Es un protocolo de red basado en la arquitectura cliente-servidor que permite la
transferencia de informacin, almacenada en ficheros, desde una mquina remota a
otra local, o viceversa; conectadas a una red TCP (Transmission Control Protocol).
Para poder realizar esta operacin es necesario conocer la direccin IP (o el nombre)
del servidor al que nos queremos conectar.
Est pensado para ofrecer una mxima velocidad de transferencia al realizar todo el
intercambio de informacin en texto plano, sin ningn tipo de cifrado; Lo que genera, a
su vez, un problema de seguridad.
Para solucionar este problema son de gran utilidad aplicaciones como SCP y SFTP,
incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el
trfico.

1.1. El Modelo FTP


FTP es un servicio orientado a conexin concurrente que se brinda al usuario
mediante los puertos 20 y 21 de la capa de aplicacin del modelo de red TCP/IP.
Puerto 20 para el intercambio de datos y 21 para el de comandos.
Su estructura general del funcionamiento se muestra a continuacin:

1.1.1. Servidor FTP: Es el computador al que nos queremos, donde deber estar instalado
y activo el servicio para aceptar sesiones FTP. Se compone de:

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

PI Servidor (Protocol Interpreter): escucha en el puerto 21 los comandos que


le enva el PI Cliente y controla al DTP Servidor.
DTP Servidor (Data Transfer Protocol): se utiliza para transmitir los datos entre
el servidor y el DTP Cliente. Puede estar en modo pasivo, a la espera de
conexiones en el puerto 20.
1.1.2. Cliente FTP: Es el computador desde el que nos conectamos al servidor FTP. Se
compone de:
Interfaz de usuario: aplicacin grfica (Filezilla) o comandos de alto nivel que
el usuario puede manejar ms fcilmente que los comandos FTP.
PI Cliente: inicia el control de la conexin con el servidor FTP a travs del
puerto 21, enva los comandos FTP traducidos por la interfaz del usuario al PI
Servidor, y controla el proceso DTP Cliente.
DTP Cliente: escucha el puerto de datos 20 aceptando conexiones para la
transferencia de ficheros.
1.1.3. Funcionamiento
El intrprete de protocolo del cliente inicia la conexin de control en el puerto 21.
Las rdenes FTP estndar las genera el PI del cliente y se transmiten al servidor a
travs de la conexin de control.
Las respuestas estndar a estas rdenes se envan desde el PI del servidor al PI del
cliente por el puerto 21.
Las rdenes FTP especifican parmetros para la conexin de datos (puerto, modo de
transferencia, tipo de representacin y estructura) y la naturaleza de la operacin
sobre el sistema de archivos (almacenar, enumerar, aadir, borrar, etc.).
El proceso de transferencia de datos (DTP) del cliente o cualquier otro proceso en su
lugar debe esperar a que el servidor inicie la conexin al puerto 20 para transferir
los datos en funcin de los parmetros especificados.
La comunicacin cliente-servidor es independiente del sistema de archivos utilizado
en cada computadora, de manera que no importa que sus sistemas operativos sean
distintos, porque las entidades que se comunican entre s son los PI y los DTP, que
usan el mismo protocolo estandarizado: el FTP.
La conexin de datos es bidireccional, es decir, se puede usar simultneamente para
enviar y recibir, y no tiene por qu existir todo el tiempo que dura la conexin FTP.

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

1.2. Tipos de acceso al servidor FTP


El acceso a un servidor FTP puede ser manejado de dos formas:
Cuenta annima
Cuenta autenticada o de usuario
En el modo annimo, los clientes remotos pueden accesar al servidor FTP usando la
cuenta por defecto llamada anonymous o ftp; e ingresar, de manera opcional, una
contrasea temporal que suele ser una direccin de correo electrnico.
En el modo autenticado, el usuario debe tener una cuenta y una contrasea. Este
modo permite establecer permisos y privilegios sobre los ficheros en el servidor pero
se torna inseguro debido a las caractersticas propias del protocolo. Por esta razn, si
se desea transferir archivos de forma segura se debe utilizar SFTP (Secure FTP).
El acceso del usuario a los directorios y archivos del servidor FTP depende de los
permisos definidos para la cuenta usada en el inicio de sesin. Como regla general, el
proceso FTP ocultar el directorio raz (root) del servidor FTP y lo cambiar al
directorio home. Esto impide el acceso al resto de los archivos del sistema por parte
de sesiones remotas.

1.3. Instalacin y configuracin del Servidor FTP


Para instalar el servicio FTP en el lado del servidor Ubuntu se debe ejecutar el
siguiente comando:
$ sudo apt-get install vsftpd

1.3.1. Configuracin de FTP para acceso annimo


Por defecto el servicio

vsftpd

no est configurado para permitir el acceso annimo.

Para habilitarlo se debe editar el archivo de configuracin v s f t p d . c o n f :


$ s u d o g e d i t / e t c / v s f t p d . c o n f cambiando la sentencia:
anonymous_enable=YES

Nota: El archivo vsftpd.conf consiste de muchos parmetros de configuracin. Para


conocer ms informacin sobre cada parmetro consulte el link [2] en la bibliografa.

Durante la instalacin el usuario FTP es creado con el directorio home por defecto en
/srv/ftp.

Para cambiar esta localizacin a

/srv/ejemplo/ftp

directorio y cambiamos el directorio home del usuario FTP as:

creamos dicho

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras
$ sudo mkdir /srv/ejemplo/ftp
$ sudo usermod -d /srv/ejemplo/ftp ftp

Despus de hacer este cambio reiniciamos el servicio:


$ sudo restart vsftpd

Finalmente, puede copiar cualquier archivo o directorio que quiera hacer disponible
a travs del acceso annimo a

/srv/ejemplo/ftp,

/srv/ftp

si desea usar el

directorio por defecto.


1.3.2. Configuracin de FTP para acceso de usuario
Por defecto el servicio

vsftpd

est configurado para autenticar a los usuarios del

sistema y permitirles descargar archivos. Para permitir que los usuarios puedan subir
archivos al servidor, cambie por `Y E S ` la siguiente sentencia del archivo
/etc/vsftpd.conf:
write_enable=YES

y reinicie el servicio.

Ahora, los usuarios del sistema iniciarn la sesin FTP en sus directorios home, donde
podrn descargar, subir, crear directorios y archivos, etc.
De manera similar, los usuarios annimos no estn habilitados para subir archivos al
servidor FTP. Para cambiar esta configuracin se debe des-comentar la siguiente lnea
y reiniciar el servicio v s f t p d :
annon_upload_enable=YES

1.3.3. Seguridad FTP


Existen parmetros en el archivo de configuracin

vsftpd.conf

que permiten

mejorar la seguridad del servicio. Por ejemplo, los usuarios pueden ser limitados a sus
directorios home si des-comentamos:
chroot_local_user=YES

Se puede realzar esta misma limitacin a una lista de usuarios especfica creando el
archivo

/etc/vsftpd.chroot_list

que contendr un usuario por lnea,

habilitando:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

Tambin, se puede deshabilitar el acceso al servicio FTP a ciertos usuarios,


aadindolos a la lista / e t c / f t p u s e r s .
Las transferencias FTP pueden ser encriptadas usando FTPS. Para habilitar esta opcin
se debe aadir la siguiente sentencia al final del archivo de configuracin:
ssl_enable=YES

Una vez reiniciado el servicio, los usuarios no-annimos sern obligados a usar FTPS.
Adicionalmente, se puede mejorar la seguridad al restringir la conexin a los puertos
de nuestro sistema que no se estn usando. Para lo cual debemos habilitar el
cortafuegos en nuestro servidor de la siguiente manera:
$ sudo ufw enable
$ sudo ufw default deny
$ sudo ufw logging on

Para permitir el trfico entrante desde mi red local:


$ sudo ufw allow from 192.168.25.0/24 proto tcp to any port ftp

Para confirmar el estado del cortafuegos:


$ sudo ufw status

1.4. Login o inicio de sesin en el Servidor con FTP


Para iniciar sesin FTP en nuestro servidor desde cualquier computador cliente en la
red, en nuestro caso cu15 al servidor su15, escribimos en el terminal lo siguiente:
$ ftp 192.168.25.1

e ingresamos las credenciales de nuestra cuenta

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

1.5. Comandos FTP


Son las rdenes o solicitudes enviadas por el cliente FTP al servidor. Se envan por el
puerto 21 como cadenas de caracteres que siguen las recomendaciones del
protocolo Telnet. La tabla a continuacin resume los comandos ms utilizados:
Comando y argumento
open servidor
close
bye o quit
status
!
? comando
? o help
cd directorio
lcd directorio
cdup
pwd
ls o dir
get archivo
mget archivos
put o send archivo
mput archivos
delete archivo
mdelete patrn
rename archivo
mkdir directorio
rmdir directorio
append archivo
hash
prompt
bin o binary
ascii
bell
glob
quote
user

Accin que realiza


Inicia una conexin con un servidor FTP
Finaliza una conexin FTP sin cerrar el programa cliente
Finaliza una conexin FTP y la sesin de trabajo con el programa cliente
Muestra el estado actual de la conexin.
Permite salir a lnea de comandos temporalmente sin cortar la conexin.
Para volver, teclear exit en la lnea de comandos.
Muestra la informacin relativa al comando.
Muestra una lista de los comandos disponibles.
Cambia el directorio de trabajo remoto.
Cambia el directorio de trabajo local.
Regresa al directorio padre del directorio de trabajo actual.
Muestra el directorio activo en el servidor.
Muestra el contenido del directorio en el servidor.
Obtiene un archivo
Obtiene mltiples archivos
Enva un archivo al directorio activo del servidor.
Enva mltiples archivos.
Borra un archivo en el servidor
Borra mltiples archivos basado en un patrn que se aplica al nombre.
Cambia el nombre a un archivo en el servidor.
Crea el directorio indicado de forma remota.
Elimina un directorio en el servidor si ese directorio est vaco.
Contina una descarga que se ha cortado previamente.
Activa la impresin de caracteres # a medida que se transfieren archivos,
a modo de barra de progreso.
Activa/desactiva la confirmacin por parte del usuario de la ejecucin de
comandos. Por ejemplo al borrar mltiples archivos.
Activa el modo de transferencia binario.
Activa el modo de transferencia en modo texto ASCII.
Activa/desactiva la reproduccin de un sonido cuando ha terminado
cualquier proceso de transferencia de archivos.
Activa/desactiva la visualizacin de nombres largos de nuestro PC
Con esta orden se pueden ejecutar comandos del servidor de forma
remota.
Cambiar nuestro nombre de usuario y contrasea sin necesidad de salir
de la sesin ftp.

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

1.6. Respuestas FTP


Por cada comando enviado desde el cliente, el servidor FTP llevar a cabo una accin
y enviar una respuesta, lo que permite garantizar la sincronizacin entre ambos.
Las respuestas estn compuestas por un cdigo de 3 dgitos que indica la manera en
la que el comando enviado por el cliente ha sido procesado. Adems, este cdigo va
acompaado de cadena de caracteres (Telnet) para facilitar su anlisis por parte del
usuario.
El primer digito indica el estado de la respuesta: exitosa, fallida o respuesta incompleta.
El segundo digito define la clase de respuesta.
El tercer digito proporciona detalles adicionales para cada categora definida por el
segundo dgito.

Dgito

Respuesta

1**

Positiva preliminar

2**

Finalizacin positiva

3**

Intermedia positiva

4**

Finalizacin negativa

5**

Negativa permanente

Primer Dgito
Descripcin
Accin en progreso. Espere una segunda respuesta antes de enviar
un nuevo comando.
Accin completada. Puede enviarse un nuevo comando.
Accin temporalmente suspendida. Se espera informacin adicional
del cliente.
Accin no realizada, el comando no se ha aceptado temporalmente.
Intente ms tarde.
Accin no realizada, comando no aceptado. Formule una solicitud
diferente.

Segundo Dgito
Dgito

Significado

*0*

Sintaxis

*1*
*2*

Informacin
Conexiones

*3*

Autenticacin

*4*
*5*

No definida
Sistema de archivos

Descripcin
La accin tiene un error de sintaxis o es un comando que el servidor
no comprende.
Respuesta que enva informacin (Ej.: respuesta a un comando STAT).
Se refiere al canal de datos.
Se refiere al inicio de sesin o a la solicitud para cambiar la cuenta
(CPT).
Se relaciona con el sistema de archivos remoto.

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

2. TELNET: TELECOMUNICATION NETWORK


Telnet es un protocolo de red estndar que permite interconectar computadores y
aplicaciones en Internet emulando una terminal remota. Proporciona reglas bsicas para
que vincular a un cliente con un intrprete de comandos del lado del servidor.
Funciona mediante una conexin TCP para enviar datos en formato ASCII, entre los cuales
se encuentran secuencias de verificacin Telnet. Brinda un sistema de comunicacin semidplex codificado en 8 bits y fcil de implementar, que se basa en tres conceptos bsicos:
El paradigma Terminal Virtual de Red (NVT)
El principio de opciones negociadas
Las reglas de negociacin
Otros protocolos del conjunto TCP/IP como FTP, SMTP, POP3, etc. estn basados en Telnet.
Sus especificaciones no mencionan autenticacin, porque est totalmente separado de las
aplicaciones que lo utilizan (FTP define una secuencia de autenticacin sobre Telnet).
Generalmente utiliza el puerto 23 y en UNIX, este servicio se brinda por medio del servicio
llamado telnetd.

2.1. La nocin de terminal virtual


Cuando surgi Internet, la red (ARPANET) estaba compuesta de equipos cuyas
configuraciones eran muy poco homogneas (teclados, juegos de caracteres,
resoluciones, longitud de las lneas visualizadas). Adems, las sesiones de los
terminales tambin tenan su propia manera de controlar el flujo de datos
entrante/saliente.
Por lo tanto, en lugar de crear adaptadores para cada tipo de terminal, para que
pudiera haber interoperabilidad entre estos sistemas, se decidi desarrollar una

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

interfaz estndar denominada NVT (Terminal Virtual de Red). As, se proporcion una
base de comunicacin estndar, compuesta de:
Caracteres ASCII de 7 bits, a los cuales se les agrega el cdigo ASCII extendido
Tres caracteres de control
Cinco caracteres de control opcionales
Un juego de seales de control bsicas
Por lo tanto, el protocolo Telnet consiste en crear una abstraccin del terminal que
permita a cualquier host (cliente o servidor) comunicarse con otro host sin conocer
sus caractersticas.

2.2. Instalacin del Servidor Telnet


Para instalar el servicio Telnet en el lado del servidor Ubuntu se debe ejecutar el
siguiente comando:
$ sudo apt-get install telnetd

2.3. Seguridad Telnet


La seguridad es uno de los principales problemas en este protocolo, debido a que los
datos que transmite circulan en la red como texto plano y pueden ser capturados
fcilmente por terceros. Pero podemos implementar un grado de seguridad en
nuestro servidor Ubuntu, habilitando el cortafuegos del sistema y permitiendo el
trfico entrante slo al puerto 23, al ejecutar a siguiente sentencia:
$

sudo

ufw

allow

from

192.168. 25.0/24

proto

tcp

to

any

port

telnet

Para confirmar el estado del cortafuegos:


$ sudo ufw status

2.4. Login o inicio de sesin en el Servidor con Telnet


Aunque Telnet se proporcione con varias plataformas como Windows y Unix, el
comando para iniciar una sesin es el mismo, y se puede ejecutar conociendo:
$ telnet nombre

el nombre del servidor

$ telnet 192.168.25.1

la direccin IP

o telnet 192.168.25.1 8080

IP y el # de puerto

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

De esta manera, podemos iniciar una sesin Telnet en nuestro servidor desde
cualquier computador cliente en la red, en nuestro caso cu15 al servidor su15,
llamando al servicio e ingresando las credenciales de nuestra cuenta, de esta manera:

2.5. Comandos en Telnet


Una vez conectado al equipo remoto, se le solicitar que introduzca un nombre de
usuario y una contrasea. El administrador de red define los comandos que se
pueden ejecutar en una sesin Telnet.
Una caracterstica de este protocolo es que permite la ejecucin de comandos en
forma remota. Los comandos estndar son:
Comando
?
close
display
entorno
logout
mode
open
quit
set
unset

Descripcin
Mostrar ayuda
Cerrar sesin Telnet
Mostrar la configuracin de la conexin en pantalla
Definir las variables del entorno del sistema operativo
Cerrar la sesin
Cambia entre los modos de transferencia: ASCII y binario
Abre otra conexin de la actual
Sale de la aplicacin Telnet
Cambia la configuracin de conexin
Carga la configuracin de conexin predeterminada

Facultad de Ciencia y Tecnologa


Escuela de Ingeniera Electrnica
Comunicaciones de Datos y
Redes de Computadoras

3. FUENTES DE INFORMACIN

[1] https://help.ubuntu.com/lts/serverguide/ftp-server.html

[2] http://manpages.ubuntu.com/manpages/trusty/en/man5/vsftpd.conf.5.html

[3] http://tools.ietf.org/html/rfc959

[4] http://es.kioskea.net/contents/283-protocolo-telnet

[5] http://www.utez.edu.mx/curriculas/itess2_ES/ITE2_v30_es/PDF/lab10_4_5.pdf