redes

24
Integrantes: Flor Cuenca Byron Figueroa Cesar Pesantez Michele Ramón Universidad Técnica Particular de Loja Redes y Sistemas Distribuidos Comparación entre Telnet y SSH

Upload: flor-cuenca

Post on 29-Jun-2015

1.376 views

Category:

Education


0 download

DESCRIPTION

Comparación de cabeceras de Telnet y SSH...

TRANSCRIPT

Page 1: Redes

Integrantes: Flor Cuenca Byron Figueroa Cesar Pesantez Michele Ramón

Universidad Técnica Particular de Loja

Redes y Sistemas DistribuidosComparación entre Telnet y SSH

Page 2: Redes

*Agenda

*Introducción

*Telnet

*SSH

*Cabeceras

*Telnet y SSH

*Prototipo

*Conclusiones

Page 3: Redes

*Introducción

*Consiste en utilizar los servidores SSH y TELNET, para realizar una comparación entre las cabeceras de los mismos servidores, para esto vamos a trabajar con el IDE Netbeans de Java, y vamos a utilizar sokets.

*Para el desarrollo de la aplicación antes mencionada hemos considerado dos puntos importantes como lo es el diseño y la codificación.

*AL hablar de diseño abarca toda la interfaz gráfica que la aplicación contendrá dentro de ella, así mismo tenemos la parte de código, donde se programa la aplicación para que ejecute lo antes mencionado.

Page 4: Redes

*Como conocemos hoy en día es muy común escuchar o trabajar con sistemas multiusuario, en donde se pueden ejecutar diferentes tareas (transferencias de archivos, correos, etc.), para lo cual ayudados de un protocolo adecuado podemos efectuar dichas actividades de mejor manera.

*Es por ello que para el presente proyecto se va a hacer una comparación entre las cabeceras de dos protocolos de gran interés como lo son: TELNET y SSH.

Page 5: Redes

*Telnet

* Uno de los servicios básicos para los que se puede utilizar una red de comunicaciones entre computadores es el acceso por medio de un terminal.

* Este protocolo se basa en el protocolo de transporte TCP.

* En una comunicación Telnet, por norma general se sigue el modelo cliente/servidor; es decir, el sistema usuario establece una conexión con el sistema proveedor, que está esperando peticiones de conexión en un puerto determinado.

* Se puede utilizar cualquier número de puerto para las conexiones y, de hecho, existen muchas aplicaciones que utilizan el protocolo Telnet para la comunicación, cada una con su propio número.

* La aplicación básica, sin embargo, consiste en establecer una sesión de trabajo interactiva con el sistema servidor y, en este caso, el número de puerto utilizado es el 23.

Page 6: Redes

*Cuando se establece la conexión entre el cliente y el servidor, en un inicio se supone que la comunicación se produce entre dos terminales virtuales (NVT).

*Lo que significa que tanto el sistema cliente como el sistema servidor deben mapear sus características en las de un NVT y suponer que en el otro extremo de la conexión hay otro NVT.

*En el modo de operación normal, cada terminal acepta datos del usuario y los envía por medio de la conexión establecida en el otro terminal, así como acepta los datos que llegan por la conexión y se los presenta al usuario.

Page 7: Redes

* La negociación consiste en intercambiar códigos que indican las opciones del protocolo que cada parte desea o está dispuesta a utilizar.

* Cuatro son los códigos que se utilizan para implementar la negociación:

 

* DO: es una petición que se envía para pedir que se utilice una determinada opción.

* WILL: es un ofrecimiento que se envía para indicar que el sistema está preparado para utilizar una determinada opción.

* DON’T: significa que el sistema no quiere que se utilice la opción indicada.

* WON’T: significa que el sistema no está preparado para utilizar la opción indicada.

Page 8: Redes

*Implementación del Protocolo Telnet* Hay implementaciones de servidores Telnet prácticamente en todos

los sistemas multiusuario que utilizan el protocolo TCP.

* Un ejemplo de implementación de cliente Telnet es la utilidad del sistema operativo GNU/Linux denominada precisamente telnet.

* Si se llama sin argumentos, entra en modo comando.

* Un argumento puede ser: una dirección IP o un nombre de servidor, establece una conexión con el puerto Telnet (el 23) de este servidor y entra en modo conexión.

* Un segundo argumento puede ser: un número de puerto o un nombre de servicio, establece la conexión con este puerto.

* Cuando el número de puerto utilizado es el 23, el cliente inicia automáticamente el proceso de negociación enviando los códigos DO y WILL correspondientes a las opciones que soporta. Con cualquier otro puerto, por norma general no se envía ningún código de negociación, salvo que se reciba alguno del sistema remoto.

Page 9: Redes
Page 10: Redes

* Cuando el programa está en modo conexión, envía al sistema remoto cada carácter que teclea el usuario.

* Desde el modo conexión se puede pasar al modo comando por medio del carácter de escape, que suele ser “^]”.

* En este modo, el programa admite, entre otros, los comandos siguientes:

 

* open: establece una conexión con el servidor, y opcionalmente con el puerto, indicado en los argumentos de este comando.

* comando nulo (línea vacía): si hay una conexión establecida, sale del modo comando y vuelve al modo conexión.

* send: envía al sistema remoto el código Telnet indicado por el argumento, que puede ser ao, ayt, brk, ec, el, ga, ip, synch, etc.

* “^]” (o el carácter que actúe como carácter de escape): envía este último al sistema remoto (equivale a send escape).

* ?: muestra un mensaje de ayuda.

* quit: cierra la conexión, en caso de haber conexión establecida, y acaba el programa (que también acaba cuando el sistema remoto cierra la conexión).

