¿Cómo funciona SSH?

ssh vs ftp
Shares

Ya seas un blogger o el propietario de una gran empresa, debes asegurarte de que tu imagen ante los clientes sea lo mejor posible. Tomar precauciones y proteger tu sitio web de compromisos es imprescindible. Hay varias formas de protección. Una de ellas es el uso del protocolo SSH.


¿Qué es SSH?

SSH significa Secure Shell. Es un estándar para protocolos de comunicación cliente-servidor utilizados en redes informáticas TCP/IP. Con el SSH puedes iniciar sesiones remotas y ejecutar comandos. La conexión SSH está encriptada, a diferencia del predecesor del protocolo SSH, TELNET.

Interceptar datos sin cifrar es sencillo y requiere conocimientos básicos sobre la capa de conexión. Usar protocolos de shell remoto no seguros es arriesgado, de ahí la popularidad de establecer una capa de autenticación de usuario.

Hay dos grupos principales de usuarios de Secure Shell. Los administradores de red lo utilizan para administrar servidores SSH remotos. Los clientes de hosting usan una conexión SSH para administrar sus servidores con métodos de autenticación personalizados. Puedes configurar una máquina remota, reparar un router con problemas o acceder a bases de datos remotas. El protocolo proporciona la capacidad de usar correo electrónico y permite la transferencia segura de archivos.

El protocolo Secure Socket Shell es una herramienta útil en el trabajo diario con equipos remotos y aumenta significativamente la seguridad de la capa de conexión. Con este protocolo criptográfico de red, puedes protegerte contra ataques a tu sitio web desde el exterior, como intentos de interceptar una contraseña o suplantar un servidor DNS.

Puedes acceder a tu VPS o servidor dedicado a través de un cliente SSH. Puedes modificar archivos del sistema en el servidor e instalar nuevas herramientas. Con el hosting compartido, puedes ver, mover, copiar y editar archivos en el servidor, comprimir y descomprimir archivos directamente en el servidor y crear o restaurar copias de seguridad.

Para saber la diferencia entre un VPS y un servidor dedicado, lee este artículo. Aprenderás cuándo vale la pena invertir en una solución dedicada y cuándo es suficiente una virtual.


Mecanismo del Protocolo SSH

Ya sabes lo que es el protocolo de transferencia de archivos SSH. Con una aplicación cliente de shell seguro, puedes trabajar en el shell de un sistema remoto como si fuera un sistema local. La tecnología Secure Shell fue la cura para la inseguridad del protocolo Telnet. Funciona en una arquitectura cliente-servidor. Su potencial de seguridad es altamente respetable y permite que dos computadoras se comuniquen sin riesgo de apoderarse de datos.

El algoritmo de intercambio de claves de cifrado es la base para comprender cómo funciona toda la conexión SSH. El SSH permite la autenticación del cliente mediante clave simétrica durante la conexión con diferentes sistemas operativos remotos. Además, los programas del protocolo SSH ofrecen:

  • elección de un método de autenticación de contraseña;
  • tunelización de conexiones TCP en SSH;
  • tunelización de sesiones de X-Window;
  • transferencia segura de archivos SCP;
  • soporte para métodos externos de autenticación (incluyendo Kerberos, certificados digitales y SmartCards).

Como resultado, la tecnología Secure Shell protege a sus usuarios contra los siguientes ataques:

  • captura y suplantación de sesiones;
  • suplantación de un servidor DNS;
  • enrutamiento de origen IP (suplantación de un sistema confiable);
  • suplantación de IP (suplantación de un servidor de destino remoto);
  • secuestro de contraseñas.

El protocolo SSH tiene dos variantes: la más antigua SSHv1 y la nueva SSHv2 desarrollada por el Internet Engineering Task Force (IETF). Se diferencian en los métodos de cifrado, pero el principio básico de trabajo basado en la criptografía de clave pública del cliente y el servidor es el mismo.

Me enfocaré en el protocolo SSHv2, destacando las diferencias entre él y su hermano mayor. SSHv1 está perdiendo rápidamente popularidad en favor de su sucesor porque se puede llevar a cabo un ataque efectivo de secuestro de sesión contra él, lo que no es posible con el cifrado avanzado estándar de SSHv2.


Autorización del cliente SSH y el servidor SSH

La autorización de Secure Shell garantiza la encriptación segura de la conexión.

Cada sistema informático que utiliza el último protocolo de cliente SSH tiene un formato de archivo de clave pública RSA o DSA único. SSHv1 solo tiene un servidor RSA. Dichas claves SSH tienen una longitud de al menos 1024 bits. En SSHv1, el servidor genera un par de claves público-privadas intercambiadas periódicamente con una longitud de al menos 768 bits. El servidor de la máquina remota genera dos claves SSH: una es su clave de host y la otra es la clave del servidor.

Durante las conexiones, los clientes SSH reciben sus claves públicas: una clave permanente de 1024 bits asignada al servidor y una clave que cambia periódicamente de 768 bits. El cliente compara la clave permanente con la clave maestra y determina si se ha conectado al servidor SSH correcto.

Luego, el cliente cifra un número utilizando las claves públicas recibidas del servidor y envía de vuelta el número cifrado. Este último, a su vez, descifra el valor recibido utilizando sus claves privadas. El valor de salida se convierte en la clave para los algoritmos simétricos utilizados para cifrar la sesión de comunicación adecuada. Los algoritmos más populares para cifrar sesiones son Blowfish y Triple DES.

Por otro lado, en el caso de SSHv2, no se genera la clave del servidor. En su lugar, el algoritmo Diffie-Hellman genera la clave de sesión de manera autónoma. SSHv2 cifra los datos mediante numerosos algoritmos: AES (128, 192, 256 bits), Blowfish, Triple DES, CAST128 y Arcfour. Además, la integridad de la sesión se garantiza mediante uno de los algoritmos de hash: SHAv1 o MD5.

Después de la autorización exitosa, el usuario puede acceder al servidor remoto. Los métodos de autenticación de usuario son principalmente protocolos de cifrado basados en el intercambio de datos con claves públicas y la autorización de rhosts.

Autorización de rhosts

Se asume que el servidor SSH tiene una entrada en los archivos /etc/hosts.equiv o /etc/shosts.equiv o en los archivos .shosts o .rhosts que contienen los nombres de la computadora y del usuario cliente. Si los archivos listados contienen la misma información, se concede acceso seguro automáticamente (sin solicitar una contraseña).

Autorización de clave pública

La clave pública del usuario reside en el Servidor Secure Shell con RSA. Al inicio de la conexión, el cliente declara qué claves públicas desea utilizar. En respuesta, el servidor envía un número aleatorio cifrado con la clave pública elegida por el cliente. Este último debe descifrarlo utilizando su clave secreta correspondiente a una determinada clave pública.

Si este paso tiene éxito, el cliente cifra el número con su clave privada, y el servidor debe descifrarlo con la clave pública correspondiente. Si el servidor recibe el número que envió previamente al cliente (cifrado con su clave pública), la autorización del cliente es exitosa.

En SSHv2, la autenticación con clave pública difiere en el cifrado y descifrado. Primero, utiliza tanto claves RSA como DSA. Cuando el servidor envía un número aleatorio cifrado al cliente, firma la clave de sesión acordada mediante el algoritmo Diffie-Hellman con una clave privada. La conexión se verifica por el servidor SSH utilizando la clave pública del usuario.

Además, los sistemas basados en SSHv2 pueden utilizar métodos de autenticación externos basados en Kerberos, X.509 y SmartCards.

Al pasar por las etapas de autorización del usuario, puedes comenzar a trabajar en una computadora remota. El primer modo es la ejecución no interactiva de comandos SSH emitidos desde el nivel del cliente. El segundo, modo más avanzado, es proporcionar al usuario una shell remota. Es un mecanismo de acceso remoto a una computadora remota.

La seguridad es la base de dirigir un negocio. Es importante cifrar tus datos, pero también necesitas asegurar tu sitio web. ¡Aprende cómo hacer que WordPress sea seguro!


¿Cómo usar Secure Shell?

Puedes usar varios programas para conectar clientes SSH a servidores. Los más populares son PuTTY y OpenSSH. Además de estos, también puedes usar otros programas en numerosos sistemas operativos. SSHdos (para DOS), NiftyTelnet SSH (para macOS), MindTerm (para Java), MSSH, WinSCP, TTSSH y SecureCRT (para Windows).

