0.1 Telnet y Ftp

Las primeras computadoras eran extremadamente caras y deb’ian ser compartidas por muchos usuarios a la vez para justificar su construcci’on. En esta situaci’on cada usuario usaba un terminal “tonto” (con poca potencia de c’alculo) para conectarse al host principal, “el mainframe”. Para que los usuarios pudieran usar los recursos del host principal se escribieron una serie de aplicaciones de red que perduran hasta nuestros d’ias. De estos programas, los m’as interesantes son Telnet y Ftp

0.1.1 Telnet

Telnet es una aplicacin cliente-servidor que se utiliza para el acceso remoto a un host. El servidor se ejecuta en el host remoto y el cliente en el local. De esta forma podemos acceder a los recursos de la computadora remota a travs de un shell, igual que si estuviramos sentados frente a un teclado directamente conectado al host remoto.

La interaccin cliente-servidor Telnet utiliza el protocolo TCP para transmitir, carcter a carcter, hasta el host remoto cada una de las teclas que pulsamos en el teclado del host cliente. De hecho, Telnet es (aparte de una conexin con un shell en el host remoto) una aplicacin bsica de eco (echo en ingls). Cada vez que pulsamos una tecla el cliente la transmite hasta el servidor y ste nos la devuelve. As el usuario comprueba si ha existido algn error.

Como hemos dicho, para llevar a cabo estas comunicaciones Telnet utiliza el TCP. Esto significa que todas las comunicaciones estn virtualmente libres de errores de transmisin gracias al sistema de retransmisin automtica de paquetes que el TCP implementa.1

Utilizando Telnet Para usar Telnet simplemente invocamos al cliente desde la lnea de comandos y escibimos a continuacin el nombre del host al que queremos conectarnos:

usuario$ telnet <host_remoto>  
# Nota: los <> no pertenecen a la direccin del host

Adems, Telnet puede ser utilizado tambin para acceder a un servidor distinto de telnetd. Por ejemplo, podemos utilizar un cliente Telnet cuando deseemos comprobar el funcionamiento de un servidor SMTP que escucha en el puerto 25. Para seleccionar dicho servicio invocaremos a (el cliente) telnet de la siguiente forma:

usuario$ telnet <servidor_SMTP> 25

Acerca de la seguridad en las comunicaciones Un aspecto importante a tener en cuenta a la hora de utilizar Telnet es que todas las transmisiones circulan por la red en texto plano, sin ningn tipo de cifrado. Y sto es cierto incluso para la transmisin del nombre de usuario y del password cuando accedemos a la computadora remota. Por este motivo, Telnet slo debera ser utilizado en aquellos contextos donde se est seguro que este hecho no va a ser un problema.

En la prctica existen pocas situaciones donde el uso de Telnet sea seguro: (1) cuando accedemos localmente a nuestro host y (2) cuando usemos un canal cifrado, usando por ejemplo, SSH.

Instalacin del cliente

Debian Linux:
Instalamos el paquete Linux NetKit (http://www.hcs.harvard.edu/\~{}dholland/computers/netkit.html).
root# apt-get install telnet

Fedora Core Linux:
Instalamos el paquete Linux NetKit.
root# yum install telnet

Gentoo Linux:
Instalamos el paquete OpenBSD (ftp://ftp.suse.com/pub/people/kukuk/ipv6/).
root# emerge telnet-bsd

Instalacin del servidor

Debian Linux:
 
root# apt-get install telnetd

Fedora Core Linux:
 
root# yum install telnet-server

Gentoo Linux:
 
root# emerge telnet-bsd xinetd

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 el servidor de Telnet no est “disabled”. A continuacin reiniciar el servicio xinetd (vase el Apndice ??).
Gentoo Linux:
Hay que editar el fichero /etc/xinetd.d/telnetd y comprobar que el servidor de Telnet no est “disabled”. A continuacin reiniciar el servicio xinetd (vase el Apndice ??).

Activacin y desactivacin del servicio Cuando deseamos que el demonio quede activado o desactivado de forma definitiva (aunque apaguemos y encendamos la mquina) hay que modificar los correspondientes scripts de arranque.

El demonio Telnet es un sub-demonio y por tanto, su activacin y desactivacin no es trivial. Esto es exctamente lo que hay que hacer:

Debian Linux:
# Activacin definitiva  
root# update-inetd --enable telnet  
 
# Desactivacin definitiva  
root# update-inetd --disable telnet

Fedora Core Linux:
El demonio que controla Telnet se llama xinetd. Para activar y desactivar Telnet 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 hay que modificar el fichero de configuracin y reiniciar el demonio.

0.1.2 Ftp (File Transfer Program)

Ftp es, junto con Telnet, uno de esos programas que aparecieron en las primeras redes de computadoras. Si Telnet permite acceder de forma remota a un host, Ftp se utiliza para transmitir ficheros entre hosts remotos.

Ftp es un sistema que consta de un servidor y de un cliente. El usuario ejecuta el cliente de la forma:

usuario$ ftp <host_remoto>

El servidor Ftp solicita un login y un password correctos y cuando dicha informacin ha sido enviada (sin cifrar), el cliente ejecuta un intrprete sencillo de rdenes que permiten mover ficheros entre nuestro host y el remoto.

Instalacin del cliente Existen muchos clientes Ftp. El que nosotros vamos a instalar se llama ftp y pertenece al paquete Linux NetKit (http://www.hcs.harvard.edu/\~{}dholland/computers/netkit.html):

Debian Linux:
 
root# apt-get install ftp

Fedora Core Linux:
 
root# yum install ftp

Gentoo Linux:
 
root# emerge ftp

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 <directorio>:
Nos permite cambiar de directorio.
get <fichero>:
Transfiere un fichero desde el host remoto al host local.
put <fichero>:
Transfiere un fichero desde el host local al host remoto.
!<comando local>:
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 del cliente Ftp.

Instalacin del servidor Tambin existen mltiples servidores Ftp. El que nosotros vamos a instalar se llama vsftpd (http://vsftpd.beasts.org/):

Debian Linux:
 
root# apt-get install vsftpd

Fedora Core Linux:
 
root# yum install vsftpd

Gentoo Linux:
 
root# emerge vsftpd

Configuracin del servidor En el vsftpd, por defecto, slo tiene acceso el usuario anonymous. Para habilitar el acceso a todos los usuarios del sistema es necesario descomentar la lnea local_enable=YES. Adems, si queremos habilitar la escritura en los home’s de los usuarios, hay que descomentar la lnea write_enable=YES. No olvide reiniciar el servicio si ha modificado algn parmetro en el fichero de configuracin (vase el Apndice ??).

Debian Linux:
El fichero de configuracin es /etc/vsftpd.conf. Excepto lo indicado anteriormente no hay que realizar nada extra.
# Editar el fichero y salvarlo  
root# vi /etc/vsftpd.conf

Fedora Core Linux:
Si se desea que los usuarios tengan acceso a su home’s en la mquina remota hay deshabilitar selinux modificando el fichero /etc/selinux/config. Esto puede hacerse con el comando:
root# /usr/sbin/setsebool -P ftp_home_dir 1

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 ms comunes:
root# cp /etc/vsftpd/vsftpd.conf.example /etc/vsftpd/vsftpd.conf

Activacin y desactivacin del servicio El demonio que hemos instalado se activa y desactiva de forma estndar. Vase el Apndice ?? para saber cmo hacer esto.