Xterm conexión remota mediante ssh

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 11,65 KB

1.¿Qué es el servicio de acceso y control remoto?

Los servicios de acceso remoto permiten mediante la utilización de app de software, establecer conexiones con equipos a distancia y administrarlos de manera centralizada sin necesidad de acceder a ellos. El acceso remoto puede tener consecuencias impredecibles si no se lleva a cabo con unas condiciones de seguridad bien definidas.En los años 60-70 la administración remota se hacía con la orden telnet, eran sistemas basados en un potente servidor y clientes ligeros sin capacidad de proceso, telnet no se creó pensando en seguridad sino en que fuera fácil de usar. En la actualidad no se utiliza debido a los agujeros de seguridad que presenta.Las herramientas de administración remota más utilizadas hoy en día son:-En modo texto: telnet, rlogin y secure shell.-En modo gráfico: VNC en Linux, NX y los servicios de terminal server en Windows.SSH es una herramienta que permite establecer conexiones seguras entre equipos conectados mediante una red insegura. Ha sido diseñado para establecer conexiones remotas y transmitir de manera segura cualquier tipo de datos como archivos y contraseñas.

2.El servicio SSH.Esta herramienta permite establecer conexiones seguras entre máquinas remotas. Su funcionamiento se describe en el RFC 4251. Sus principales carácterísticas son:-Utiliza el puerto 22, el protocolo SSH y sigue el modelo C/S.-Permite la autenticación de los usuarios mediante contraseñas o un sistema de claves.-Permite su integración con otros sistemas de autenticación.-Está implementado para la mayoría de SO y plataformas.

4.1.¿Qué es un túnel SSH?Es un mecanismo mediante el cual se habilita un puerto en el ordenador y una conexión encriptada a una segunda máquina.
Todos los datos que vayan a ese puerto específico pasarán por la conexión segura al segundo ordenador, el cual a su vez puede reenviarlos a otro tercer ordenador.El reenvío de puertos puede ser interesante para los siguientes propósitos:-Para acceder a servicios TCP internos de una LAN con direcciones privadas.-Para no enviar la clave en texto plano de FTP, Telnet...-Para atravesar un cortafuegos donde solo está permitido SSH.-Para disponer de servicios X a través de una red insegura.



2.1.Ventajas de utilizar SSH.-Después de la primera conexión, el cliente puede saber que se conectará al mismo servidor en futuras sesiones.-El cliente transmite alservidor la información necesaria para su autenticación en forma de cifrado.-Todos los datos que se envían y se reciben durante la conexión se transfieren cifrados.-El cliente puede ejecutar app desde el Shell de forma segura.Con la utilización de SSH se evita lo siguiente:-La interceptación de la comunicación entre dos sistemas por parte de una máquina tercera que copia la información que circula entre ellas.-La suplantación de un host o enmascaramiento, es decir, que una máquina finja que es la máquina de destino de un mensaje..Ambos problemas se evitan con el cifrado de paquetes mediante claves que solo son conocidas por el sistema local y el remoto.Existen dos versiones de SSH:-SSH1: Contiene algoritmos de encriptación patentados, algunos caducados y algún agujero de seguridad. Utiliza dos claves, una pública y otra generada de forma aleatoria al solicitar el inicio de sesíón. Soporta el algoritmo RSA.-SSH2: Es una versión más segura. Usa dos claves que dependen del algoritmo de encriptación utilizado. De momento no tiene ningún inconveniente y los algoritmos de encriptación soportados son RSA y DSA.

3.Conceptos básicos sobre encriptación.La criptografía es una técnica utilizada para convertir un texto claro en otro, llamado criptograma, para leer el contenido del criptograma tenemos que estar autorizados. Los algoritmos de encriptado cada vez son más difíciles de descifrar. La seguridad de la clave se basa en la longitud de la clave.SSH utiliza varios algoritmos de encriptación para:-Establecer la conexión con la máquina remota, para lo que se emplean algoritmos de encriptación asimétrica.-Realizar la transferencia de datos, en este caso se utiliza encriptación simétrica que es más rápida.La técnica de encriptación resuelve los problemas siguientes:-Privacidad o confidencialidad: nadie que no sea destinatario no puede acceder a la información.-Integridad: la información no puede ser alterada en el tránsito del emisor al destinatario.-Autenticación: tanto el emisor como el destinatario pueden confirmar la identidad del otro.-No rechazo: el creador de la información no puede negar que es el autor.


4.¿Como funciona SSH?Las claves de una correcta conexión remota son las siguientes:-No transmitir las contraseñas en texto plano por la red.-Proceso de autenticación con garantías.-Ejecución segura de las órdenes remotas, como transferencias de archivos.-Sesiones gráficas X11 seguras (Linux).El servidor SSH funciona de la siguiente manera:1.La máquina cliente abre una conexión TCP sobre el puerto 22 del servidor.2.C/S se ponen de acuerdo en la versión SSH que van a utilizar.3.El servidor tiene dos claves (Pública y privada). El servidor envía su clave pública al cliente.4.El cliente recibe la clave pública y la compara con la que tiene almacenada para verificar si es auténtica.5.El cliente genera una clave de sesíón aleatoria y crea un mensaje que contiene la clave aleatoria generada y el algoritmo seleccionado, todo ello encriptando haciendo uso de la clave pública del servidor. 6.Para el resto de la sesíón remota se utiliza el algoritmo de cifrado simétrico seleccionado y clave de sesíón aleatoria.7.Se autentica el usuario y aquí pueden usarse varios mecanismos.8.Por último se inicia la sesíón de usuario.

