Configuracion SSH y Telnet en GNU Linux

20
Trabajo SSH Jorge Luis Madrigal Muñoz CODIGO 38832 Tecnólogo en administración de redes INSTRUCTOR Camilo Andrés Zapata SERIVCIO NACIONAL DE APRENDIZAJE SENA Medellín Antioquia 2011

Transcript of Configuracion SSH y Telnet en GNU Linux

Page 1: Configuracion SSH y Telnet en GNU Linux

Trabajo SSH

Jorge Luis Madrigal Muñoz

CODIGO

38832

Tecnólogo en administración de redes

INSTRUCTOR

Camilo Andrés Zapata

SERIVCIO NACIONAL DE APRENDIZAJE SENA

Medellín

Antioquia

2011

Page 2: Configuracion SSH y Telnet en GNU Linux

INTRODUCCIÓN

En este trabajo hablare un poco sobre algunos de los software de conexión remota para

administración de equipos por red y diré cuales son las ventajas y desventajas de trabajar con

alguna de estas aplicaciones y de sus protocolos.

En la actualidad hay muchos protocolos y aplicaciones que nos facilitan el trabajo de administrar

equipos remotamente, esto es muy importante para los administradores de redes debido a que

nos ahorra tiempo y distancia en darle soporte a los daños que puedan causarse en nuestras

maquinas que están bajo nuestra administración.

Page 3: Configuracion SSH y Telnet en GNU Linux

1. RESPONDA A LAS SIGUIENTES PREGUNTAS:

¿Qué es SSH, es una aplicación, es un protocolo?

R:/ SSH (Security Shell) es el nombre del protocolo y de la aplicación, es el intérprete de órdenes seguras mas usado en informática.

¿Qué servicios y beneficios presta SSH a la administración de redes?

R:/ SSH brinda el servicio de acceso remoto seguro a un equipo que se encuentre en la red, nos permite hacer copias seguras de un ordenador a otro y cifra los datos para que la comunicación sea segura. Ejemplos: Acceso remoto: ssh [usuario]@[dirección IP remota] Copia remota: scp [archivo] [usuario]@[dirección IP remota] :[ruta donde se va a alojar el archivo]

¿Cómo funciona SSH? 1. lo primero que se hace es identificar al servidor y al cliente para crear un canal seguro

(capa de transporte segura). 2. En segunda instancia el cliente inicia sesión en el servidor (autenticación)

¿Qué algoritmos de cifrado usa SSH, y cómo hace uso de ellos?

El algoritmo de cifrado para SSH depende de su versión de protocolo, en la versión 1 SSH1utiliza los siguientes algoritmos de cifrado (DES, 3DES, IDEA, Blowfis) y en su versión 2 SSH2utiliza estos algoritmos de cifrado (3DES, Blowfish, Twofish, Arcfour, Cast128-cbc).

¿Qué diferencias existen entre las diferentes versiones del protocolo SSH?

R:/Existen dos variedades de SSH actualmente (versión 1 y versión 2). La versión 1 de SSH hace uso

de muchos algoritmos de encriptación patentados (sin embargo, algunas de estas patentes han

expirado) y es vulnerable a un hueco de seguridad que potencialmente permite a un intruso

insertar datos en la corriente de comunicación. La versión SSH versión 2 tiene un algoritmo de

intercambio de llaves mejorado que no es vulnerable al hueco de seguridad en la versión 1. Sin

embargo, la suite SSH versión 2 también soporta las conexiones de la versión 1.

Desde el punto de vista de Aplicación como tal hay dos diferencias muy importantes la primera es

la que hay una versión privativa del servicio SSH, que solo se puede utilizar libre en entidades

educativas o en uso domestico.

En su segunda versión del servicio SSH fue comenzada como un proyecto llamado openSSH y fue

creado por openBSD, la diferencia entre estas dos versiones es que la segunda versión es

totalmente libre y esta bajo la licencia BSD y la primera es privativa para las empresas.

Page 4: Configuracion SSH y Telnet en GNU Linux

2. CONFIGURE UN SERVIDOR TELNET PARA UNA MAQUINA CON GNU/LINUX

Lo primero es buscar los paquetes a instalar, en este caso instaláremos un cliente y el servidor TELNET.

Luego procedemos a instalarlo.

Cuando se instala este servicio por defecto el viene deshabilitado, para eso hay que ir al archivo de configuración /etc/xinet.d/telnet y habilitarlo, solo hay que poner no en la línea disable.

Page 5: Configuracion SSH y Telnet en GNU Linux

Ahora reiniciamos el servicio y verificamos que este corriendo en el puerto 23.

