viernes, 29 de enero de 2010

Demostración

A continuación se muestran dos videos demostrativos sobre el uso de este protocolo, uno de ellos orientado a linux y el otro a windows:



domingo, 24 de enero de 2010

Características del protocolo SSH (II)

La otra característica que presenta el protocolo SSH es la transferencia de ficheros mediante SCP. SCP es un programa que permite la transferencia de archivos a través del canal seguro establecido en una sesión SSH previa al envío. Se trata de una alternativa muy buena a programas como la copia de archivos en máquinas UNIX, o el inseguro rcp.
Su sintaxis es la siguiente:
$ scp nombre_fichero_origen nombre_fichero_destino
De este modo, el archivo local se copia en el host remoto con el nombre indicado en el fichero destino. Si no se indica el directorio, scp por defecto lo copia en el directorio local.

jueves, 21 de enero de 2010

Características del protocolo SSH

Las principales características del protocolo SSH son:
  • Redireccionamiento de puertos (Port-Forwarding)
  • Transferencia de ficheros mediante SCP

Hoy haremos una breve introducción teórica sobre la primera de ellas. El redireccionamiento de puertos consiste en una forma de guiar tráfico TCP inseguro sobre el protocolo seguro SSH. Cuando se inicia una sesión SSH, puede hacerse que ciertas aplicaciones pasen por un túnel encriptado.

El establecimiento de un canal SSH seguro, sólo permite ejecutar conexiones TCP, que son las que están orientadas a conexión. Al contrario que UDP, que está orientado a datagramas por lo que este sistema no funciona para servicios como DHCP, NFS, NEtBIOS etc...

Este redireccionamiento se consigue mediante el mapeo del puerto TCP del cliento con el puerto del servidor. Es decir, toda la información generada por la aplicación cliente se dirigirá por el puerto TCP de dicha aplicación hacia el servidor.

Algunas de las aplicaciones que permiten el redireccionamiento de puertos seguro mediante el ptrotocolo SSH son: HTTP, SMTP, HTTPS, POP, IMAP y FTP.
En la figura siguiente se muestra un esquema teórico del port-forwarding:



lunes, 18 de enero de 2010

ARQUITECTURA DEL PROTOCOLO

La arquitectura del protocolo está definida en el documento RFC4251, donde se pueden distinguir varias capas:

  1. Capa de transporte RFC4253: Gestiona el intercambio inicial de claves para la autenticación del servidor, configura el cifrado, la comprensión, la integridad y la verificación. Transmite a su capa superior inmediata un interfaz para el envío y receptión de paquetes de texto plano de unos 33kB cada uno pudiendo aumentar dicha cifra al implementar el protocolo. La capa de transporte también llega a acuerdos para el intercambio de claves. Fases que se implementan en esta capa: autenticación del servidor (RSA,DSA); gestión de intercambio de clave inicial (Diffie-Hellman); negociación de algoritmos (encriptado simétrico); compresión de datos (opcional).
  2. Capa de autenticación de usuario RFC4252: En esta capa se gestiona la autenticación del cliente proveyendo de varios métodos para ello. Cuando la petición de una contraseña se muestra, puede ser el cliente el que realiza la petición y no el servidor. El servidor únicamente responde a las peticiones de autenticación del cliente. Los métodos más usados de autenticación son: 1.- Autenticación por contraseña: donde el cliente accede al servidor mediante contraseña. Incluye facilidades para cambiar la contraseña y por tanto mantener la seguridad. No es un método implementado por todos los programas cliente de SSH. 2.- Clave pública: método que normalmente soporta el menos pares de claves cifradas mediante algoritmos RSA oDSA con otras implementaciones que permiten el soporte de certificados digitales. 3.- Teclado interactivo: el servidor envia uno o más mensajes para la adquisición de información, el cliente los muestra y envía la respuesta al servidor. Es una autenticación por contraseña en un único paso. Esta imlpementado en algunos servidores OpenSSH.
  3. Capa de conexión RFC4254: Finalmente en ésta se definen los canales. Una única conexión SSH puede alojar múltiples canales SSH simultáneamente, transdiriendo datos cada uno en ambas direcciones. Las peticiones de canal son usadas para la implementación de datos específicos. Puede ocurrir que la petición del cliente para redireccionar un puerto en el servidor remotor, por lo que los canales concluyen: 1.- Ejecución de Shell para terminales remotos que permitan comandos de SSH o envío de ficheros SCP. 2.- Redirección de conexiones TCP/IP para redirigir la información de aplicaciones entre cliente y servidor.
Esta arquitectura proporciona una considerable flexibilidad, permitiendo a los usuarios de SSH una gran variedad de utilidades sobre el propio protocolo. La capa de autenticación del cliente es muy extensa y soporta numerosos métodos de autenticación con distintas configuraciones. Por último la capa de conexión permite multiplexar varias sesiones en una única conexión.




miércoles, 13 de enero de 2010

Esquema del modelo cliente/servidor en SSH



Como se ha comentado en la entrada anterior, SSH se basa en un modelo cliente/servidor. Con esta figura se pretende ilustrar el esquema de funcionamiento de este protocolo.

¿Qué es el SSH?

Para comenzar definiremos qué es el SSH, en qué consiste y cuáles son sus principales características. El protocolo Secure Shell (SSH) es un host que permite establecer conexiones con host remotos. La principal diferencia con otros protocolos como telnet o rsh es que la autenticación se realiza de forma segura. Es decir, cada vez que se envían datos desde una máquina hacia la red, SSH los encripta. De este modo, por ejemplo, se consigue que nadie pueda tener acceso a las contraseñas de usuario. Cuando los datos llegan al destinatario (servidor SSH), éste los descifra automáticamente. El funcionamiento de este protocolo, se basa en un modelo cliente/servidor, donde el servidor acepta o rechaza las peticiones de los clientes.

SSH engloba tres aspectos básicos:
  • Autenticación mediante una contraseña. Como ya se ha comentado, dicha contraseña será encriptada durante el proceso de comunicación.
  • Encriptación de los datos para que terceras personas ajenas a la comunicación no puedan tener acceso a los mismos.
  • Integridad de los datos que viajan por la red, garantizando que la información llega al destino sin sufrir alteración alguna. En el caso de que terceras personas capturasen y modificasen los datos, el protocolo lo detectaría.

Los principales objetivos del protocolo SSH son:

  • Permitir el intercambio de datos de forma segura entre cliente y servidor a través de una red insegura, como por ejemplo, Internet.
  • Reemplazar a otros protocolos de conexión remota no seguros.
  • Permitir el redireccionamiento de puertos sobre conexiones TCP/IP sobre canales cifrados.
  • Facilitar el envió y recepción de ficheros mediante la herramienta SCP.


lunes, 11 de enero de 2010

Bienvenida

Hola, somos dos alumnas de Ingeniería de Telecomunicaciones de la Universidad de Oviedo. Hemos creado este blog para ser evaluadas en la asignatura optativa de Gestión de Redes de Telecomunicación.
Explicarémos un poco el protocolo SSH, las vulnerabilidades, herramientas, y ataques que puede sufrir así como la forma de terminar con ellos.
Esperamos que os guste, ( y que nos pongan buena nota ;) ).
Un saludo,
Carlota y Carmen