Saltar la navegación

2.3.- SSH.

Vas a ver ahora el último de los protocolos en modo texto, que viene a resolver la falta de seguridad de los servicios anteriores. Por ejemplo, si tenemos un programa capturador de tramas (sniffer) en la red, como el conocido “wireshark” podemos ver cada una de las órdenes incluidas las contraseñas que se intercambian utilizando telnet o rlogin.

SSH está basado en el protocolo SSL (siglas en inglés de Secured Socket Level), desarrollado por Netscape y utiliza un esquema de encriptación asimétrica mediante la generación e intercambio de claves públicas y privadas. SSL es un protocolo que se intercala entre el nivel de transporte y el protocolo de aplicación. Tiene la ventaja de enviar toda la información encriptada. Por otra parte, permite la autentificación tanto del usuario que se conecta como del servidor al cual nos conectamos, con lo que se dificulta la suplantación del servidor o la interceptación de la información.

Aparte de servicios SSH existen herramientas como sftp y scp que permiten el intercambio de ficheros al igual que RCP y FTP pero de forma segura.

Un configuración del servicio SSH, se realiza editando los ficheros de configuración /etc/ssh/sshd_config (para el servidor) y /etc/ssh/ssh_config (para el cliente), en el mismo directorio encontramos las claves públicas y privadas de nuestro servidor. El fichero sshd_config incluye una serie de parámetros que rigen el funcionamiento del servicio.

El servicio SSH soporta dos métodos de autentificación:

  • El tradicional basado en contraseñas del usuario del sistema.
  • Otro basado en claves públicas y privadas.

En informática, es un programa de captura de las tramas de una red de computadoras. Es algo común que, por topología de red y necesidad material, el medio de transmisión (cable coaxial, cable de par trenzado, fibra óptica, etc.) sea compartido por varias computadoras y dispositivos de red, lo que hace posible que un ordenador capture las tramas de información no destinadas a él. Para conseguir esto el analizador pone la tarjeta de red en un estado conocido como "modo promiscuo" en el cual en la capa de enlace de datos no son descartadas las tramas no destinadas a la dirección MAC de la tarjeta; de esta manera podemos capturar (sniff, "esnifar") todo el tráfico que viaja por la red.

Parámetros básicos.
# Puesto de escucha, se puede cambiar por motivos de seguridad: Port 22.
# IP de escucha, si el equipo tiene varias IP podemos indicar por cual realizaras la escucha del servicio: ListenAddress 192.168.20.30.
# Versión del protocolo: Protocol 2.
# Fichero donde se guardan las claves del servidor:
HostKey /etc/ssh/ssh_host_rsa_key.
HostKey /etc/ssh/ssh_host_dsa_key.
# Indica si está permita la conexión del superusuario:
PermitRootLogin no.
# Permitir el Modo de autentificación mediante clave RSA y clave pública:
RSAAuthentication yes.
PubkeyAuthentication yes.
# Modo de autentificación por host (equipo) no por usuario:
HostbasedAuthentication no.
# Permitir el túnel del protocolo X-windows por SSH:
X11Forwarding yes.
# Permitir o denegar el acceso a determinados usuarios o grupos desde determinadas
# máquinas, si un usuario no está en la lista de permitidos se deniega:
AllowUsers fulano@maquina1 mengano@maquina2.
AllowGroups 2esi administradores.
# Podemos utilizar la política de denegar:
DenyUsers invitado Pepito.
DenyGroups hacke.

Se conoce como túnel al efecto de la utilización de ciertos protocolos de red que encapsulan a otro protocolo. Así, el protocolo A es encapsulado dentro del protocolo B, de forma que el primero considera al segundo como si estuviera en el nivel de enlace de datos. La técnica de "tunelizar" se suele utilizar para trasportar un protocolo determinado a través de una red que, en condiciones normales, no lo aceptaría. Otro uso de la tunelización de protocolos es la creación de diversos tipos de redes privadas virtuales.

Para saber más

Existe un proyecto de código abierto de programas SSH en la siguiente página Web:

SSH.