1. Telnet
1.1 Funcionamiento
Un escritorio remoto es una tecnología que permite al usuario trabajar en una computadora a través de su escritorio gráfico desde otro terminal ubicado en otro lugar.
Es un servicio que permite el manejo remoto de los recursos de un computador multiusuario, como si estuviéramos sentados delante de él. Es necesario estar dado de alta como usuario en el sistema al que se conecta, tener un nombre de usuario y una contraseña.
Los privilegios que tiene un usuario en un computador los seguirá teniendo cuando se conecta en modo remoto a través de Telnet. También permite manejar aplicaciones de forma remota sin tener que estar registrado como usuario.
Problemas de Telnet: La autenticación de usuarios viaja en claro por la red y el cliente no verifica la identidad del servidor.
1.2 Elementos básicos de Telnet
- Protocolo de comunicaciones: Elemento característico de cualquier implementación de escritorio remoto. Este varía dependiendo del programa que se use: ICA, RDP, AIP, VNC, X11.
- Comunicación: Para el desarrollo correcto del escritorio remoto debe cumplir:
- Latencia: Retardo de las comunicaciones. Este es más importante que el ancho de banda.
- Balanceo de funcionalidad entre cliente-servidor.
- Representación gráfica: Tipo de visualización del escritorio remoto. 4 posibilidades: gráficos de alto nivel, gráficos de bajo nivel, primitivas de dibujo en 2D, píxeles en bruto.
- Compresión de los datos relativos a las actualizaciones de la pantalla.
- Sincronización.
1.3 Programas
- MetaFrame (Citrix)
- Terminal Services (Microsoft)
- AppliDis (Systancia)
- Sun Ray (Sun Microsystem)
1.3.1 Cliente Telnet
Cuando establecemos una conexión remota con un computador, el cliente Telnet proporciona una ventana con las mismas características que las de un terminal conectado al computador remoto, convirtiendo a nuestro computador en un terminal no inteligente.
- El único proceso que consume algo de tiempo es la conexión inicial, sin que tengamos información del progreso en esta conexión.
- Si no se produce un intercambio de información entre el terminal emulado y el equipo remoto en X tiempo, se produce una desconexión automática.
- Los tiempos de espera en cualquier servicio Telnet no son comparables con los que se producen en consultas de páginas HTML.
El cliente Telnet nos permitirá:
- Conectar a cualquier equipo remoto que acepte el terminal que estemos emulando.
- Utilizar el equipo remoto o la aplicación remota para generar información, la cual se mostrará a través de una ventana de nuestro computador.
- Poder capturar toda o parte de esa información de forma automática en un fichero de sesión o de forma manual.
2. SSH
Es un protocolo que facilita las comunicaciones seguras entre dos sistemas, con arquitectura cliente/servidor. Permite a los usuarios conectarse a un host de forma remota. A diferencia de FTP o Telnet, SSH encripta la sesión de conexión haciendo imposible que alguien pueda obtener contraseñas en texto plano.
Sirve para acceder a máquinas remotas a través de una red.
Nos permite copiar datos de forma segura, gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro mediante SSH.
Se usa SSH porque estas amenazas se pueden reducir de forma considerable:
- Interceptación de la comunicación entre dos sistemas (Sniffer).
- Personificación de un determinado host (técnicas como envenenamiento de DNS o spoofing de IP).
Esto se debe a que el cliente SSH y el servidor usan firmas digitales para verificar su identidad. Toda la comunicación entre los sistemas cliente y servidor está encriptada.
2.1 Características
- Después de la conexión inicial, el cliente puede verificar que está conectado al mismo servidor al que conectó anteriormente.
- El cliente envía su información de autenticación al servidor usando encriptación de 128 bits.
- Todos los datos enviados y recibidos durante la sesión se transfieren por medio de encriptación de 128 bits, lo que los hace difíciles de descifrar y leer.
- El cliente puede reenviar aplicaciones X11 desde el servidor.
- Se puede usar para asegurar protocolos inseguros mediante el uso de reenvío por puerto, como por ejemplo POP.
2.2 Funcionamiento
- Autentica a los dos extremos de la conexión:
- El servidor se autentica ante el cliente con un certificado.
- El cliente se autentica ante el servidor (usuario y contraseña, certificados).
- Encripta los datos intercambiados:
- No se transmiten usuarios ni contraseñas en claro.
- La información transmitida viaja encriptada.
- El cliente y el servidor llegarán a un acuerdo sobre una clave única para cada sesión sin transmitir esta clave en ningún momento sobre la red.
- Cada servidor dispone de una clave que le permite autenticarse ante el cliente.
- El cliente puede comprobar esta clave contra una base de datos local relacionando IPs y claves.
- El cliente puede recurrir a una tercera entidad para comprobar la validez del certificado.
- Esta clave no se usa para proteger la sesión, solo para identificar a las partes.
- El proceso de autenticación se basa en la presencia de un transporte seguro establecido previamente.
3. VNC
VNC es un programa de software libre basado en una estructura cliente-servidor que permite tomar el control del ordenador servidor remotamente a través de un ordenador cliente. También se denomina software de escritorio remoto. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente.
En la enseñanza, VNC sirve para que el profesor comparta su pantalla con los alumnos, por ejemplo, en un laboratorio. También puede usarse para que un técnico ayude a un usuario inexperto; el técnico ve remotamente el problema del que informa el usuario.
El programa servidor suele tener la opción de funcionar como servidor HTTP para mostrar la pantalla compartida en un navegador con Java. En este caso, el usuario remoto (cliente) no tiene que instalar un programa cliente de VNC, sino que es descargado por el navegador automáticamente.
VNC, por defecto, usa el puerto TCP 5900+N, donde N es el número de la pantalla (por lo general: 0 para una pantalla física).
4. Correo electrónico
4.1 Estructura de un mensaje de correo electrónico
Está formado por:
- Cabecera: Permite al usuario saber quién le envió el mensaje, cómo fue enviado y cuándo. Está formada por los siguientes campos:
- Nombre y dirección del usuario que envía el mensaje (FROM).
- Nombre y dirección del usuario que recibirá el mensaje (TO).
- Nombre y dirección de las copias del mensaje (CC).
- Fecha y hora del mensaje (en ocasiones).
- Tema o asunto del mensaje.
- Cuerpo: Es el contenido del mensaje. Puede ser texto o un fichero asociado. Se divide en:
- Cuerpo del mensaje: Contenido del correo. Se encuentra la información que se intercambia entre el remitente y el destinatario.
- Encabezados del mensaje: Información precedente al cuerpo. Enuncia los datos del remitente, los lugares por donde ha ido pasando el correo, programas, etc.
- Envoltura del mensaje: «Sobre» del mensaje. Información del destinatario, usada por las máquinas para hacer llegar el correo.
4.2 Arquitectura del sistema de correo electrónico
Está compuesta por:
- Agentes de usuario (AU): Son los clientes en los ordenadores personales. Son los encargados de gestionar el correo. Pueden tener una interfaz gráfica o de texto. Su principal función es interactuar con el MTA, entregándoles los mensajes que el usuario quiere enviar para que estos sean enviados a su destino. También se encarga de aceptar los correos que le llegan al usuario. Los tipos de programas usados por los usuarios permiten configurar las direcciones de los servidores SMTP para el envío del correo y de los POP3 para la recogida de mensajes. También incorporan un cliente IMAP.
- Agentes de transferencia de mensajes (MTA): Son los servidores de correo. Su función es:
- Dirigir el mensaje a su destino final utilizando el protocolo SMTP.
- Mantener los buzones de los usuarios.
Para poder leer el correo existen tres protocolos:
- POP3 e IMAP, si tienen los programas apropiados.
- HTTP, si es webmail.
Algunos de los programas utilizados pueden ser los basados en UNIX (Sendmail, Postfix) o en Windows (Exchange).
4.3 Funcionamiento del correo electrónico
Intervienen tres protocolos: SMTP, formato de mensajes y MIME.
El primer paso para enviar el mensaje es comunicarse con el servidor de correo, siguiendo los pasos indicados por SMTP, con lo que queda reflejada la dirección IP del host origen del servidor y la dirección del destino ha de ser la correcta, ya que la dirección de envío del remitente no es verificada. Una vez se ha establecido la comunicación, ya solo queda crear los encabezados y el cuerpo del mensaje. Esto lo realiza el agente de usuario, que se encarga de:
- Poner las cabeceras correspondientes, haciendo coincidir, si no se especifica otra cosa.
- Dar el formato correspondiente al texto del mensaje y al contenido del mismo.
Una vez se ha entregado el mensaje al servidor SMTP, este pondrá una cabecera Message-ID
y otra Received
al principio del mismo y se lo entregará a otro servidor.
El segundo servidor SMTP comprueba la dirección para redirigir el mensaje a su destino y añade una cabecera Received
encima de la anterior.
Esto se repetirá hasta que el mensaje llegue a su destino.
5. Protocolos: SMTP, POP, IMAP
5.1 Protocolo SMTP
Protocolo Simple de Transmisión de Correo (SMTP). Es un protocolo independiente del subsistema de transmisión usado. Necesita que el subsistema de transmisión ponga a su disposición un canal de transmisión fiable y con entrega ordenada, con lo cual el uso del protocolo TCP es lo más adecuado. Para que los sistemas intercambien correo con SMTP no es necesario que haya una conexión interactiva.
Para que un sistema servidor envíe mensajes (SMTP), el sistema emisor establece una conexión con el sistema receptor. Conexión unidireccional. Una vez establecida la conexión, el sistema emisor envía comandos y mensajes. Si el sistema receptor ha recibido un mensaje cuyo destino es otro, este establece una conexión con un tercer servidor SMTP y así sucesivamente hasta que los mensajes lleguen a su destino. Si los mensajes son destinados a él, los distribuye entre los buzones del sistema.
5.2 Protocolo POP
Es un protocolo para recuperar correo electrónico. Controla la conexión entre un cliente de correo electrónico POP3 y un servidor donde se almacena el correo electrónico. Trabaja en modo local.
Tiene tres estados:
- Autenticación: El cliente de POP3 que está conectado al servidor deberá autenticarse para que los usuarios puedan recuperar su correo electrónico. El usuario se autenticará y se pasará al estado de transacción.
- Transacción: El cliente envía comandos POP3 que el servidor recibe y responde de acuerdo con el protocolo POP3.
- Actualización: Cierra la conexión entre el cliente y el servidor. Este es el último comando que transmite el cliente.
5.3 Protocolo IMAP
Usado en redes grandes. Permite a los usuarios acceder a los nuevos mensajes instantáneamente en sus computadoras, ya que el correo se almacena en la red. Con POP3, los usuarios tendrían que descargar el correo electrónico a sus computadoras o acceder a él vía web. Trabaja en Internet.
Diferencias/ventajas respecto a POP:
- Respaldo para los modos de operación en línea y fuera de línea.
- Respaldo para la conexión de múltiples clientes simultáneos a un mismo destinatario.
- Respaldo para acceso a partes MIME de los mensajes y obtención parcial.
- Respaldo para que la información de estado del mensaje se mantenga en el servidor.
- Respaldo para accesos múltiples a los buzones de correo en el servidor.
- Respaldo para búsquedas de parte del servidor.
- Respaldo para un mecanismo de extensión definido.
6. Formato de los mensajes de Internet
Consta de un encabezado y un núcleo del mensaje.
Ejemplo: nombre_de_campo: cuerpo_de_campo\r\n