SSH™ (o Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas. La idea en la que se basa SSH es la de hacer un túnel por el cual viajarán los datos de manera segura ("tunneling").
SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el servidor, evite usarlas mientras le sea posible. El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto.
Características de SSH
El protocolo SSH proporciona los siguientes tipos de protección:
Después de la conexión inicial, el cliente puede verificar que se está conectando al mismo servidor al que se conectó anteriormente.
El cliente transmite su información de autenticación al servidor usando una encriptación robusta de 128 bits.
Todos los datos enviados y recibidos durante la sesión se transfieren por medio de encriptación de 128 bits, lo cual los hacen extremamente difícil de descifrar y leer.
El cliente tiene la posibilidad de reenviar aplicaciones X11 [1] desde el servidor. Esta técnica, llamada reenvío por X11, proporciona un medio seguro para usar aplicaciones gráficas sobre una red.
Ya que el protocolo SSH encripta todo lo que envía y recibe, se puede usar para asegurar protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto, como por ejemplo POP, incrementando la seguridad del sistema en general y de los datos.
Ficheros de configuración SSH
SSH tiene dos conjuntos diferentes de ficheros de configuración, uno para los programas del cliente (ssh, scp, y sftp) y el otro para los servicios del servidor (sshd), ubicados en dos sitios diferentes.
La información de configuración 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 que es imprescindible para la construcción de una capa de transporte seguro. Cuando se intercambian las claves al inicio de una sesión SSH, se crea un valor secreto y compartido que no puede ser determinado por ambas partes a la misma vez. Este valor se usa para proporcionar la autentificación del host.
ssh_config — fichero de configuración del cliente SSH por defecto que se sobreescribe si éste está persente el el directorio principal del usuario (~/.ssh/config).
sshd_config — el fichero de configuración para sshd.
ssh_host_dsa_key — la clave privada DSA usada por sshd.
ssh_host_dsa_key.pub — la clave pública DSA usada por sshd.
ssh_host_key — la clave privada RSA usada por sshd para la versión 1 del protocolo SSH.
ssh_host_key.pub — la clave pública RSA usada por sshd para la versión 1 del protocolo SSH.
ssh_host_rsa_key — la clave privada RSA usada por sshd para la versión 2 del protocolo SSH.
ssh_host_rsa_key.pub — la clave pública RSA usada por sshd para la versión 2 del protocolo SSH.
La información para la configuración SSH específica para el usuario está almacenada en el directorio principal ~/.ssh/:
authorized_keys — el fichero que contiene una lista de claves públicas "autorizadas". Si un usuario que se conecta puede comprobar que conoce la clave privada que corresponde a cualquiera de las claves públicas, entonces será autenticada. Note que esto es sólo un método de autenticación opcional.
id_dsa — contiene la identidad de autenticación DSA del usuario.
id_dsa.pub — la clave pública DSA del usuario.
id_rsa — La clave pública RSA usada por sshd para la versión 2 del protocolo SSH.
identity — La clave privada RSA usada por sshd para la versión 1 del protocolo SSH.
known_hosts — Este fichero contiene las claves de host DSA de los servidores SSH a los que se accede mediante el usuario. Este fichero es muy importante para asegurse de que el cliente SHH está conectado al servidor SSH correcto. Si se ha cambiado una clave de host y no está seguro del porqué, debería contactar con el administrador del sistema del servidor SSH para asegurarse de que el servidor no está comprometido. Si las claves de host del servidor están alteradas legitimamente debido a una reinstalación de Red Hat Linux, la próxima vez que se registre en aquel servidor se le notificará que la clave del host almacenada en el fichero known_hosts no coincide. Para conectarse al servidor, el usuario debe abrir el fichero known_hosts en un editor de textos y borrar la clave para ese host. Esto permite que el cliente SSH cree una nueva clave de host.
No hay comentarios:
Publicar un comentario