7º Unidad Didáctica Protocolos TELNET y SSH Eduard Lara 1 1. SERVIDOR TELNET Telnet viene de TELecommunication NETwork. Es el nombre de un protocolo de red y del programa informático que implementa el cliente Un servidor telnet permite a los usuarios acceder a un ordenador huésped para realizar tareas como si estuviera trabajando directamente en ese ordenador. Pertenece a la familia de protocolos de Internet. Sigue un modelo cliente/servidor El puerto TCP que utiliza el protocolo telnet es el 23. Telnet es un protocolo del nivel aplicación y va sobre TCP/IP 2 1. USOS SERVIDOR TELNET Telnet sólo sirve para acceder remotamente en modo terminal, es decir, sin gráficos. Útil para: - Arreglar fallos a distancia, de forma remota - Consultar datos a distancia. Telnet ha tenido y tiene un fuerte uso en sistemas UNIX-LINUX y en equipos de comunicaciones (configuración de routers) Permite abrir una sesión con una máquina UNIX, de modo que múltiples usuarios con cuenta en la máquina, se conectan, abren sesión y pueden trabajar utilizando esa máquina. 3 1. MANEJO BÁSICO DE TELNET Para iniciar una sesión con un intérprete de comandos de otro ordenador, teclear el comando telnet seguido del nombre o la dirección IP de la máquina en la que desea trabajar: telnet servidor.upc.edu telnet 192.200.30.40 Una vez conectado, podrá ingresar el nombre de usuario y contraseña remoto para iniciar una sesión en modo texto a modo de consola virtual 4 1. PROBLEMAS SERVIDOR TELNET Mayor problema: la seguridad Telnet, por defecto, no cifra ninguno de los datos enviados sobre la conexión (contraseñas inclusive). Todo viaja por la red comotexto plano sin cifrar. Cualquiera que espíe el tráfico de la red mediante un sniffer, puede obtener los nombres de usuario y contraseñas, y así acceder él también a las máquinas. No se recomienda su uso. SOLUCIÓN: Protocolo SSH (versión cifrada de Telnet) Permite cifrar toda la comunicación del protocolo entre el cliente y el servidor, durante el establecimiento de sesión 5 2. PROTOCOLO SSH SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa. Cifra la información antes de transmitirla, autentica la máquina a la cual se conecta y puede emplear mecanismos de autenticación de usuarios más seguros. SSH permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH. Se utiliza TCP en el puerto 22 y la versión 2 (la versión 1 presenta un grave problema de seguridad) 6 2. SEGURIDAD EN SSH SSH trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión No obstante es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos –man-in-the-middle. 7 2. SECUENCIA CONEXIÓN SSH • La siguiente serie de eventos lo ayudan a proteger la integridad de la comunicación SSH entre dos host: 1. Se lleva a cabo un 'handshake' (apretón de manos) encriptado para que el cliente pueda verificar que se está comunicando con el servidor correcto. 2. La capa de transporte de la conexión entre el cliente y la máquina remota es encriptada mediante un código simétrico. 3. El cliente se autentica ante el servidor. 4. El cliente remoto interactúa con la máquina remota sobre la conexión encriptada. 8 PRACTICA 1. INSTALACIÓN SERVIDOR TELNET EN WINDOWS XP Paso 1. Hacer click en Panel de control Æ Herramientas administrativas Æ Servicios. 9 PRACTICA 1. INSTALACIÓN SERVIDOR TELNET EN WINDOWS XP Paso 2. Hacer click con el botón secundario del mouse en el servicio Telnet y, a continuación, hacer click en Propiedades de su menu. 10 PRACTICA 1. INSTALACIÓN SERVIDOR TELNET EN WINDOWS XP Paso 3. En el cuadro Tipo de inicio, hacer click en Automático o en Manual. Si hacemos click en Automático, el servicio se iniciará cada vez que reinicie el equipo. 11 PRACTICA 1. INSTALACIÓN SERVIDOR TELNET EN WINDOWS XP Paso 4. Para iniciar el servicio ahora, hacemos click en Iniciar. 12 PRACTICA 1. INSTALACIÓN SERVIDOR TELNET EN WINDOWS XP Paso 5. Desde una consola de windows, hacemos: telnet localhost 13 PRACTICA 2. INSTALACIÓN SERVIDOR TELNET EN LINUX UBUNTU Paso 1. Arrancar un Linux Desktop o Server dentro del Vmware. Paso 2. Editar el archivo con la instrucción: gedit /etc/apt/apt.conf.d/70debconf Poner las siguientes líneas al final de este archivo para que la aplicación APT-GET pueda acceder a los resposotorios a través del PROXY de upc Acquire::http::Proxy "http://192.168.2.4:3128"; Æ Fijos Acquire::http::Proxy "http://172.16.255.121:3128"; Æ Portátiles Paso 3. Abrir un terminal y ejecutar los siguientes comandos para instalar los servidores TELNET y SSH: sudo –i (pasamos a usuario administrador) apt-get update (actualización herramienta descarga aplicaciones) apt-get install telnetd (instalación del servidor de telnet) apt-get install openssh-server (servidor ssh) 14 PRACTICA 2. INSTALACIÓN SERVIDOR TELNET EN LINUX UBUNTU Paso 4. Configurar la dirección IP del servidor Linux, editando el fichero /etc/network/interfaces, mediante el editor gedit gedit /etc/network/interfaces OJO!!! Averiguar el nombre que Linux le ha puesto a vuestra interficie Ethernet, mediante el comando ifconfig NOTA: De esta manera cada vez que arranque el equipo, la interficie eth2 estará configurada por defecto con esta dirección IP y no será necesario configurarla cada vez con ifconfig 15 PRACTICA 2. INSTALACIÓN SERVIDOR TELNET EN LINUX UBUNTU Paso 5. Reiniciar el servicio de red ejecutando: /etc/init.d/networking restart Paso 6. Los ficheros de configuración del telnet y ssh son /etc/inetd.conf y /etc/ssh/sshd_config respectivamente. Capturar una imagen de ambos ficheros. Paso 7. Iniciar el servidor de Telnet y ssh mediante los comandos sudo /etc/init.d/openbsd-inetd restart (Para iniciar servidor telnet) sudo /etc/init.d/ssh restart (Para iniciar servidor ssh) Paso 8. Comprobar el funcionamiento del servidor telnet, ejecutando desde un terminal telnet localhost. ¿Qué usuario pondrás? Obtener captura una captura cuando logres entrar. Paso 9. Agregar un nuevo usuario al sistema de forma gráfica que tenga el nombre del alumno Æ Menu Sistema/Administración/ Usuarios y grupos 16 PRACTICA 2. INSTALACIÓN SERVIDOR TELNET EN LINUX UBUNTU Paso 10. Cambiar la subred del Vmware a la que pertenece el equipo Linux; cambiar a la Vmnet 2. Paso 11. Iniciar una máquina cliente Windows XP. Poner la siguiente configuración de red: Dirección IP: 192.168.1.2 Máscara de subred: 255.255.255.0 Servidor DNS preferido: 192.168.1.1 Paso 12. Comprobar que hay conectividad a nivel IP entre la máquina Linux y la máquina Windows, haciendo un ping entre ambas máquinas. NOTA: Cambiar el equipo windows a la Vmnet 2, la misma que el equipo Linux. Paso 13. Descargar e instalar el programa EttercapNG-0.7.3 (sniffer de paquetes para Windows) desde http://sourceforge.net/projects/ettercap/files/ 17 PRACTICA 2. INSTALACIÓN SERVIDOR TELNET EN LINUX UBUNTU Paso 14. El programa Putty (cliente de SSH para Windows): http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe Este programa se ejecuta directamente (no es necesaria su instalación, por lo que tan solo ha de copiarlo a su escritorio). Paso 15. Ejecutar Putty, indicando el protocolo telnet y la dirección IP 192.168.1.1. Cuando pida login y password poner el usuario creado en el paso 9. Paso 16. Cuando esté conectado, realizar un listado (ls) del sistema de archivos. A partir de este momento se podrá navegar y ejecutar comandos en el servidor como si estuviese físicamente delante de él. Finalice la conexión mediante el comando exit. Comprobación en la seguridad de los protocolos A continuación, vamos a comprobar cómo el protocolo Telnet envía los datos en claro por la red (incluyendo logins y passwords), y el protocolo SSH los envía encriptados. 18 PRACTICA 2. INSTALACIÓN SERVIDOR TELNET EN LINUX UBUNTU Paso 17. Ejecutar el programa ettercap, y en el menú Sniff seleccione Unified Sniffing. Seleccionar la Interficie del equipo XP (“Network Interface AMD PCnet Family Ethernet Adapter”). Por último, ir al menú Start y elija Start Sniffing. Paso 18. Conectarse al servidor telnet de Linux mediante Putty, introduciendo el login y password del paso 9. Captura la pantalla del ettercap. ¿Qué se observa? Paso 19. Conectarse al servidor SSH de Linux mediante Putty, introduciendo la IP 192.168.1.1 y el usuario del paso 9. ¿Qué observamos ahora en ettercap? ¿por qué? Paso 20. Por último, para ver la importancia y el cuidado que hay que tener cuando se habilitan estos protocolos, ejecutar este comando en el cliente SSH: halt ¿Qué ocurre? 19