Practica 5 Telnet y Ftp
-
Upload
leandro-navarro-rojas -
Category
Documents
-
view
215 -
download
0
Transcript of Practica 5 Telnet y Ftp
-
Prctica 5
Acceso remoto 1: Telnet y Ftp Las primeras computadoras eran extremadamente caras y deban ser compartidas por muchosusuarios a la vez para justificar su uso. En esta situacin cada usuario usaba un terminal " tonto" (conpoca potencia de clculo) para conectarse al host principal "el mainframe". Para que los usuariospudieran usar los recursos del host principal se escribieron una serie de aplicaciones de red queperduran hasta nuestros das. De estos programas, los ms interesantes son Telnet y Ftp.
5.1 Telnet Telnet es una aplicacin cliente-servidor que se utiliza para el acceso remoto a un host. El servidor seejecuta en el host remoto y el cliente en el local. De esta forma podemos acceder a los recursos de lacomputadora remota a travs de un shell, igual que si estuviramos sentados frente a un tecladodirectamente conectado al host remoto.
5.1.1 La interaccin cliente-servidor
Telnet utiliza el protocolo TCP para transmitir, carcter a carcter, hasta el host remoto cada una delas teclas que pulsamos en el teclado del host cliente. De hecho, Telnet es (aparte de una conexincon un shell en el host remoto) una aplicacin bsica de eco (echo en ingls). Cada vez que pulsamosuna tecla el cliente la transmite hasta el servidor y ste nos la devuelve. As el usuario comprueba si haexistido algn error.
Como hemos dicho, para llevar a cabo estas comunicaciones Telnet utiliza el TCP. Esto significa quetodas las comunicaciones estn virtualmente libres de errores de transmisin gracias al sistema deretransmisin automtica de paquetes que el TCP implementa.1
5.1.2 Utilizando Telnet
Para usar Telnet simplemente invocamos al cliente desde la lnea de comandos y escribimos acontinuacin el nombre del host al que queremos conectarnos:
usuario$telnet
# Nota: los no pertenecen a la direccin del host
Adems, Telnet puede ser utilizado tambin para acceder a un servidor distinto de telnetd. Porejemplo, podemos utilizar un cliente Telnet cuando deseemos comprobar el funcionamiento de unservidor SMTP que escucha en el puerto 25. Para seleccionar dicho servicio invocaremos a (el cliente)telnet de la siguiente forma:
usuario$telnet25
5.1.3 Acerca de la seguridad en las comunicaciones
Un aspecto importante a tener en cuenta a la hora de utilizar Telnet es que todas las transmisionescirculan por la red en texto plano, sin ningn tipo de cifrado. Y esto es cierto incluso para latransmisin del nombredeusuario y del password cuando accedemos a la computadora remota.Por este motivo, Telnet slo debera ser utilizado en aquellos contextos donde se est seguro queeste hecho no va a ser un problema.
En la prctica existen pocas situaciones donde el uso de Telnet sea seguro: (1) cuando accedemoslocalmente a nuestro host y (2) cuando accedemos a un host remoto y la red garantiza que nadiepuede estar haciendo sniffing. Por desgracia, esto ltimo fuera de una red local cableada esbastante complicado de asegurar.
1 Por tanto, si vemos que existe un error en algn comando que hayamos escrito, muy probablemente se tratede un error de mecanografa.
Pg. 1 de 5
-
Taller 5.1: Usando el programa Telnet que viene con el sistema operativo Windowsintente hacer Telnet a un servidor que conozca. El programa Telnet puede ser invocadodesde el intrprete de comandos del MS-DOS a travs del comando telnet.
5.1.4 Instalacin del cliente
Debian Linux: Instalamos el paquete Linux NetKit2 .
root#aptgetinstalltelnet
Fedora Core Linux: Instalamos el paquete Linux NetKit.
root#yuminstalltelnet
Gentoo Linux: Instalamos el paquete OpenBSD3.
root#emergetelnetbsd
Taller 5.2: Instale un cliente Telnet. Intente acceder a un host que conozca usando elservicio Telnet desde el PC virtual.
5.1.5 Instalacin del servidor
Debian Linux:
root#aptgetinstalltelnetd
Fedora Core Linux:
root#yuminstalltelnetserver
Gentoo Linux:
root#emergetelnetbsdxinetd
5.1.6. Configuracin del servidor
Debian Linux: No hay que hacer nada.
Fedora Core Linux: Hay que editar el fichero /etc/xinetd.d/telnetd y comprobar que elservidor de Telnet no est "disabled". A continuacin reiniciar el servicio xinetd (vase el ApndiceC).
Gentoo Linux: Hay que editar el fichero /etc/xinetd.d/telnetd y comprobar que el servidor deTelnet no est "disabled". A continuacin reiniciar el servicio xinetd (vase el Apndice C).
Taller 5.3: Instale un servidor Telnet. Intente acceder al host virtual. No utilice el usuarioroot porque en muchos casos, por motivos de seguridad, el demonio Telnet estconfigurado para negar el acceso al administrador. Intente el acceso desde:
1. El PC virtual (Linux).
2. El PC husped (Windows).
5.1.7 Activacin y desactivacin del servicio
El demonio Telnet es un sub-demonio y por tanto, su activacin y desactivacin no es trivial. Esto esexactamente lo que hay que hacer:
2 http://www.hcs.harvard.edu/ dholland/computers/netkit.html 3 ftp://ftp.suse.com/pub/people/kukuk/ipv6/
Pg. 2 de 5
-
Debian Linux: # Activacin definitiva
root#updateinetdenabletelnet
# Desactivacin definitiva
root#updateinetddisabletelnet
Fedora Core Linux: El demonio que controla Telnet se llama xinetd. Para activar y desactivarTelnet hay que modificar el fichero de configuracin y reiniciar el demonio.
Gentoo Linux: El demonio que controla Telnet se llama xinetd. Para activar y desactivar Telnet hayque modificar el fichero de configuracin y reiniciar el demonio.
Taller 5.4: Compruebe que activando y desactivando el servidor Telnet, el servicio sereanuda o deja de prestarse.
5.2 Ftp (File Transfer Program) Ftp es, junto con Telnet, uno de esos programas que aparecieron en las primeras redes decomputadoras. Si Telnet permite acceder de forma remota a un host, Ftp se utiliza para transmitirficheros entre hosts remotos.
Ftp es una sistema que consta de un servidor y de un cliente. El usuario ejecuta el cliente de la forma:
usuario$ftp
usuario$ftp
El servidor Ftp solicita un login y un password correctos y cuando dicha informacin ha sidoenviada (sin cifrar), el cliente ejecuta un intrprete sencillo de rdenes que permiten mover ficherosentre nuestro host y el remoto.
5.2.1 Instalacin del cliente
Existen muchos clientes Ftp. El que nosotros vamos a instalar se llama ftp y pertenece al paqueteLinuxNetKit:4
Debian Linux:
root#aptgetinstallftp
Fedora Core Linux:
root#yuminstallftp
Gentoo Linux:
root#emergeftp
Taller 5.5: Instale un cliente Ftp.
5.2.2 Comandos Ftp ms usuales
A continuacin presentamos una lista de los principales comandos que acepta el cliente:
pwd Imprimir el directorio actual.
ls Mostrar el contenido del directorio remoto.
cd Nos permite cambiar de directorio.
get Transfiere un fichero desde el host remoto al host local.
4 http://www.hcs.harvard.edu/ dholland/computers/netkit.html
Pg. 3 de 5
-
put Transfiere un fichero desde el host local al host remoto.
! Ejecuta un comando en un shell del cliente.
quit Cierra el intrprete del Ftp.
Si se desea conocer el resto de comandos que el cliente Ftp acepta, escriba help en el shell delcliente Ftp.
Taller 5.6: Conctese a un servidor Ftp que conozca desde el PC virtual y transfiera algnarchivo. Haga lo mismo desde el host husped (Windows).
5.2.3 Instalacin del servidor
Tambin existen mltiples servidores Ftp. El que nosotros vamos a instalar se llama vsftpd:5
Debian Linux:
root#aptgetinstallvsftpd
Gentoo Linux:
root#emergevsftpd
5.2.4 Configuracin del servidor
En el vsftpd, por defecto slo tiene acceso el usuario anonymous. Para habilitar el acceso a todoslos usuarios del sistema es necesario descomentar la lnea localenable=YES. Adems, siqueremos habilitar la escritura en los homes de los usuarios, hay que descomentar la lnea writeenable=YES.
Debian Linux: El fichero de configuracin es /etc/vsftpd.conf. Excepto lo indicadoanteriormente no hay que realizar nada extra.
#Editarelficheroysalvarlo
root#vi/etc/vsftpd.conf
Fedora Core Linux: Si se desea que los usuarios tengan acceso a su homes en la mquina remotahay deshabilitar selinux modificando el fichero /etc/selinux/config. Esto puede hacerse conel comando:
root#/usr/sbin/setseboolPftp_home_dir1
Gentoo Linux: Es necesario crear un fichero de configuracin. Por suerte, la que viene en el fichero/etc/vsftpd/vsftpd.conf.example es suficiente para la mayora de los servicios mscomunes:
root#cp/etc/vsftpd/vsftpd.conf.example/etc/vsftpd/vsftpd.conf
5.2.5 Activacin y desactivacin del servicio
El demonio que hemos instalado se activa y desactiva de forma estndar. Vase el Apndice C parasaber cmo hacer esto.
Taller 5.7:
1. Instale un servidor Ftp en un PC virtual y configrelo para que los usuarios puedanescribir en sus homes.
2. Acceda desde el host husped (Windows) a su cuenta de usuario en el host virtual ytransfiera algn fichero. Esto puede hacerse invocando desde el intrprete decomandos del MS-DOS al programa ftp. Pruebe a hacer lo mismo desde el PC virtual.
5 http://vsftpd.beasts.org/
Pg. 4 de 5
-
3. Compruebe que activando y desactivando el servidor, el servicio se reanuda o deja deprestarse.
Cuestiones de evaluacin 1. Describa brevemente para qu se utilizan los programas Telnet y Ftp.
2. Usando Wireshark (vase el Apndice F) disee un time-line que muestre una interaccin realentre un cliente y un servidor Telnet suponiendo que el usario slo ejecuta el comando exituna vez que ha accedido al servidor remoto. Muestre slo los paquetes generados por elprotocolo Telnet que dependen de la sesin (los generados cuando introducimos nuestro loginy nuestro password6 , y los que resultan de ejecutar el comando exit). En cada paquetetransmitido indique el contenido del payload (la parte del paquete que es generada en laparte ms alta de la pila de protocolos) y el instante en el que es capturado por el sniffer.
3. En la aplicacin Ftp, qu diferencias hay entre transmitir los ficheros en formato binario y enformato ASCII? Investigue en Internet.
4. Actualmente es imposible realizar Telnet o Ftp a un ordenador de la Universidad de Almeradesde el resto de Internet, si estos servicios estn siendo ofrecidos en los puertos estndar(vase el fichero /etc/services).7 Por qu esto es as? Sabiendo que, por ejemplo, eltrfico Web s est permitido, podra instalarse un servidor Telnet en el puerto 80 (el puertousado por los servidores Web) y conectarnos a l desde fuera de la Universidad? Razone surespuesta. Indique en este ltimo caso qu otro servicio necesariamente no podra ofrecerseen el host que tiene el servidor Telnet escuchando en el puerto 80.
6 Altere el login y el password para no revelarlos ...7 Sin usar el redireccionamiento de puertos mediante la aplicacin SSH
Pg. 5 de 5