Está en la página 1de 17

ALGORITMOS DE ELABORADO POR:

SEGURIDAD LUIS FERNANDO PRADA PEREZ

SIMETRICA DINA JAEL BLANCO RAMÍREZ

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

• LAS VENTAJAS DEL MÉTODO • LA DESVENTAJA ES QUE ES


DEL CIFRADO SIMÉTRICO SON NECESARIO COMPARTIR LA CLAVE
QUE ES MUY FÁCIL DE SECRETA CON EL DESTINATARIO.
CONFIGURAR Y SE PUEDE EN EL CASO DEL PEM, LA CLAVE
SECRETA SE CIFRA CON LA
HACER MUY RÁPIDAMENTE.
CONTRASEÑA DEL USUARIO,
ADEMÁS, ES BASTANTE DIRECTO
SIMPLEMENTE PARA GARANTIZAR
Y PUEDE SER USADO POR GENTE
QUE LA CONTRASEÑA NO SEA FÁCIL
DE TODAS LAS EDADES Y DE ADIVINAR. SI USA LA MISMA
NIVELES DE CONOCIMIENTO. CLAVE SECRETA PARA CIFRAR
EL CIFRADO ASIMÉTRICO ES MÁS TODOS SUS CORREOS ELECTRÓNICO
DIFÍCIL DE COMPRENDER Y DE Y ALGUIEN LA DESCUBRE,
USAR ENTONCES TODOS SUS CORREOS
ELECTRÓNICOS CIFRADOS SE VERÁN
COMPROMETIDOS
¿QUÉ ES EL CIFRADO ASIMÉTRICO?
El cifrado asimétrico requiere de dos claves para funcionar. En primer lugar, una clave pública debe
publicarse para poder cifrar los datos. En segundo lugar, una clave privada que se usa para descifrar los
datos.

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

LA VENTAJA LAS DESVENTAJAS


• No obliga al usuario a compartir sus claves • Son que consume mucho tiempo y esfuerzo.
(secretas), a diferencia del cifrado simétrico. Esto Además, es posible enviar correos electrónicos
elimina la necesidad de la distribución de claves. El cifrados solamente si la otra persona ha creado
cifrado asimétrico es compatible con las firmas pares de claves, lo que implica que la otra persona
digitales, que autentican la identidad del debe tener experiencia en el uso del cifrado
destinatario y garantizan que el mensaje no sea asimétrico. Por último, si usted pierde su clave
modificado mientras está en camino privada, la pierde para siempre. La clave privada es
irrecuperable, cosa que puede crearle todo un
mundo de problemas que resolver.
¿QUÉ ES SSH?
• SSH, o Shell seguro, es un protocolo seguro y la forma más común de administrar servidores remotos de forma segura.
Mediante el uso de una serie de tecnologías de cifrado, SSH proporciona un mecanismo para autenticar un usuario remoto,
transferir entradas desde el cliente al host y retransmitir la salida de vuelta al cliente.
• SSH nació para sustituir a otros protocolos. Por su antigüedad, estos protocolos resultaban inseguros para la conexión o el
intercambio de datos en internet. En este sentido, el antecedente de SSH es Telnet (Teleccomunication Network). Un protocolo
de red en modo terminal para acceder a una máquina remota desarrollado en 1969. En aquellos años en los que el uso de
internet se limitaba a Instituciones Académicas y a los Gobiernos. La diferencia entre ambos es que SSH añade seguridad
mediante cifrado. En cambio, con Telnet toda la información viaja por internet en forma de texto plano haciéndola
fácilmente accesible a cualquier hacker
• SSH utiliza claves simétricas para cifrar toda la conexión.
• El protocolo SSH emplea un modelo cliente-servidor para autenticar a dos partes y cifrar los datos entre ellas.
• El componente del servidor escucha en un puerto designado para las conexiones. Es responsable de negociar la conexión segura, autenticar a la parte que se
conecta y generar el entorno correcto si se aceptan las credenciales.
• El cliente es responsable de iniciar el protocolo de enlace TCP inicial con el servidor, negociar la conexión segura, verificar que la identidad del servidor coincida
con la información registrada previamente y proporcionar las credenciales para autenticarse.
• Una sesión SSH se establece en dos etapas separadas. La primera es acordar y establecer el cifrado para proteger las comunicaciones futuras. La segunda etapa
consiste en autenticar al usuario y descubrir si se debe otorgar acceso al servidor.
• SSH se puede configurar para utilizar una variedad de diferentes sistemas de cifrado simétrico, incluidos AES, Blowfish, 3DES, CAST128 y Arcfour. El servidor
y el cliente pueden decidir sobre una lista de sus cifrados admitidos, ordenados por preferencia. La primera opción de la lista del cliente que está disponible en el
servidor se utiliza como algoritmo de cifrado en ambas direcciones.
NEGOCIACIÓN DEL CIFRADO PARA LA SESIÓN
Cuando un cliente intenta conectarse al servidor a través de TCP, el servidor presenta los protocolos de cifrado y las versiones respectivas que soporta.

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.

La base de este procedimiento para el Diffie-Hellman clásico es:

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.

• PuTTY, el cliente SSH por excelencia


• PuTTY es, sin duda, el mejor cliente SSH que
podemos encontrar para Windows. Liviano y muy
sencillo, este cliente cumple con su función:
permitirnos conectar a cualquier servidor Windows o
Linux de forma remota para controlarlo de forma
segura a través de Internet.

• El comando sudo apt-get install openssh-server es


importante al intentar conectar la máquina virtual
usando el cliente putty
MEJORES CLIENTES SSH DE CÓDIGO ABIERTO PARA
WINDOWS.
• KiTTY, una versión de PuTTY mejorada
• Tal como se anuncian los responsables de KiTTY, este es un
fork directo de la versión 0.69 de PuTTY, el que ellos mismos
consideran el mejor cliente SSH del mundo. Sin embargo, a
pesar de ser de código abierto, los desarrolladores de PuTTY
no tienen muy en cuenta a la comunidad, por lo que estos
decidieron crear esta aplicación derivada a la que añadirla una
serie de funcionar y características adicionales, como, por
ejemplo:
• Filtro de sesiones.
• Hacerlo portable.
• Lanzador de sesiones.
• Mejoras gráficas Guarda los ajustes automáticamente.
MEJORES CLIENTES SSH DE CÓDIGO ABIERTO PARA
WINDOWS.

• CMDER, una alternativa vitaminada a


CMD con SSH
• Cmder busca llevarnos una experiencia
similar a la terminal de Linux
a Windows mezclando el potencial de dos
herramientas: Clink y ConEmu.

• De esta manera, con esta alternativa a CMD


vamos a poder ejecutar muchos más
comandos en nuestro sistema operativo,
como, por ejemplo, SSH, para conectarnos
de forma remota a cualquier servidor.
TIPOS DE ENCRIPTACIÓN SSH
Como decíamos, parte de la seguridad que brinda SSH se logra gracias a las técnicas de cifrado, y hay tres de ellas.

• 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.

También podría gustarte