Protocolo SSH
Esta página trata sobre el protocolo SSH. Para conocer la empresa que lo respalda, vea Seguridad en las comunicaciones SSH. Para usar el comando ssh de Linux, vea el uso del comando ssh. Para clientes, servidores e información técnica de SSH, consulte la página principal de SSH (Secure Shell).
El protocolo SSH (también conocido como Secure Shell) es un método para el inicio de sesión remoto seguro de un ordenador a otro. Proporciona varias opciones alternativas para una autenticación fuerte, y protege la seguridad e integridad de las comunicaciones con una fuerte encriptación. Es una alternativa segura a los protocolos de inicio de sesión no protegidos (como telnet, rlogin) y a los métodos inseguros de transferencia de archivos (como FTP).
Usos típicos del protocolo SSH
El protocolo se utiliza en redes corporativas para:
-
proporcionar un acceso seguro a los usuarios y a los procesos automatizados
-
transferencias de archivos interactivas y automatizadas
-
emitir comandos remotos
-
gestionar la infraestructura de red y otros componentes del sistema de misión crítica.
Cómo funciona el protocolo SSH
El protocolo funciona en el modelo cliente-servidor, lo que significa que la conexión la establece el cliente SSH conectándose al servidor SSH. El cliente SSH dirige el proceso de configuración de la conexión y utiliza la criptografía de clave pública para verificar la identidad del servidor SSH. Después de la fase de configuración, el protocolo SSH utiliza cifrado simétrico fuerte y algoritmos hash para garantizar la privacidad e integridad de los datos que se intercambian entre el cliente y el servidor.
La figura siguiente presenta un flujo de configuración simplificado de una conexión shell segura.
Autenticación fuerte con claves SSH
Hay varias opciones que se pueden utilizar para la autenticación del usuario. Las más comunes son las contraseñas y la autenticación con clave pública.
El método de autenticación con clave pública se utiliza principalmente para la automatización y a veces por los administradores de sistemas para el inicio de sesión único. Ha resultado ser mucho más utilizado de lo que nunca habíamos previsto. La idea es tener un par de claves criptográficas -clave pública y clave privada- y configurar la clave pública en un servidor para autorizar el acceso y conceder a cualquiera que tenga una copia de la clave privada el acceso al servidor. Las claves utilizadas para la autenticación se denominan claves SSH. La autenticación de clave pública también se utiliza con tarjetas inteligentes, como las tarjetas CAC y PIV utilizadas por el gobierno de Estados Unidos.
El principal uso de la autenticación basada en claves es permitir la automatización segura. Las transferencias automatizadas de archivos shell seguros se utilizan para integrar aplicaciones sin problemas y también para la gestión de la configuración de sistemas automatizados &.
Hemos comprobado que las grandes organizaciones tienen muchas más claves SSH de las que imaginan, y la gestión de las claves SSH se ha vuelto muy importante. Las claves SSH conceden acceso como lo hacen los nombres de usuario y las contraseñas. En algunos casos hemos encontrado varios millones de claves SSH que autorizaban el acceso a los servidores de producción en los entornos de los clientes, y el 90% de las claves no se utilizaban y representaban un acceso que se había proporcionado pero que nunca se había cancelado. Garantizar políticas, procesos y auditorías adecuadas también para el uso de SSH es fundamental para una correcta gestión de identidades y accesos. Los proyectos tradicionales de gestión de identidades han pasado por alto hasta el 90% de las credenciales al ignorar las claves SSH. Proporcionamos servicios y herramientas para implementar la gestión de claves SSH.
SSH proporciona una fuerte encriptación y protección de la integridad
Una vez que se ha establecido una conexión entre el cliente y el servidor SSH, los datos que se transmiten se encriptan según los parámetros negociados en la configuración. Durante la negociación, el cliente y el servidor acuerdan el algoritmo de cifrado simétrico que se utilizará y generan la clave de cifrado que se utilizará. El tráfico entre las partes que se comunican está protegido con algoritmos de cifrado fuerte estándar de la industria (como AES (Advanced Encryption Standard)), y el protocolo SSH también incluye un mecanismo que asegura la integridad de los datos transmitidos mediante el uso de algoritmos hash estándar (como SHA-2 (Standard Hashing Algorithm)).
Estándar SSH del IETF y documentación técnica detallada
El núcleo del protocolo
Cuando el protocolo SSH se hizo popular, Tatu Ylonen lo llevó al IETF para su estandarización. Ahora es un estándar de Internet que se describe en los siguientes documentos:
RFC 4251 – The Secure Shell (SSH) Protocol ArchitectureRFC 4253 – The Secure Shell (SSH) Transport Layer ProtocolRFC 4252 – The Secure Shell (SSH) Authentication ProtocolRFC 4254 – The Secure Shell (SSH) Connection Protocol
Protocolo de transferencia de archivos SFTP
El SFTP (SSH File Transfer Protocol) es probablemente el protocolo de transferencia de archivos seguro más utilizado en la actualidad. Se ejecuta sobre SSH, y actualmente está documentado en draft-ietf-secsh-filexfer-02
Formato de archivo de clave pública
El formato de archivo de clave pública no es un estándar formal (es un documento informativo), pero muchas implementaciones soportan este formato.RFC 4716 – The Secure Shell (SSH) Public Key File Format
Cómo citar SSH
Para citar SSH en un trabajo de investigación, utilice lo siguiente:
Tatu Ylonen: SSH - Secure Login Connections over the Internet.Proceedings of the 6th USENIX Security Symposium, pp. 37-42,USENIX, 1996.