GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es SSH?

Introducción

Al acceder a una computadora a través de una red, los administradores del sistema necesitan una conexión segura para ocultarse de ataques cibernéticos maliciosos, como la detección de contraseñas. Dado que las redes grandes tienen fallas de seguridad, los protocolos de encriptación como TLS/SSL, IPsec, S/MIME, PGP y SSH son necesarios para garantizar la protección necesaria.

Este artículo proporciona una descripción general del protocolo SSH:su función, terminología y casos de uso.

¿Qué significa SSH?

El acrónimo SSH significa "Secure Shell". El protocolo SSH se diseñó como una alternativa segura a los protocolos de shell remotos no seguros. Utiliza un paradigma cliente-servidor, en el que los clientes y los servidores se comunican a través de un canal seguro.

El protocolo SSH tiene tres capas:

  • La capa de transporte . Garantiza una comunicación segura entre el servidor y el cliente, supervisa el cifrado/descifrado de datos y protege la integridad de la conexión. También realiza almacenamiento en caché y compresión de datos.
  • La capa de autenticación . Realiza el procedimiento de autenticación del cliente.
  • La capa de conexión . Gestiona los canales de comunicación después de la autenticación.

El canal creado por SSH utiliza criptografía de clave pública para autenticar al cliente. Una vez que se establece la conexión, SSH proporciona una forma cifrada de intercambiar información de forma segura, independientemente de la infraestructura de red subyacente.

SSH fue diseñado para sistemas operativos similares a Unix, como Linux, macOS y BSD. Sin embargo, también funciona en Windows.

Una breve historia de SSH

SSH fue creado por Tatu Ylönen en 1995. El protocolo fue diseñado para prevenir la detección de contraseñas. Atentados en la Universidad Tecnológica de Helsinki. La primera versión del protocolo, ahora llamada SSH-1, fue diseñada para reemplazar protocolos no seguros como rsh, rlogin y Telnet. Comenzó como software gratuito, pero pronto se convirtió en software propietario.

Después de que el SSH-1 de Ylönen se convirtiera en una herramienta popular en todo el mundo, el Grupo de Trabajo de Ingeniería de Internet (IETF) reunió a un grupo cuyo propósito era desarrollar un sucesor del protocolo. En 2006, SSH-2 se convirtió en un nuevo estándar, con mejoras de seguridad como el intercambio de claves Diffie-Helman.

La comunidad de código abierto desarrolló OSSH, una versión del protocolo SSH basada en la versión 1.2.12 de SSH-1. Posteriormente, los desarrolladores de OpenBSD bifurcaron OSSH para crear OpenSSH, la implementación de SSH más popular del mundo en la actualidad. A partir de la versión 7.6, OpenSSH solo admite SSH-2. Se suspendió la compatibilidad con SSH-1 .

Terminología SSH

La siguiente tabla contiene algunos términos que puede encontrar al trabajar con SSH:

Usos de SSH

SSH se usa ampliamente en los centros de datos para brindar administración segura, acceso remoto a recursos, parches de software y actualizaciones. El protocolo también permite la administración de enrutadores protegidos, el mantenimiento del hardware del servidor y la administración de la plataforma de virtualización.

Debido a la facilidad de uso, robustez y numerosas funciones, SSH se puede aplicar en varios escenarios.

Estos escenarios incluyen:

  • Conectándose a un host remoto.
  • Copia de seguridad, copia y duplicación de archivos mediante SFTP.
  • Asignación del puerto de un cliente al puerto del servidor para asegurar TCP/IP y otros protocolos de red.
  • Reenvío del sistema X Window desde el servidor a los clientes.
  • Transmisión de datos confidenciales a través de un canal seguro.
  • Uso de una red privada virtual.

Las claves SSH a menudo se emplean para automatizar el acceso al servidor con inicio de sesión sin contraseña, gestión de configuración y copia de seguridad.

¿Cómo utilizar SSH?

La conexión a un servidor SSH se realiza mediante un cliente SSH. La mayoría de los sistemas operativos basados ​​en Unix y similares a Unix vienen con el daemon y el cliente preinstalados. En estos sistemas, el cliente SSH está disponible en la terminal.