Ahora para que este servicio pueda ser visto por otros equipos en la red hay que hacer una regla en el puerto que permita que este puerto pueda ser visto en la red, para esto iremos al archivo /etc/sysconfig/iptables y agregaremos la línea que esta resaltada en rojo.

Ahora reiniciamos el cortafuego.

Page 6: Configuracion SSH y Telnet en GNU Linux

Implemente un sniffer de red para las transacciones siguientes

En este caso instalare wireshark que es un administrador de tráfico de red muy amigable ya que cuenta con un entrono grafico en el cual es muy fácil interactuar, lo primero que debemos hacer es buscar los siguientes dos paquetes e instalarlos.

Acceda remotamente desde un cliente al servidor GNU/Linux a través de telnet y ejecute comandos básico en esta sesión

Para esto nos vamos para una maquina remota que este en la red y verificamos que el servidor si tenga el servicio telnet corriendo en el puerto 23

Page 7: Configuracion SSH y Telnet en GNU Linux

Ahora digitamos el siguiente comando para acceder remotamente a la maquina servidora.

Descargue en el cliente un archivo simple (texto plano) y de poco tamaño desde el servidor a través de telnet

Telnet no permite descargar o copiar archivos por red, lo que puedo hacer es capturar el tráfico de una sesión y descargar lo que se ejecute o se haga en ella, en la siguiente imagen podemos detallar que la sesión se captura por tramas lo que debemos hacer es juntar esas tramas y obtener el resultado en claro.

Page 8: Configuracion SSH y Telnet en GNU Linux

Después de obtener el texto que queremos descargar le damos guardar y nos dejara una copia de este archivo capturado en nuestra máquina.

finalice la comunicación telnet y examine su captura

Después de finalizar la sesión vamos a ver que nos ha arrojado la captura con el sniffer, para esto hacemos un filtro para que solo nos muestre las tramas del servicio 23 o TELNET.

Page 9: Configuracion SSH y Telnet en GNU Linux

Ahora juntamos las tramas para obtener la sesión completa en un archivo para esto nos paramos en una trama y le damos clic derecho y elegimos la opción follow tcp stream.

Pregunta: ¿Qué puede concluir?

Podemos concluir que la comunicación TELNET no fue cifrada y pudimos obtener fácilmente las credenciales de esa sesión muy fácilmente, también podemos decir que este servicio no se puede implementar en un entorno de seguridad debido a la falla de no trabajar cifrando los datos, en conclusión TELNET es un servicio de conexión remota por red muy inseguro y muy sencillo.

Page 10: Configuracion SSH y Telnet en GNU Linux

3. CONFIGURE UN SERVIDOR openSSH PARA UNA MAQUINA CON GNU/LINUX

En plataformas centos, redhat, Ferdora, el servicio SSH viene instalado por defecto; en la instalación de estos sistemas operativos podemos elegir la opción de que se instale el servicio en la instalación del sistema. Si no tienes el servicio instalado en tu maquina es muy fácil, solo hay que instalar la aplicación openSSH. Yum install openssh Después verificamos que si este corriendo el servicio SSH.

- - Fase 1:

Deje la configuración por defecto del servicio

Desde una maquina cliente acceda por SSH a diferentes cuentas en el servidor, una de esa cuentas debe ser el "root"

Page 11: Configuracion SSH y Telnet en GNU Linux

verifique con una captura de red (sniffer) la transacción. Haga algo similar a lo hecho en el punto 2.

Volvemos a juntar las tramas tcp y este es el resultado algo totalmente diferente con lo que paso con TELNET.

Page 12: Configuracion SSH y Telnet en GNU Linux

- - Fase 2:

Deshabilite el login remoto para root

Para deshabilitar el login de root debemos de entrar en el archivo /etc/ssh/sshd_configy agregar o descomentar la línea resaltada en rojo, se recomienda antes de hacer todo esto hacer un Backup del archivo de configuración por si tenemos alguna falla en la configuración.

Guardamos la configuración y reiniciamos el servicio.

En la siguiente imagen podemos constatar que la configuración fue correcta y el login de root no se pude llevar acabo.

Bloquear el login del root es un parámetro de seguridad muy importante para estos servicios de acceso remoto.

Page 13: Configuracion SSH y Telnet en GNU Linux

habilite el login remoto por SSH solo para los usuarios pertenecientes al grupo "sshadmin"

Primero creare el grupo sshadmin

Ahora hare parte a un usuario del grupo sshadmin, en este caso el usuario es redes.

Realice las pruebas correspondientes. Voy a crear un usuario que no haga parte del grupo sshadmin para demostrarles que no se pude acceder con un usuario que no pertenezca a este grupo.