5.¿Qué es un cliente SSH?El cliente SSH es la herramienta de software que permite al usuario solicitar el establecimiento de una conexión segura con el servidor SSH. La conexión se puede llevar a cabo mediante herramientas gráficas o desde consola.El proceso o demonio que se ejecuta en el cliente es SSH y se encuentra en el directorio /usr/bin.También pueden utilizarse otras herramientas gráficas como FreeNX o el cliente PuTTy.Si el acceso al servidor se hace desde consola la sintaxis sería:
ssh [usuario@]host.

5.1.Transferencia segura de archivos en Linux.-La orden scp.Permite realizar transferencias simples desde la línea de comandos. Funciona como el comando cp que se utiliza para copiar en local pero de forma remota y segura. Con esta orden pueden hacerse copias seguras de archivos entre distintas máquinas con conexión segura y encriptada.Sigue los mismos esquemas de comprobación que SSH, su funcionamiento dependerá de la manera en que cada usuario haya configurado el SSH.-La orden sftp.Intenta emular la forma de uso de un cliente FTP ordinario para abrir una sesíón segura e interactiva de este tipo. Una vez establecida la conexión, puede utilizarse una serie de comandos específicos en FTP.




5.2.Reenvío X11.El protocolo SSH puede abrir sesiones X por un canal SSH. Cuando se ejecuta un programa X Window desde una shell segura, el cliente y el servidor SSH crean un nuevo canal seguro dentro de la conexión SSH actual, los datos del programa X Window se evían a la máquina cliente a través de este canal como si se realizaseuna conexión al servidor X a través de un terminal local.Es preferible que se pudiera utilizar el mismo canal seguro que se establece con SSH para los clientes X. El reenvío de X11 es un mecanismo que permite la utilización del canal SSH.

5.3.Reenvío por TCP/IP.Este procedimiento se basa en la asignación de un puerto local del cliente a un puerto remoto del servidor.Cuando se utiliza esta técnica, el servidor SSH se convierte en un túnel encriptado para el cliente SSH. El usuario tan solo ha de tener una cuenta en el sistema remoto. Esta técnica también se llama mapeado de puertos.El reenvío TCP/IP puede usarse para aquellos protocolos que no tienen soporte nativo para comunicaciones cifradas y autenticadas como POP, IMAP, FTP. Los servicios basados en estos protocolos pueden hacerse más seguros mediante estos túneles SSH.

6.¿Qué es un servidor SSH?El servidor SSH facilita el establecimiento de conexiones remotas que permiten la transmisión segura de cualquier tipo de datos: archivos, contraseñas, sesiones de login...Open SSH es la aplicación libre más utilizada del servicio SSH. Sus carácterísicas son:-Es software de código abierto.-Tiene licencia libre que permite su utilización para cualquier propósito.-Es compatible con los protocolos SSH1 y SSH2.-Está disponible para plataformas Linux, Windows, Unix, Mac...-Reenvío por puertos, consiste en el envío de conexiones TCP/IP a una máquina remota por un canal cifrado mediante el mapeado de un puerto local en un puerto remoto del servidor.-Reenvío por agente, consiste en que el agente del cliente upede contener claves de autenticación RSA o DSA.-Soporte para cliente y servidor de SFTP en los protocolos SSH1 y SSH2.-Compresión de datos, comprime los datos antes del cifrado, lo cual mejora los resultados en los enlaces con redes lentas.


6.2.Archivos de configuración del servidor SSH.Se ubican en el directorio /etc/ssh/, los más importantes son:-sshd_config: Describe la configuración del servidor SSH.  -ssh_config: Describe la configuración del cliente SSH.-ssh_host_rsa_key:

Clave

RSA privada de la máquina.-ssh_host_rsa_key.Pub: Clave RSA pública de la máquina.-known_hosts: Claves públicas de otras máquinas.-ssh_host_dsa_key: Clave DSA privada de las máquinas.-ssh_host_dsa_key.Pub: Clave DSA pública de la máquina.Algunas directivas incluidas en el archivo de configuración sshd_config son especialmente interesantes:-PermitRootLogin no: indica que el usuario administrador root no puede conectarse a la máquina remota como tal.-RSAAuthentication yes: indica que está permitida la autenticación por clave RSA.-PubkeyAuthentication yes: Informa de que está permitida la autenticación por clave pública.-RhostsAuthenticacion no: indica que no se permite el método de autenticación por rhost.-HostbasedAuthentication no: informa de que no se utiliza el método de autenticación por host, sino por usuario.-X11Forwarding yes: avisa de que permite a los clientes que se conecten, ejecutar app de X Window y transmitir la información gráfica sobre la conexión segura.-MaxAuthTries nn: establece el número máximo de intentos de conexión.

6.7.El agente de autenticación ssh-agent.El agente de autenticación permite simplificar el proceso de conexión a una máquina remota en caso de que se utilice autenticación por clave pública. Actúa como almacén de las claves privadas y las suministra al cliente SSH cada vez que este las necesita. Para añadir nuestra clave privada RSA a este depósito se utiliza el comando ssh-add. El agente dispone en memoria de nuestra clave descifrada y ya no pide ni frase de paso ni contraseña.Consideraciones de seguridad sobre el agente:-Al aumentar la facilidad de uso del servicio, disminuye la seguridad.-Si dejamos el terminal desatendido, cualquiera que pase por delante puede conectarse a una máquina remota haciéndose pasar por nosotros.-El uso del agente solo es recomendable en casos concretos que justifiquen su utilización o sea cuando tengamos que abrir muchas sesiones al día.-Cuando se utilize el agente, hay que asegurarse de que el terminal queda bloqueado antes de abandonar el puesto de trabajo aunque sea por poco tiempo.

Entradas relacionadas: