Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CIFRADO SSH
CIFRADO SIMÉTRICO
• El cifrado simétrico, también conocido como cifrado de clave secreta, usa una clave
única para cifrar y descifrar datos.
• Es necesario compartir esta clave con el destinatario.
-Digamos que quiere enviar un mensaje de «Mamá, te quiero». Usted primero
escribiría el mensaje, y después configuraría una clave secreta para cifrarlo. Cuando
mamá reciba el mensaje, entonces deberá introducir la clave secreta para descifrar el
correo electrónico.
Para asegurar la transmisión de información, SSH emplea varios tipos diferentes de
técnicas de manipulación de datos en varios puntos de la transacción. Estos incluyen
formas de cifrado simétrico y cifrado asimétrico.
VENTAJAS Y DESVENTAJAS DEL
CIFRADO SIMÉTRICO
La clave pública y la clave privada no son lo mismo, pero están relacionadas. Usted crea su mensaje, y
después lo clave pública con la clave pública del destinatario. Después, si el destinatario desea descifrar su
mensaje, tendrá que hacerlo con su clave privada. Mantenga la clave (privada) en privado en todo
momento. La mejor práctica sería almacenarla localmente. Para lograr esto, hace falta un nivel de
conocimientos superior a la media.
El software de correo electrónico del destinatario verá si la clave privada coincide con la clave pública, y
entonces solicitará al usuario que escriba la frase de contraseña para descifrar el mensaje. Algunas buenas
prácticas para cifrado asimétrico: use el de 2048 bits y las claves antes mencionadas. Crear unas claves
robustas es uno de los fundamentos del cifrado asimétrico. Una buena práctica de cifrado sería usar
múltiples métodos de cifrado, en lugar de uno solo. No todo el mundo sabe cómo se usa el cifrado
asimétrico, así que habrá ocasiones en las que tendrá que usar o funciones Hash o cifrado simétrico.
VENTAJAS Y DESVENTAJAS DEL CIFRADO
ASIMÉTRICO
Si el cliente tiene un par similar de protocolo y versión, se alcanza un acuerdo y se inicia la conexión con el protocolo aceptado. El servidor también utiliza una clave pública asimétrica
que el cliente puede utilizar para verificar la autenticidad del host.
Una vez que esto se establece, las dos partes usan lo que se conoce como Algoritmo de Intercambio de Claves Diffie-Hellman para crear una clave simétrica. Este algoritmo permite que
tanto el cliente como el servidor lleguen a una clave de cifrado compartida que se utilizará en adelante para cifrar toda la sesión de comunicación.
1. Tanto el cliente como el servidor coinciden en un número primo muy grande, que por supuesto no tiene ningún factor en común. Este valor de número primo también se conoce como
el valor semilla (seed value).
2. Luego, las dos partes acuerdan un mecanismo de cifrado común para generar otro conjunto de valores manipulando los valores semilla de una manera algorítmica específica. Estos
mecanismos, también conocidos como generadores de cifrado, realizan grandes operaciones sobre la semilla. Un ejemplo de dicho generador es AES (Advanced Encryption Standard).
3. Ambas partes generan independientemente otro número primo. Esto se utiliza como una clave privada secreta para la interacción.
4. Esta clave privada recién generada, con el número compartido y el algoritmo de cifrado (por ejemplo, AES), se utiliza para calcular una clave pública que se distribuye a la otra
computadora.
5. A continuación, las partes utilizan su clave privada personal, la clave pública compartida de la otra máquina y el número primo original para crear una clave compartida final. Esta clave
se calcula de forma independiente por ambos equipos, pero creará la misma clave de cifrado en ambos lados.
6. Ahora que ambas partes tienen una clave compartida, pueden cifrar simétricamente toda la sesión SSH. La misma clave se puede utilizar para cifrar y descifrar mensajes (leer: sección
sobre cifrado simétrico).
Ahora que se ha establecido la sesión cifrada segura simétricamente, el usuario debe ser autenticado.
AUTENTICAR EL ACCESO DEL USUARIO AL SERVIDOR
• La siguiente etapa implica autenticar al usuario y decidir el acceso. Hay algunos métodos diferentes que se
pueden utilizar para la autenticación, según lo que acepte el servidor.
• La más simple es la autenticación de contraseña, en la que el servidor simplemente solicita al cliente la
contraseña de la cuenta con la que está intentando iniciar sesión. La contraseña se envía a través del cifrado
negociado, por lo que es segura frente a terceros.
• Aunque la contraseña estará cifrada, este método generalmente no se recomienda debido a las limitaciones de
la complejidad de la contraseña. Los scripts automatizados pueden romper contraseñas de longitud normal
muy fácilmente en comparación con otros métodos de autenticación.
• La alternativa más popular y recomendada es el uso de pares de claves SSH. Los pares de claves SSH son
claves asimétricas, lo que significa que las dos claves asociadas cumplen funciones diferentes.
• La clave pública se utiliza para cifrar datos que solo se pueden descifrar con la clave privada. La clave
pública se puede compartir libremente porque, aunque puede cifrar la clave privada, no existe ningún método
para derivar la clave privada de la clave pública.
SSH PARA ENCRIPTAR LAS SESIONES LA EVOLUCIÓN DEL PROTOCOLO SSH
Accediendo a un servidor remoto a través del protocolo SSH En sus inicios, el protocolo SSH era libre. Pero entre 1995 y
los riesgos de seguridad se reducen considerablemente. Tanto 1999 su licencia fue cambiando hasta que Red Hat Enterprise
en el caso del cliente como del propio sistema la seguridad se creó la segunda versión del protocolo Secure Shell:
mejora gracias a la encriptación; Secure Shell se encarga de OpenSSH. Esta segunda versión del protocolo solucionaba la
encriptar todas las sesiones. Así, resulta imposible que vulnerabilidad a un agujero de seguridad presente en la
alguien pueda acceder a las contraseñas, los datos de acceso primera versión mediante un intercambio de claves. Aun así,
del cliente o a lo que éste haya escrito. Cuando se produce OpenSSH permite la conexión SSH a través de la primera
una conexión mediante el protocolo Secure Shell, el usuario versión del protocolo.
remoto es autentificado por el sistema. A continuación, se
Además del ya mencionado cifrado de los datos que aporta
procede a la transferencia de la información desde el cliente
Secure Shell, el uso del protocolo permite que el cliente
del host y devolver los datos al cliente
pueda verificar en cualquier momento si está conectándose al
mismo servidor en cada uno de sus accesos. El nivel de
encriptación utilizado por el protocolo SSH es de 128 bits.
Un cifrado muy potente que hace que cualquier información,
enviada o recibida, que se intercepte sea extremadamente
difícil de leer y descifrar. De la misma manera, permite a los
usuarios acceder a un servidor de forma remota además de
reenviar todo tipo de aplicaciones X11, proporcionando una
forma segura para utilizar aplicaciones gráficas.
COMO CONFIGURAR UN ACCESO Y CONECTAR A UN
SERVIDOR SSH CON PUTTY
• Para ejecutar PuTTY no es necesario instalarlo, descárgalo y ejecútalo
directamente.
• También puedes crear un acceso directo a tu escritorio para futuras
conexiones.
• Ejecuta PuTTY
• En el menú de configuración selecciona la categoría Session
• Introduzca el nombre de su dominio o IP en el campo Host Name y
seleccione el protocolo SSH
• Introduzca un nombre para esta conexión en el campo Saved Sessions
• Vuelva al menú de configuración y seleccione la categoría SSH
• Asegúrese de que está marcada la opción 2 en Preferred SSH protocol
version
• Seleccione nuevamente la categoría Session
• Para guardar la configuración pulse Save y Open para conectar
LA IMPORTANCIA DE PROTEGER ADECUADAMENTE TU SERVIDOR
SSH Y LAS CONSECUENCIAS SI INTENTAS ENTRAR A UNO AJENO
• Cuando contratamos un servidor VPS o dedicado en un Inmediatamente después de ponerlo en marcha, cientos de
hosting, es común encontrarse que el direccionamiento IP direcciones IP de origen comenzaron a intentar acceder al
que utilizan está registrado en las bases de datos de ARIN, «servidor SSH». El resultado de este Honeypot es que en
RIPE y otras organizaciones que se encargan de gestionar las tres meses recibió un total de 1 millón de intentos de acceso
no autorizados
direcciones IP a lo largo y ancho de todo el mundo. En este
caso que os vamos a contar, Digital Ocean es un proveedor
de VPS con un rango de IP que podemos ver públicamente
en ARIN, lo que permite a los usuarios malintencionados
probar fuerza bruta y diccionario para intentar acceder vía
SSH a todos los servidores de este rango de IP. El
administrador decidió instalar un Honeypot simulando un
servidor SSH y capturando todas las direcciones IP de origen
con las contraseñas que han intentado para iniciar sesión
como «root»
MEJORES CLIENTES SSH DE CÓDIGO ABIERTO PARA
WINDOWS.
• Encriptación simétrica:
Es quizá la más común, y se basa en el uso de una secret key, también llamada clave secreta en español. Esta clave se usa tanto en el cifrado como
en el descifrado de la conexión. Por supuesto si alguien lograra interceptar la conexión y de alguna forma obtuvo la clave secreta entonces podrá
ver claramente la información que se está transfiriendo entre los servidores.
•
• Encriptación asimétrica:
En este tipo de conexión utilizamos un total de dos claves, es decir una más que en la simétrica. Se trata de una clave pública y de una clave
privada. Cada clave pública está ligada a su propia clave privada, y la información encriptada solo se puede desencriptar conociendo la clave
privada, así que incluso si tenemos la clave pública no vamos a poder ver los datos, para eso sí o sí se necesita la privada, la cual por supuesto no es
compartida con terceros y no puede ser calculada a partir de la pública.
• Hashing:
Una conexión cifrada con un hash no puede ser revertida, es prácticamente única y casi imposible de predecir, de hecho solo el servidor que
recibirá los datos será capaz de leerlos correctamente. Las conexiones cifradas mediante hash se logran convirtiendo la información en una nueva
cadena de datos que poseen una cierta longitud que jamás cambia. El hash que se originó en un servidor tiene que ser idéntico al que es recibido por
el otro server, si hubo alteraciones en el hash recibido quiere decir que la información de alguna forma fue interceptada y modificada.
¿COMO SE ESTABLECE UNA CONEXIÓN DE SSH?
• Establecer una conexión SSH es sencillo, la única herramienta para hacerlo es una del tipo terminal o consola,
como por ejemplo la clásica consola de Linux y Mac, o un programa como PuTTY en el caso de Windows.
• La conexión SSH usa tres ítems: un usuario, un puerto y un servidor. Con solo esos tres elementos podemos
establecer una conexión segura entre dos servidores.
• El comando de clave SSH le indica al sistema que desea abrir una Conexión de Shell Segura y cifrada. {user}
representa la cuenta a la que deseamos acceder. Por ejemplo, acceder al usuario root, que es básicamente
para el administrador del sistema con derechos completos para modificar cualquier cosa en el sistema. {host}
hace referencia al equipo al que queremos acceder. Esto puede ser una dirección IP (por ejemplo,
244.234.28.15) o un nombre de dominio.
LUIS FERNANDO PRADA PEREZ
DINA JAEL BLANCO RAMÍREZ
INGENIERÍA DE SISTEMAS
UNIVERSIDAD DE INVESTIGACIÓN Y DESARROLLO UDI
BUCARAMANGA, OCTUBRE 2020.