Configuración de PuTTY

Para habilitar la conexión, ve a la pestaña Sesión. En el campo Nombre de host firmado, ingresa el nombre del dominio configurado o la dirección IP del servidor. En el tipo de conexión, selecciona la opción SSH, el comando Abrir e ingresa el nombre de usuario y la contraseña. A partir de ahora, puedes usar el servidor a través del protocolo SSH.

Para administrar el servidor, ejecuta comandos de shell en la consola del shell:

  • find – busca un archivo por nombre;
  • ls – lista directorio o archivo;
  • mkdir – crea un nuevo directorio;
  • mv – mueve directorio o archivo;
  • cp – copia directorio o archivo;
  • rm – elimina directorio o archivo.

Vale la pena comprobar la opción Registro desactivado y Preguntar al usuario cada vez, y en la pestaña Terminal seleccionar:

  • Modo de ajuste automático activado inicialmente;
  • Usar color de fondo para borrar pantalla;
  • Eco local – Automático;
  • Edición de línea local – Automático.

En la pestaña de Teclado, debes dejar las opciones predeterminadas. Si deseas usar acentos en otro idioma, marca las últimas dos opciones bajo la sección Habilitar características de teclado adicionales. La pestaña Apariencia te permite seleccionar la fuente apropiada. Puedes hacer cambios presionando la opción Cambiar, gracias a la cual podrás modificar la interfaz gráfica del usuario: elige el tipo, estilo y tamaño de la fuente.

En la pestaña de Traducción, recomiendo seleccionar Usar fuente en ambos modos ANSI y OEM. Luego, desde la pestaña de Conexión, selecciona la opción xterm y escribe el nombre de usuario en el campo de inicio de sesión automático. En el cliente PuTTY, es posible cambiar el protocolo de SSHv1 a SSHv2. Si deseas elegir el protocolo SSHv2, consulta la opción SSH y selecciona la versión 2.


Conclusión

La forma más común de conectarse a un servidor es a través de FTP (Protocolo de transferencia de archivos) y su alternativa segura: FTPS. Sin embargo, con FTP/FTPS solo puedes copiar archivos al servidor y descargarlos a tu dispositivo, mientras que una sesión SSH proporciona más posibilidades que solo la seguridad: puedes trabajar en el servidor y ejecutar varios comandos.

¿Qué debes saber sobre FTP?

Usando la tecnología Secure Shell, el archivo no necesita ser editado localmente: puedes operar en el servidor, lo que es una solución más conveniente. La tarea del protocolo SSH también es asegurar la conexión mediante una conexión de proxy encriptada.

Una mayor seguridad y un gran potencial hacen de Secure Shell la mejor solución para administrar hosting dedicado o VPS. Y como la seguridad es uno de los temas críticos, no necesito explicártelo. Por lo tanto, además de elegir la autenticación SSH, también debes elegir el proveedor de hosting adecuado.

Uno de los proveedores de alojamiento más seguros es UltaHost. La seguridad es la máxima prioridad de UltaHost. Varias capas de protección contra todas las amenazas, desde el malware hasta los ataques DDoS, y el hardware de última generación con NVme SSD convierten a UltaHost en un líder en hosting seguro. En UltaHost, puedes elegir la autenticación del servidor mediante protocolos Secure Shell y FTPS.

UltaHost asegura tu presencia en línea protegiendo la reputación de tu sitio web y a los visitantes contra las amenazas cibernéticas, y escaneando tu sitio web en busca de malware y otras vulnerabilidades.

Pero UltaHost no es solo una plataforma de hosting segura. Obtendrás soporte las 24 horas del día, los 7 días de la semana, por parte de nuestro equipo de expertos. Nuestra infraestructura potenciada se enfoca en el escalado automático y el rendimiento. ¡Permítenos mostrarte la diferencia! ¡Echa un vistazo a nuestros planes!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Previous Post
How to Start a Dropshipping Business

¿Cómo comenzar un negocio de dropshipping?

Next Post
WordPress Error 500

Error de WordPress 500: Error interno del servidor

Related Posts