Ahora intentare ingresar por SSH al usuario sysadmin y como podrán ver ese usuario tiene permiso denegado para el acceso SSH.

Page 14: Configuracion SSH y Telnet en GNU Linux

Ahora ingresare con un usuario que pertenezca al grupo sshadmin, en este caso voy a ingresar con el usuario redes que ya pertenece al grupo sshamdin.

Como pueden ver ingrese con el usuario redes y el password de este usuario a la cuenta del súper usuario root.

Page 15: Configuracion SSH y Telnet en GNU Linux

Pregunta: ¿Cómo administraría remotamente la maquina como "root"? Para administrar esta máquina remotamente como root y sabiendo que el login de root esta deshabilitado y que solo se pueden logear usuarios del grupo sshadmin podemos hacer que los usuarios o algunos usuarios del grupo sshadmin puedan convertirse en root; Para esto configuramos el archivo /etc/sudoers como se muestra a continuación.

En la imagen anterior vimos que el grupo sshadmin tiene los privilegios para acceder como root. Ahora vamos hacer pruebas de cómo hacer para acceder como root con un usuario del grupo sshadmin.

Page 16: Configuracion SSH y Telnet en GNU Linux

- - Fase 3:

Desde un cliente, cree un par de llaves RSA o DSA para la autenticación con llaves públicas para SSH.

En este caso yo cree un par de llaves asimétricas DSA, con el nombre de jorge_dsa y jorge_dsa.pub

Importe en el servidor SSH las llaves de asimétricas necesarias para la autenticación del cliente.

Luego de haber creado las llaves debemos exportar la llave pública al servidor SSH, para que podamos autenticarnos con la llave privada.

Page 17: Configuracion SSH y Telnet en GNU Linux

Como pueden ver en la siguiente imagen debemos crear en el home del usuario con el cual nos vamos a autenticar con las llaves asimétricas un directorio oculto llamado .ssh y debe pertenecer al usuario de ese home.

Luego veremos en el archivo de configuración que nombre debe de tener la llave publica en este directorio. Como podrán ver por defecto el nombre del archivo que contiene la llave pública es authorized_keys.

Page 18: Configuracion SSH y Telnet en GNU Linux

Entonces copiamos el archivo que contiene la llave pública en el directorio /home/usuario/.ssh/authorized_keys

Ahora ya tenemos bien exportada la llave pública en el servidor.

Deshabilite el login remoto con "password" en el servidor SSH Para deshabilitar esta opción basta con solo cambiar la siguiente línea en el archivo de configuración.

Por defecto esta línea viene configurada para que pida password para la autenticación, lo que hice fue cambiar esta configuración y decirle que no pida password en la autenticación.

Configure la autenticación a través de algoritmos de llave pública en el servidor SSH

El servicio ssh ya viene configurado para trabajar con autenticación por medio de llaves asimétricas, como pudimos ver anteriormente el archivo esta configurado para buscar en el directorio /home/usuario/.ssh/ el archivo authorized.keys y por medio de esta autenticar al usuario que se intente comunicar con el por medio de la llave privada.

Page 19: Configuracion SSH y Telnet en GNU Linux

realice las pruebas correspondientes Autenticación por medio de llaves publicas: Como pueden ver con el comando que esta resaltado con el color rojo accedemos la llave privada y el servidor ssh la compara con la publica y establece la sesión, adicionalmente te pide una frase que digitaste en la creación de las llaves para no tener dudas de que seas un usuario fraudulento que obtuvo la llave privada del usuario.

Autenticación sin llaves:

Como verán a continuación en la configuración que tenemos solo nos podemos logear con las

llaves y no con password por que deshabilitamos la autenticación por medio de este método.

Page 20: Configuracion SSH y Telnet en GNU Linux

CONCLUSIONES

SSH es un protocolo y una aplicación mucho mas completa que TELNET debido a que es

más segura en el trabajo remoto ya que cifra los datos en la sesión.

TELNET es una aplicación insegura para trabajar en entornos de seguridad debido a que no

trabaja con el cifrado de datos en su comunicación y podrían capturar con un sniffer en la

red todo lo que hagamos en la sesión, como por ejemplo podrían capturar fácilmente las

credenciales con las cuales iniciamos la sesión.

Uno de los parámetros importantes en ssh es el bloque del login de root.

Wireshark es un capturador de tráfico de red o sniffer que nos permite capturar todos los

datos que pasen por red en la cual este escuchando.

SSH nos permite autenticarnos por medio de algoritmos de llaves públicas por ejemplo

DSA o RSA para una mayor autenticidad del usuario.