21 Dic

SSH (Secure Shell)

SSH (Secure Shell) es una herramienta que permite establecer conexiones seguras entre equipos conectados mediante una red insegura. Establece conexiones remotas y transmite de manera segura cualquier tipo de dato. Utiliza el puerto 22 TCP y UDP por defecto.

Características de SSH

  • Utiliza el puerto 22 TCP y UDP, el protocolo SSH y sigue el modelo cliente-servidor.
  • Permite la autenticación de los usuarios mediante contraseña o un sistema de claves.
  • Permite su integración con otros sistemas de autenticación.
  • Está implementado para la mayoría de SO y plataformas.

Ventajas de SSH

  • Después de la primera conexión, el cliente puede saber que se conectará al mismo servidor en futuras sesiones.
  • El cliente transmite al servidor el usuario y la contraseña en formato cifrado.
  • Todos los datos que se envían y reciben durante la conexión se transfieren cifrados.
  • El cliente puede ejecutar desde el terminal aplicaciones gráficas de forma segura.

Con SSH se evita

  • La interceptación de la comunicación entre dos sistemas por parte de una tercera máquina.
  • La suplantación de un host o enmascaramiento, es decir, que una máquina finja que es la máquina de destino.

Herramientas de administración remota más utilizadas

  • En modo texto: telnet, rlogin y SSH.
  • En modo gráfico: VNC en GNU/Linux, NX y los servicios del terminal server en Windows.

Conceptos Clave de Criptografía

Criptografía: Es una técnica para convertir un texto claro en un criptograma cuyo contenido es el mismo, pero solo puede ser decodificado por personas autorizadas.

Clave privada: En criptografía asimétrica, una de las dos claves generadas para cifrar la autenticación de usuarios. Es la clave que no se transmite por la red y solo es conocida por el usuario.

Clave pública: En criptografía asimétrica, una de las dos claves generadas para cifrar la autenticación de usuarios. Es la clave que se transmite por la red.

Criptoanálisis: Parte de la criptografía que se ocupa de descifrar los mensajes en clave.

Para qué utiliza SSH varios algoritmos de encriptación

  • Para establecer la conexión con la máquina remota, para ello se emplean algoritmos de encriptación asimétrica.
  • Para realizar la transferencia de datos, para ello se utilizan algoritmos de encriptación simétrica ya que es más rápido.

Qué resuelve la encriptación

  • Privacidad o confidencialidad: Nadie que no sea el destinatario puede acceder a la información.
  • Integridad: La información no puede ser alterada.
  • Autenticación: Emisor y destinatario pueden confirmar la identidad de la otra parte que participa en la comunicación.
  • No rechazo: El emisor no puede negar que es el autor.

Encriptación simétrica

Es una técnica basada en la utilización de una clave conocida por el emisor y por el receptor. La clave que cifra en el origen descifra en el destino. Es muy eficiente para cifrar mucha información, ya que utiliza algoritmos muy rápidos. Tiene el inconveniente de que tanto el emisor como el receptor han de saber la clave, por lo que esta tiene que viajar por la red.

Encriptación asimétrica

Se basa en el uso de dos claves, una pública y otra privada. La clave pública cifra lo que descifra la privada, y la clave privada cifra lo que descifra la pública.

Cada usuario tiene dos claves. La privada que solo la conoce el dueño (no se envía por la red), y la pública que la conocen los usuarios en otras máquinas.

La técnica de encriptación asimétrica garantiza la confidencialidad de las comunicaciones y protege su autenticidad.

Ventaja: La clave privada no se transmite, por lo que basta que cada usuario tenga su clave doble pública-privada.

Desventajas:

  • Los algoritmos que utiliza no son rápidos a la hora de cifrar y descifrar.
  • No es fácil disponer de una garantía de autenticidad de las claves públicas.

Cómo funciona SSH

  1. El cliente abre una conexión por el puerto 22 TCP del servidor.
  2. Cliente y servidor se ponen de acuerdo en qué versión SSH utilizar. Se determina el algoritmo de cifrado para la transferencia de datos.
  3. El servidor tiene una clave pública y otra privada, pero solo envía la pública al cliente.
  4. El cliente recibe la clave pública y la compara con la que tiene almacenada para verificar si es auténtica. La primera vez, al no disponer de esta clave pública pide que el usuario la confirme (es el punto más débil). En las ocasiones siguientes, cuando el cliente reciba la clave pública la comparará con la que ya tiene almacenada.
  5. El cliente genera una clave de sesión aleatoria y crea un mensaje con la clave generada y el algoritmo utilizado, todo ello encriptado en un paquete que se envía al servidor.
  6. Para el resto de la sesión remota se utiliza el algoritmo de cifrado simétrico seleccionado y la clave de sesión aleatoria.
  7. Se autentica el usuario.
  8. Se inicia la sesión.

SCP y su sintaxis

Permite realizar transferencias simples desde la línea de comandos. Su funcionamiento dependerá de cómo se haya configurado SSH.

Sintaxis: $ scp nombre_usuario@maquina_origen:archivo_origen nombre_usuario@maquina_destino:archivo_destino

SFTP y su sintaxis

Intenta emular la forma de uso de un cliente FTP ordinario para abrir una sesión segura e interactiva de este tipo.

Sintaxis: $ sftp nombre_usuario@nombre_máquina

Deja un comentario