Para conectarse a un host remoto usando la terminal, el usuario emite el comando ssh seguido del nombre de usuario y la dirección del servidor o nombre de host:

ssh [username]@[server_ip_or_hostname]

Por ejemplo:

Windows 10 ofrece cliente y servidor OpenSSH a partir de la versión 1709. Las versiones anteriores de Windows no incluían SSH como una función, por lo que se usaron herramientas como PuTTY para establecer una conexión SSH. PuTTY es un cliente SSH con una GUI para SSH y Telnet:

Algunos otros clientes SSH populares para Windows incluyen:

  • Bitvise
  • WinSCP
  • Gatito
  • Masilla solar
  • SmartTTY

¿Qué tan seguro es SSH?

Cuando se usa con las precauciones de seguridad estándar, el protocolo SSH se considera altamente seguro. Sin embargo, los factores humanos juegan un papel importante en el mantenimiento de la seguridad de las conexiones SSH.

Los ataques de fuerza bruta en servidores SSH son un escenario común. Los atacantes intentan conectarse a una gran cantidad de servidores SSH utilizando nombres de usuario y contraseñas comunes. Cuando obtienen acceso a un servidor, utilizan la escalada de privilegios para obtener acceso a la cuenta raíz.

Las claves SSH se recomiendan como un método de autenticación más seguro que las contraseñas. Sin embargo, la gestión deficiente de claves SSH aún presenta un riesgo significativo para las organizaciones cuya información crítica depende de mantener las claves en secreto.

Si bien las claves SSH ofrecen una mejor protección, su uso indebido puede proporcionar acceso a información privilegiada a personas malintencionadas. Esta información incluye cuentas y recursos, como bases de datos, enrutadores, sistemas de pago, etc.

Puertos SSH expuestos son otra posible debilidad de la seguridad. Algunos programas de malware atacan dispositivos IoT con puertos expuestos, usándolos como puerta trasera de entrada a la red local.

Por último, la gran cantidad de clientes SSH en el mercado hace que la seguridad del protocolo también dependa de la seguridad de las aplicaciones de terceros.


Linux
  1. ¿Qué es Web 3.0?

  2. ¿Qué es un administrador de sistemas?

  3. ¿Qué hace “lc_all=c”?

  4. Ssh:¿restringir un usuario de Ssh/scp/sftp a un directorio?

  5. Que hace ?

¿Qué es SFTP?

Comando SSH

Fortalecimiento de la configuración de SSH

Servidor SSH

¿Qué viene en GNOME 42?

¿Qué es el analfabetismo digital?

    Término Explicación
    ~ or $HOME El directorio de inicio de un usuario en un sistema Unix o similar.
    Capa de autenticación La capa responsable de realizar la autenticación SSH.
    Cliente Un programa cliente para establecer una conexión con el servidor.
    Máquina cliente Una computadora que ejecuta un cliente SSH.
    Capa de conexión La capa del protocolo SSH que gestiona los canales de comunicación.
    Equipo local Una computadora que ejecuta un cliente SSH en la ubicación.
    Usuario local Un usuario que accede a SSH en la computadora local.
    Clave privada Parte del par de claves pública-privada para la autenticación del usuario que se mantiene en secreto en la máquina local.
    Clave pública Parte del par de claves pública-privada para la autenticación del usuario copiado al servidor SSH durante el proceso de autenticación.
    Computadora remota Una computadora que ejecuta un servidor SSH al que se conectan los clientes SSH.
    Usuario remoto Un usuario que accede a SSH a través de una computadora remota.
    Servidor Un programa de servidor SSH para comunicarse con clientes SSH.
    Máquina servidor Una computadora que ejecuta un servidor SSH.
    SCP Secure Copy:una utilidad CLI que utiliza SSH para la transferencia segura de archivos.
    SFTP Protocolo de transporte de archivos seguro:un protocolo que utiliza SSH para proteger las transferencias de archivos de red, que no debe confundirse con FTPS, que aprovecha TLS/SSL
    Capa de transporte La capa del protocolo SSH que domina toda la sesión SSH.