Page 11: Redes

*SSH* Es  un  protocolo  de  acceso  remoto  seguro  y  otros servicios

 de red  a  través  de  una  red  insegura.

* Además es un popular, poderoso enfoque, basado en software para seguridad de la red.

* Cuando los datos son enviados por un ordenador a la red, SSH encriptado automáticamente. 

* Cuando los datos llegan a  su  destinatario,  SSH descifra automáticamente (decodifica) esto. 

* El resultado es la encriptación transparente: los usuarios pueden trabajar normalmente, sin saber que sus comunicaciones son codificadas de manera segura en la red. 

* SSH utiliza algoritmos modernos, el cifrado seguro y es lo suficientemente eficaz como para ser encontrado dentro de las aplicaciones de misión crítica en las grandes corporaciones.

Page 12: Redes

*En este caso SSH utilizará el algoritmo de encriptación RSA, el cual consiste en el problema de la factorización de números enteros.

*Los mensajes enviados se representan mediante números, y el funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos al azar y mantenidos en secreto.

*Cada usuario posee dos claves de cifrado: una pública y otra privada.

*Cuando se quiere enviar un mensaje, el emisor busca la clave pública del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada.

Page 13: Redes

*SSH se la considera también una aplicación como un protocolo, que permite conectar dos ordenadores a través de una red, ejecutar comandos de manera remota y mover ficheros entre los mismos.

Componentes del protocolo SSH:

*Capa de protocolo de transporte [SSH-TRANS]: proporciona autentificación del servidor, confidencialidad e integridad y, opcionalmente, compresión se ejecutará sobre una conexión TCP/IP.

*Capa de protocolo de autentificación [SSH-USERAUTH]: autentifica al cliente contra el servidor, se ejecuta sobre la capa del protocolo de transporte.

* Capa del protocolo de conexión [SSH-CONNECT]: multiplexa el canal cifrado en múltiples canales lógicos, se ejecuta sobre la capa de autentificación.

Page 14: Redes
Page 15: Redes

*Características* Entre las características que encontramos en esta versión

tenemos:

* Evita ciertos fallos de seguridad.

* Proporciona varios métodos de autentificación (uso de autentificación del cliente utilizando “.rhosts” junto con RSA, o autentificación utilizando sólo RSA).

* Las comunicaciones se cifran de manera automática y transparente, el cifrado se usa para proteger la integridad.

* Cualquier puerto TCP/IP puede ser re-direccionado a un canal cifrado en ambos sentidos.

* El cliente autentifica al servidor al comienzo de cada sesión mediante RSA, y el servidor autentifica al cliente mediante RSA antes de aceptar autentificación mediante ".rhosts" o "/etc/hosts.equiv".

* El software se compone de un programa servidor en una máquina servidora, y un programa cliente en la máquina cliente.

Page 16: Redes

*Arquitectura de SSH

Page 17: Redes

*Donde:

*Servidor: programa que permite las conexiones entrantes SSH a una máquina, manipulación, autenticación, autorización, y así sucesivamente, en implementaciones de SSH Unix, el servidor es sshd.

*Cliente: programa que se conecta a servidores SSH y hace peticiones, tales como "log me in" o "copy this file." En SSH1, SSH2, y OpenSSH, los principales clientes son ssh y scp.

*Período de sesiones: conexión permanente entre un cliente y un servidor, empieza después de que el cliente se autentica correctamente a un servidor y termina cuando la conexión termina, estas pueden ser interactivo o por lotes.

*Clave: cantidad relativamente pequeña de datos, generalmente de diez a mil o dos mil pedacitos, que se utiliza como parámetro a los algoritmos de cifrado como el cifrado o la autenticación de mensajes.

*Hay dos tipos de claves: simétrico o de clave secreta, y asimétrica o de clave pública.

*Una clave asimétrica consta de dos partes: los componentes público y privado.

* SSH con cuatro tipos de llaves, que se resumen en la siguiente tabla.

Page 18: Redes

*Tipos de llaves SSH:

Nombre Tiempo de

vida

Creador por tipo Propósito

Clave de

usuario

persistentes Usuario publica Identificar a un usuario en

el servidor

Clave de

sesión

Un período de

sesiones

Cliente (y servidor) Secreto Proteger las

comunicaciones

Clave de host Persistentes Administrador Pública Identificar un servidor /

máquina

Clave de

servidor

Una hora Servidor publica Cifrar la clave de sesión

(sólo en SSH1)

Page 19: Redes

*Envío de paquetes:

*El paquete puede cifrarse utilizando cualquiera de los algoritmos soportados.

*La longitud de la parte cifrada (relleno + tipo + datos + chequeo) es siempre múltiplo de 8 bytes.

*Típicamente, el cifrado se utiliza sobre todos los paquetes, como si fuesen una única secuencia.

*El cifrado se activa cuando el cliente envía la clave de sesión. El algoritmo de cifrado es seleccionado por el cliente.

Page 20: Redes

*Cabeceras Telnet y SSH

Page 21: Redes

*Prototipo:

Page 22: Redes
Page 23: Redes

*Conclusiones:

*El uso de los protocolos TELNET y SSH nos permiten acceder a otra máquina remotamente.

*Con el presente trabajo nos podemos dar cuenta que el Servidor SSH es más seguro, puesto que utiliza algoritmos de encriptación RSA.

*Los servicios del protocolo TELNET son más livianos con respecto a los servicios del SSH.

*A todos estos servicios se le puede aplicar algoritmos de encriptación para mejorar la seguridad y confiabilidad.

Page 24: Redes

Gracias!!!!