TEMA 3: SERVICIO SSH
QUE ES SSH? Sucesor de telnet Problemas de seguridad Permite conexiones seguras a través de redes inseguras Da soporte seguro a cualquier protocolo que funcionen sobre TCP
VENTAJAS DE SSH Contraseñas cifradas Datos cifrados Permite lanzar aplicaciones gráficas remotamente y de forma segura
SSH NOS PROTEGE DE Interceptación de la comunicación entre dos sistemas Una tercera máquina captura la información, la modifica y la manda al destino Suplantación de un host o enmascaramiento Una tercera máquina finge que es el destino. El cliente no puede darse cuenta y continua la comunicación
HISTORIA Se crea SSH libre Al tener éxito se patenta y se hace de pago excepto para uso doméstico OpenBSD lo copia y crea OpenSSH totalmente libre y portable Juicios y gana OpenBSD Desaparece SSH de pago OpenSSH soporta SSH1, SSH2 y SSL
ENCRIPTACION La criptografía convierte el texto claro en un criptograma El criptograma solo puede ser decodificado por personas autorizadas La criptografía cada vez usa algoritmos más potentes y difíciles de descifrar Mayor seguridad > Mayor consumo recursos > mayor dificultad para romper la seguridad Clave más larga > Más seguridad
ENCRIPTACIÓN: SSH SSH utiliza varios algoritmos de encriptación Para establecer conexión con la máquina remota usa algoritmos de encriptación asimétrica Para la transferencia de datos utiliza algoritmos de encriptación simétrica, que son más rápidos Encriptación simétrica = clave compartida Encriptación asimétrica = clave pública / privada
ENCRIPTACION: SSH Se resuelven los siguientes problemas: Privacidad y confidencialidad. Solo puede acceder a la información su legítimo destinatario Integridad. Nadie puede modificar la información sin ser detectado Autenticación. Emisor y receptor pueden verificar la identidad de la otra parte No rechazo. El emisor o creador de la información no puede negar su autoría
ENCRIPTACIÓN SIMÉTRICA La clave la conocen el emisor, el receptor y supuestamente nadie más Para un mensaje M y una clave K Emisor encripta M usando el algoritmo de encriptación con clave K y creando el mensaje M' Receptor desencripta M' mediante el algoritmo inverso de encriptación también con clave K, obteniendo así de nuevo el mensaje M
ENCRIPTACIÓN SIMÉTRICA
ENCRIPTACIÓN SIMÉTRICA Ventaja Muy rápido Desventajas Para que la clave sea resistente a ataques de criptoanálisis debe de ser al menos de 40 bits de longitud Cuando dos conocen un secreto, siempre puede saberlo un tercero a espalda de uno de ellos
ENCRIPTACIÓN SIMÉTRICA Algoritmos: DES EEUU 1977. Clave 56 bits + 8 bits de paridad = 64 bits Principalmente utilizado en banca Actualmente en deshuso porque ha sido varias veces reventado IDEA Europa 1992. Clave 128 bits Rápido y sencillo de programar Libre de restricciones y permisos Todavía no ha sido reventado
ENCRIPTACIÓN ASIMÉTRICA Clave pública para cifrar Clave privada para descifrar Cada usuario tiene dos claves La clave privada solo la conoce el dueño La clave pública la conoce todo el mundo Las dos claves se generan al mismo tiempo, por lo que cada combinación de claves es ÚNICA
ENCRIPTACIÓN ASIMÉTRICA Clave de 1024 bits Algoritmo de cifrado sencillo pero de alto coste de proceso al tener una clave tan grande EEUU impone claves de 512 bits para que los equipos de inteligencia puedan reventarlas La información es segura mientras nadie sepa tu clave privada Puedes cambiar la clave cuando quieras, pero cambiar la privada implica cambiar la pública
ENCRIPTACIÓN ASIMÉTRICA Ventajas La clave privada no se transmite Solo es necesario que cada usuario tenga su par de claves Inconvenientes Algoritmos no eficientes de cifrado y descifrado Hay que garantizar la autenticidad de las claves públicas Certificados digitales para garantizar la autenticidad
ENCRITACIÓN ASIMÉTRICA
ENCRITACIÓN ASIMÉTRICA
ENCRIPTACIÓN ASIMÉTRICA
ALGORITMOS ASIMÉTRICOS RSA (Rivest Shamir Adleman) Es el más utilizado Bajo patente de EEUU hasta el 2000 Dentro de EEUU solamente 512 bits Con 512 bits es inseguro Con 1024 bits es moderadamente seguro Vulnerable ante máquinas potentes Premio de los creadores al que lo reventara
ALGORITMOS ASIMÉTRICOS DSA (Digital Signature Algorithm) Puede utilizarse para firmar y para encriptar La firma es reversible pero la encriptación no Mayor grado de seguridad que RSA Certificados digitales emitidos por autoridades de certificación nos aseguran que las claves públicas son válidas
FUNCIONAMIENTO DE SSH Puntos importantes en una conexión: Evitar transmitir las contraseñas como texto plano Usar un sistema de autenticación robusto que no esté basado únicamente en la IP o nombre de máquina para evitar el spoofing Ejecutar ordenes remotas con total seguridad Proteger las transferencias de archivos Hacer seguras las sesiones gráficas que son muy vulnerables
FUNCIONAMIENTO SSH: PASOS El cliente abre una conexión TCP en el puerto 22 del servidor Se negocia la versión SSH a usar y el algoritmo simétrico El servidor posee claves públicas y privada por lo que evita ser suplantado y envia su clave pública al cliente El cliente compara la clave pública del servidor con la que tenía almacenada para comprobar que es auténtica
FUNCIONAMIENTO SSH: PASOS Si es la primera vez que se envia la clave puede haber un ataque de suplantación por un tercero que envía su clave pública. Para evitar esto es bueno tener listas de claves creadas anteriormente El cliente genera una clave de sesión aleatoria El cliente crea un mensaje con la clave de sesión y el algoritmo a usar, lo cifra con la clave pública del servidor y lo envía al mismo El resto de la comunicación usa el algoritmo simétrico con la clave de sesión escogida
OPENSSH Es un proyecto de código abierto Es de licencia libre Reenvio por X11. Las aplicaciones gráficas abiertas remotamente solo se visualizan en la máquina local Reenvío por puertos otros protocolos seguros Reenvío por agente Claves RSA y DSA solo en máquina del usuario Soporte para cliente y servidor SFTP Comprensión de datos
TUNELES SSH Protocolos antiguos tienen problemas de seguridad De poco sirve proteger los servidores si luego las contraseñas no navegan protegidas por la red Dos soluciones: Crear protocolos seguros Modificar los protocolos inseguros de forma que dejen de serlo SSH se encarga de la segunda solución
TUNELES SSH Se crea un túnel en el que los datos viajan de forma segura En los extremos del tunel hay servicios con protocolos no seguros SSH hace port forwarding con los extremos: Toma los datos a un extremo Los envía por el canal seguro hacia el otro extremo En el otro extremo los reenvía al servidor
TUNELES SSH El port forwarding se puede activar desde la configuración de SSH Es interesante para: Acceder a servicios TCP internos de una LAN con direcciones privadas No enviar claves en texto plano en FTP, telnet, messenger, POP3, IMAP o SMTP Atraversar Firewalls que solo permiten SSH Disponer de servicios X a traves de una red insegura
EJERCICIOS Todos los casos prácticos empezando por el 3