1 PROTOCOLO SSH MARTA BENÍTEZ GONZÁLEZ JOSÉ GUTIÉRREZ BENÍTEZ

  • View
    214

  • Download
    0

Embed Size (px)

Text of 1 PROTOCOLO SSH MARTA BENÍTEZ GONZÁLEZ JOSÉ GUTIÉRREZ BENÍTEZ

  • PROTOCOLO SSHMARTA BENTEZ GONZLEZJOS GUTIRREZ BENTEZ

  • CONTENIDOIntroduccinCaractersticasVersiones del protocolo SSHSecuencia de eventos de una conexin SSHArchivos de configuracin de OpenSSHMs que un SHELL seguroRequerir SSH para conexiones segurasOpenSSH (servidor y cliente)

  • Introduccin

    SSH permite a los usuarios registrarse en sistemas de host remotamente. Encripta la sesin de registro imposibilitando que alguien pueda obtener contraseas no encriptadas.

    Est diseado para reemplazar los mtodos ms viejos y menos seguros para registrarse remotamente en otro sistema a travs de la shell de comando, tales como telnet o rsh.

  • Caractersticas (I)SSH es un protocolo para crear conexiones seguras entre dos sistemasusando una arquitectura cliente/servidor. Proporciona los siguientes tiposde proteccin: El cliente puede verificar que se est conectando al servidor al que se conect inicialmente. El cliente transmite su informacin de autenticacin al servidor usando una encriptacin robusta de 128 bits. Todos los datos enviados y recibidos durante la conexin se transfieren por medio de encriptacin de 128 bits, lo cual los hacen extremamente difcil de descifrar y leer. El cliente tiene la posibilidad de enviar por X11 las aplicaciones lanzadas desde el intrprete de comandos del shell. Esta tcnica proporciona una interfaz grfica segura (reenvo por X11).

  • Caractersticas (II)

    El servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una tcnica llamada reenvo por puerto, como por ejemplo POP, incrementando la seguridad del sistema en general y de los datos. Muchas aplicaciones SSH cliente estn disponibles para casi todos los principales sistemas operativos en uso hoy da.

  • Por qu usar SSH? Las amenazas se pueden catalogar del siguiente modo: Intercepcin de la comunicacin entre dos sistemas La parte interceptora puede interceptar y conservar la informacin, o puede modificar la informacin y luego enviarla al receptor al cual estaba destinada. Este ataque se puede montar a travs del uso de un paquete sniffer una utilidad de red muy comn. Personificacin de un determinado hostUn sistema interceptor finge ser el receptor a quien est destinado un mensaje. Si funciona la estrategia, el cliente no se da cuenta del engao y contina la comunicacin con el interceptor como si su mensaje hubiese llegado a su destino satisfactoriamente. Esto se produce con tcnicas como el envenenamiento del DNS o spoofing de IP.

    El cliente SSH y el servidor usan firmas digitales para verificar su identidad. Toda la comunicacin entre los sistemas cliente y servidor es encriptada.

  • Versiones del protocolo SSHExisten dos variedades de SSH actualmente:

    La versin 1 de SSH Hace uso de muchos algoritmos de encriptacin patentados y es vulnerable a un hueco de seguridad que potencialmente permite a un intruso insertar datos en la corriente de comunicacin. La versin 2 de SSHLa suite OpenSSH bajo Red Hat Linux utiliza la versin 2 por defecto.

    Importante Se recomienda que slo se utilicen servidores y clientes compatibles con la versin 2 de SSH siempre que sea posible.

  • Secuencia de eventos de una conexin SSHLa siguiente serie de eventos ayudan a proteger la integridad de lacomunicacin:

    Se lleva a cabo un 'handshake' encriptado para que el cliente pueda verificar que se est comunicando con el servidor correcto. La capa de transporte entre el cliente y la mquina remota es encriptada mediante un cdigo simtrico. El cliente se autentica ante el servidor. El cliente remoto puede interactuar con tranquilidad con la mquina remota.

  • Secuencia de eventos de una conexin SSH

    EJEMPL0 1EJEMPL0 2[root@localhost ksh]# ssh a2554@pracgsi.ulpgc.esa2554@pracgsi.ulpgc.es's password:Last login: Fri May 7 20:39:08 2004 from 39.red-80-37-155.pooles.rima-tde.net[a2554@ftp0 a2554]$ lsAcampada mbox public_html

  • Capa de transporte (I)El papel principal de la capa de transporte es facilitar una comunicacin segura entre los dos hosts en el momento y despus de la autenticacin. Se lleva a cabo manejando la encriptacin y decodificacin de datos y proporcionando proteccin de los paquetes de datos.Al contactar un cliente a un servidor, se negocian varios puntos importantes para que ambos sistemas puedan construir la capa de transporte correctamente. Se producen los siguientes pasos: - Intercambio de claves - Se determina el algoritmo de encriptacin de la clave pblica- Se determina el algoritmo de la encriptacin simtrica- Se determina el algoritmo autenticacin de mensajes- Se determina el algoritmo de hash que hay que usar

  • Capa de transporte (II)El servidor se identifica ante el cliente con una clave de host nica durante el intercambio de claves. OpenSSH permite que el cliente acepte la clave de host del servidor despus que el usuario sea notificado y verifique la aceptacin de la nueva clave del host. Para las conexiones posteriores, la clave de host del servidor se puede verificar con la versin guardada en el cliente, proporcionando la confianza que el cliente est realmente comunicando con el servidor deseado.

    SSH fue ideado para funcionar con casi cualquier tipo de algoritmo de clave pblica o formato de codificacin. Despus del intercambio de claves inicial se crea un valor hash usado para el intercambio y un valor compartido secreto.

    Despus que una cierta cantidad de datos haya sido transmitida con un determinado algoritmo y clave, ocurre otro intercambio de claves, el cual genera otro conjunto de valores de hash y un nuevo valor secreto compartido. De esta manera aunque un agresor lograse determinar los valores de hash y de secreto compartido, esta informacin slo ser vlida por un perodo de tiempo limitado.

  • AutenticacinEl servidor le dir al cliente los diferentes mtodos de autenticacin soportados, tales como el uso de firmas privadas codificadas con claves o la insercin de una contrasea.

    El cliente intentar autenticarse ante el servidor mediante el uso de cualquiera de los mtodos soportados.

    Luego, el servidor podr decidir qu mtodos de encriptacin soportar basado en su pauta de seguridad, y el cliente puede elegir el orden en que intentar utilizar los mtodos de autenticacin entre las opciones a disposicin.

  • CanalesMltiples canales son abiertos a travs de la tcnica llamada multiplexar. Cada uno de estos canales manejan la conexin para diferentes sesiones de terminal y para sesiones X11. Cada canal es asignado a un nmero diferente en cada punta de la conexin. Cuando el cliente intenta abrir un nuevo canal, los clientes envan el nmero del canal junto con la peticin. Esto es hecho para que diferentes tipos de sesin no afecten una a la otra y as cuando una sesin termine, su canal pueda ser cerrado sin interrumpir la conexin SSH primaria. Los canales tambin soportan el control de flujo, el cual les permite enviar y recibir datos ordenadamente. De esta manera, los datos no se envan a travs del canal sino hasta que el host haya recibido un mensaje avisando que el canal est abierto y puede recibirlos. El cliente y el servidor negocian las caractersticas de cada canal automticamente.

  • Archivos de configuracin de OpenSSH (I)OpenSSH tiene dos conjuntos diferentes de archivos de configuracin: uno para los programas cliente (ssh, scp, y sftp) y otro para el demonio del servidor (sshd). La informacin de configuracin SSH para todo el sistema est almacenada en el directorio /etc/ssh/:

    - Moduli. Contiene grupos Diffie-Hellman usados para el intercambio de la clave Diffie-Hellman. Cuando se intercambian las claves al inicio de una sesin SSH, se crea un valor secreto y compartido que no puede ser determinado por ninguna de las partes individualmente. Este valor se usa para proporcionar la autentificacin del host. - ssh_config. Archivo de configuracin del sistema cliente SSH por defecto que se sobreescribe si hay alguno ya presente en el directorio principal del usuario (~/.ssh/config).

  • Archivos de configuracin de OpenSSH (II)- sshd_config. El archivo de configuracin para el demonio sshd. - ssh_host_dsa_key. La clave privada DSA usada por el demonio sshd. - ssh_host_dsa_key.pub. La clave pblica DSA usada por el demonio sshd. - ssh_host_key. La clave privada RSA usada por el demonio sshd para la versin 1 del protocolo SSH. - ssh_host_key.pub. La clave pblica RSA usada por el demonio sshd para la versin 1 del protocolo SSH. - ssh_host_rsa_key. La clave privada RSA usada por el demonio sshd para la versin 2 del protocolo SSH. - ssh_host_rsa_key.pub. La clave pblica RSA usada por el demonio sshd para la versin 2 del protocolo SSH.

  • Archivos de configuracin de OpenSSH (III)[a2554@ftp0 a2554]$ cd /etc/ssh[a2554@ftp0 ssh]$ lsmoduli ssh_host_dsa_key ssh_host_rsa_key.pub ssh_authorized_keys ssh_host_dsa_key.pub ssh_known_hosts ssh_authorized_keys2 ssh_host_key ssh_known_hosts2 ssh_config ssh_host_key.pub sshd_config ssh_host_rsa_key

  • Archivos de configuracin de OpenSSH (IV)La informacin especfica para el usuario est almacenada en el directorio principal ~/.ssh/: - authorized_keys. Este archivo que contiene una lista de claves pblicas "autorizadas".- id_dsa. Contiene la clave privada DSA del usuario. - id_dsa.pub. Contiene la clave pblica DSA del usuario. - id_rsa. La clave RSA privada usada por ssh para la versin 2.- id_rsa.pub. La clave pblica RSA usada por ssh para la versin 2.- identity. La clave privada RSA usada por ssh para la versin 1. - identity.pub. La clave pblica RSA usada por ssh para la versin 1. - known_hosts. Este archivo contiene las claves de host DSA de los servidores SSH accesados por el usuario. Este archivo es muy importante