Conexión cifrada usando SSH y OpenSSH (I)

Publicado por codigo el 13 de junio de 2008 en General, Linux

Algunas veces es necesario administrar de forma remota un servidor y para ello debemos establecer una comunicación segura entre dicho host y el sistema desde el cual establecemos la conexión. Las sesiones telnet no ofrecen mucha seguridad, ya que los datos viajan a traves de la red sin ningún tipo de encriptamiento y son potencialmente supceptibles de ser interceptadas por un atacante.

Actualmente las Redes de Computadoras son los medios digitales más usados en todos los ámbitos de la sociedad para la transferencia de información. Normalmente estos medios se encuentran en redes públicas, por lo cual están expuestas a intervenciones de una u otra forma.

Cuando se realiza una conexión a un servidor remoto usando por ejemplo el comando telnet o ftp, el login(usuario) y password(contraseña) son transmitidos en la red de forma clara, lo cual representa un gran riesgo si llega a existir sobre la red un programa que capture la información, basándose en el modo promiscuo de las redes ethernet (comúnmente llamado sniffer), ocasionado obtener tanto el login como el password y pudiendo posteriormente irrumpir en el servidor con esta información.

Este tipo de problemáticas ha llevado al diseñode herramientas que permitan evitar estas situaciones siendo el caso de Secure Shell (ssh), desarrollado por Tatu Ylonen en la Universidad Tecnológica de Helsinki en Finlandia y OpenSSH, que nace del proyecto de un sistema operativo orientado con la filosofía de la seguridad en mente como lo es OpenBSD.

Secure Shell (SSH) es una solución basada en software que mantiene seguros los datos de la red. Muchos usuarios de telnet, rlogin, ftp y otros programas parecidos, no se dan cuenta que sus contraseñas se están transmitiendo sin cifrar a través de la red. SSH cifra todo el tráfico (incluidas las contraseñas) para eliminar de un modo efectivo las “escuchas”, los secuestros de las conexiones y otros ataques a nivel de red.

Además, SSH ofrece amplias posibilidades para la creación de túneles seguros, aparte de una variedad de métodos de autenticación. Parece cosa de locos, pero Secure Shell no es un shell. No es un interprete, historial de comandos, ni demás.

SSH provee fuerte autenticación y comunicación segura sobre un canal inseguro y nace como un reemplazo a los comandos telnet, ftp, rlogin, rsh, y rcp, los cuales proporcionan gran flexibilidad en la administración de una red, pero sin embargo, presenta grandes riesgos en la seguridad de un sistema. Adicionalmente, ssh provee seguridad para conexiones de servicios X Windows y envío seguro de conexiones arbitrarias TCP.

Secure Shell admite varios algoritmos de cifrado entre los cuales se incluyen:

·         Blowfish

·         3DES

·         IDEA

·         RSA

La ventaja más significativa de ssh es que no modifica mucho las rutinas. En todos los aspectos, iniciar una sesión de ssh es tan sencillo como( y similar a) iniciar una sesión de telnet. Tanto el intercambio de llaves, la autenticación, así como el posterior cifrado de sesiones son transparentes para los usuarios.

OpenSSH es una versión LIBRE del paquete de herramientas de comunicación segura del protocolo SSH/SecSH para redes, una solución de seguridad que está ganando la confianza de un número cada vez mayor de usuarios de Internet. Muchos usuarios de telnet, rlogin, ftp y otros programas parecidos, no se dan cuenta que sus contraseñas se están transmitiendo sin cifrar a través de la red. OpenSSH cifra todo el tráfico (incluidas las contraseñas) para eliminar de un modo efectivo las «escuchas», los secuestros de las conexiones y otros ataques a nivel de red. Además, OpenSSH ofrece amplias posiblidades para la creación de túneles seguros, aparte de una variedad de métodos de autenticación.

SSH es un protocolo que permite establecer conexiones seguras a través de redes que no lo son, además es capaz de servir de túnel seguro para otros protocolos que no lo son. Podemos entonces realizar tareas de mantenimientos de sistemas y conexiones remotas al estilo UNIX de forma segura.

SSH2, la segunda versión de SSH, resuelve algunas de las deficiencias de su antecesor SSH1, ofreciendo de esta manera un alto nivel de cifrado de datos y un método de autentificación bastante fiable. Es además una alternativa fiable a los no seguros: telnet o rlogin, rsh, rcp, rdist.

Pero sí hace cosas muy útiles por la seguridad de un sistema en entornos poco confiables. Algunas opciones:

·         Protocolo criptográfico en un modelo cliente/servidor

·         Autenticación de las más variadas formas:

o    por contraseña

o    por host

o    por sistema de llaves

·         Integración con sistemas de autenticación como:

o    Kerberos

o    SecurID

o    PGP

o    TIS Gauntlet

o    PAM

·         Asegura los protocolos de aplicación de manera (casi) transparente

·         Implementación sobre la mayoría de los sistemas operativos y plataformas

 

Secure Shell previene, además, de una serie de ataques como los procedentes de Sniffers:

·         IP Spoofing

·         MACpoofing

·         DNS Spoofing

·         Telnet Hickjacking

·         ARP Spoofing

·         IP Routing Spoofing

·         ICMP Spoofing

Nos puede servir también para crear canales o túneles seguros para otras aplicaciones como correo, VNC, ftp, etc.

Escribir un comentario sobre Conexión cifrada usando SSH y OpenSSH (I)




Suscribirse

A los siguientes comentarios suscribiéndose a Conexión cifrada usando SSH y OpenSSH (I) Comments RSS feed.