Professional Documents
Culture Documents
Información básica/situación
Hay un par de formas en que puede acceder a un shell (línea de comando) de forma remota en
la mayoría de los sistemas Linux / Unix. Una de las formas más antiguas es usar el programa
telnet, que está disponible en la mayoría de los sistemas operativos con capacidad de red. Sin
embargo, acceder a una cuenta shell a través del método telnet representa un peligro ya que
todo lo que envía o recibe a través de esa sesión telnet es visible en texto plano en su red local
y la red local de la máquina a la que se está conectando. De modo que cualquiera que pueda
"monitorear" la conexión intermedia puede ver su nombre de usuario, contraseña, correo
electrónico que leyó y los comandos que ejecuta. Por estos motivos, necesita un programa más
sofisticado que telnet para conectarse a un host remoto.
SSH, que es un acrónimo de Secure SHell, fue diseñado y creado para proporcionar la mejor
seguridad al acceder remotamente a otra computadora. No solo encripta la sesión, sino que
también proporciona mejores funciones de autenticación, así como funciones como transferencia
segura de archivos, reenvío de sesiones X, reenvío de puertos y más para que pueda aumentar
la seguridad de otros protocolos. Puede utilizar diferentes formas de cifrado que van desde 512
bits hasta 32768 bits e incluye cifras como AES (esquema de cifrado avanzado), Triple DES,
Blowfish, CAST128 o Arcfour. Por supuesto, cuanto más altos sean los bits, más tiempo llevará
generar y usar claves, así como el tiempo que tomará pasar datos a través de la conexión.
En el siguiente diagrama del lado izquierdo se muestra cómo cualquier usuario de la red puede
ver una sesión de telnet usando un programa de rastreo como Wireshark. En realidad, es
bastante trivial hacer esto y, por lo tanto, cualquier persona en la red puede robar sus
contraseñas y otra información. Se muestra al usuario jsmith ingresando a un servidor remoto a
través de una conexión telnet. Escribe su nombre de usuario jsmith y la contraseña C0lts06 !,
que pueden ver cualquiera que esté usando las mismas redes que él está usando.
El diagrama lado derecho, muestra cómo los datos en una conexión cifrada como SSH están
cifrados en la red y, por lo tanto, no pueden leerlos quienes no posean las claves negociadas en
la sesión, lo cual es una forma elegante de decir que los datos están codificados. El servidor aún
puede leer la información, pero solo después de negociar la sesión cifrada con el cliente.
Recursos necesarios
VMware Workstation Pro (https://www.vmware.com/products/workstation-pro/workstation-
pro-evaluation.html)
1
INGENIERIA DE SISTEMAS
Cliente Linux
2
INGENIERIA DE SISTEMAS
f. Ingrese como superusuario (root) para el uso adecuado de la utilidad YUM. Para el uso
completo de la utilidad, es necesario tener acceso a internet. Comprueba la instalación del
servicio ssh tanto en el cliente como en el servidor CentOS 7 Linux. Ejecute los siguientes
3
INGENIERIA DE SISTEMAS
comandos (por defecto debe estar instalado el servicio openssh, sino fuera el caso debe
instalarlo)
#rpm –qa openssh
#yum list all | grep ssh
#yum list installed | grep ssh
#yum list updates | grep ssh
#yum info openssh.x86_64
4
INGENIERIA DE SISTEMAS
Es importante prestar atención a esta pregunta porque esta es una de las principales
características de SSH (validación del servidor). Para decirlo simplemente, ssh comprobará
para asegurarse de que se está conectando al host al que cree que se está conectando.
De esa forma, si alguien intenta engañarte para que inicie sesión en su máquina para que
pueda “monitorear” tu sesión SSH, tendrás una advertencia.
Se crea una huella digital del servidor y después que el cliente valide esa huella, se guarda
en un archivo llamado known_hosts, alojado en el directorio oculto .ssh en el directorio
personal del usuario (/home/clientelinux). Compruebe la ubicación del archivo y el
contenido mediante los comandos que figuran en la siguiente pantalla.
5
INGENIERIA DE SISTEMAS
Similar al ingreso por el Cliente Linux, se emite un mensaje para asegurarse de que se
conecta al servidor correcto, responda si para continuar. Luego ingrese el usuario jperez
con el password respectivo y compruebe las conexiones al servidor (comando w)
6
INGENIERIA DE SISTEMAS
b. Desde el Cliente Windows, abra el putty y conéctese al servidor Linux mediante ssh.
Capture las trazas y compruebe que los mensajes están encriptados.
7
INGENIERIA DE SISTEMAS
c. Ahora en el Servidor CentOS 7 Linux debe instalar telnet. Ejecute los comandos que se
indican en la siguiente imagen para instalar y configurar telnet.
8
INGENIERIA DE SISTEMAS
d. Desde el Cliente Windows, abra el putty y conéctese al servidor Linux mediante telnet.
Configure Wireshark para capturar trazas del protocolo telnet. Capture las trazas y
compruebe que los mensajes NO están encriptados.
9
INGENIERIA DE SISTEMAS
b. Verifique los archivos y directorios existentes en el directorio de trabajo que está usando en
el Cliente Linux, como se muestra en la siguiente imagen:
c. Utilice en comando scp, para copia segura de archivos, para transferir el archivo
scp_prueba.txt desde el servidor al cliente, como se indica en la siguiente imagen. Luego
valide la existencia del archivo en el directorio respectivo.
d. Ahora utilice SCP para transferir un archivo desde el Cliente Linux al Servidor. Para ello
debe crear un archivo en el Cliente Linux, y luego utilizar el comando scp, como se indica
en la siguiente imagen. Valide la transferencia.
10
INGENIERIA DE SISTEMAS
1. Leer la separata subida en Trilce sobre asegurar las comunicaciones en Linux. También
las páginas 327 a 333 del libro electrónico compartido en Trilce.
3. Extrae, instrucciones imágenes, ejemplos, de cada uno de los temas revisados y elabora
un instructivo que sirva como guía para utilizar las distintas funcionalidades de SSH:
- Utilizar un puerto distinto al 22 para ssh.
- Generación de claves públicas y privadas para utilizar ssh.
- Utilizar el programa ssh-agent
- Túneles SSH
11