Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.1. Introducción
Los servicios de acceso y control remotos permiten establecer conexiones con equipos a distancia y
administrarlos de manera centralizada sin necesidad de acceder a ellos. Esta función, que parece útil e
inofensiva, puede tener consecuencias impredecibles si no se lleva a cabo con unas condiciones de seguridad
bien definidas. Cualquier agujero de seguridad puede permitir el acceso a terceros no deseados.
Las herramientas de administración remota más utilizadas son:
1. En modo texto: Telnet, rlogin y Secure Shell (SSH).
2. En modo gráfico: VNC, NX y Terminal Server.
SSH es una herramienta que permite establecer conexiones seguras entre equipos conectados
mediante una red insegura. Su aportación más importante es el soporte seguro que da a cualquier protocolo
que funcione sobre TCP y que se basa en la utilización de mecanismos de criptografía. Funciona sobre la
mayoría de sistemas Unix GNU/Linux, si bien hay versiones también para Windows y Mac OS, y el protocolo
que utiliza es SSH.
La versión libre más importante de SSH es la que desarrolla OpenSSH (www.openssh.com).
2ºSMX 1
UD5. Servicios de acceso y control remoto SER
2ºSMX 2
UD5. Servicios de acceso y control remoto SER
2. Servicio SSH
SSH es una herramienta que permite establecer conexiones seguras entre equipos conectados
mediante una red insegura. Está descrito en el RFC 4251.
Las principales características del servicio SSH son:
Utiliza el puerto 22 TCP y UDP, el protocolo SSH y sigue el modelo cliente-servidor.
Permite la autenticación de los usuarios mediante contraseña o un sistema de claves.
Permite su integración con otros sistemas de autenticación.
Está implementado para la mayoría de los sistemas operativos y plataformas.
Existen dos versiones diferentes del protocolo SSH. En esta tabla veremos las características más
importantes:
2ºSMX 3
UD5. Servicios de acceso y control remoto SER
Las técnicas de cifrado asimétrico se basan en el uso de dos claves: una pública y otra privada. La
clave pública cifra, y la clave privada descifra. Según esta técnica cada usuario tiene la clave privada, que sólo
la conoce el dueño, y la pública que la conocen los usuarios en otras máquinas.
El algoritmo utilizado es sencillo, pero al tener hasta 1024 bits, el coste de computación es muy
elevado.
La ventaja de este método es que la clave privada no se transmite, basta con que cada usuario tenga
su clave doble pública-privada. Las desventajas son que no usa algoritmos eficientes, ya que no son rápidos a
la hora de cifrar y descifrar, y que no es fácil disponer de una garantía de autenticidad de las claves públicas.
La técnica de encriptación asimétrica garantiza la confidencialidad de las comunicaciones, sólo el
destinatario legítimo podrá leer el mensaje.
Los algoritmos de clave pública más conocidos son RSA y DSA.
El algoritmo RSA tiene las siguientes características:
Es el algoritmo más utilizado
Puede usarse tanto para encriptar como para firmar documentos
Con 512 bits suele ser inseguro, y con 1024, moderadamente seguro
Puede ser vulnerable ante máquinas potentes
Por lo que respecta a DSA, se caracteriza por lo siguiente:
Puede utilizarse tanto para encriptar como para firmar documentos.
La firma es reversible, la encriptación no.
Posee un mayor grado de seguridad que RSA ya que utiliza más parámetros.
2ºSMX 4
UD5. Servicios de acceso y control remoto SER
2ºSMX 5
UD5. Servicios de acceso y control remoto SER
2ºSMX 6
UD5. Servicios de acceso y control remoto SER
2ºSMX 7
UD5. Servicios de acceso y control remoto SER
4. 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 SSH se puede llevar a cabo mediante herramientas
gráficas o en línea de comandos.
El proceso o demonio que se ejecuta en el cliente es el ssh y se encuentra dentro del directorio
/usr/bin.
Sí queremos ejecutar el cliente desde un terminal teclearemos: ssh [usuario@]host. Donde usuario es
el login de conexión del usuario y el host es la dirección IP de la máquina a la cual nos queremos conectar.
Si queremos ejecutar el cliente en modo gráfico, también podemos utilizar la herramienta Webmin.
Para ello entraremos en la pantalla inicial, y en la categoría Otros elegiremos Conexión SSH (aquí podemos
elegir entre entrar mediante Telnet o SSH).
2ºSMX 8
UD5. Servicios de acceso y control remoto SER
La orden sftp
Intenta emular la forma de uso de un cliente FTP para abrir una sesión segura.
Su sintaxis es :
alumno1@pc11:~$ sftp nombre_usuario@ nombre_maquina
Una vez dentro de la máquina se pueden utilizar comandos específicos de FTP pero sólo está
disponible en OPENSSH2.5 y versiones superiores.
Para ver las órdenes disponibles deberíamos teclear:
alumno1@pc11:~$ sftp nombre_usuario@ nombre_maquina
sftp> help
2ºSMX 9
UD5. Servicios de acceso y control remoto SER
La figura anterior nos muestra el esquema de la conexiónde una sesión X sin SSH. Realmente se ha
establecido una conexión al servidor emoto con SSH pero la máquina local está ejecutando xterm
(terminal virtual usado en el sistema gráfico X window) que se comunica con el servidor X con un canal sin
cifrar.
Todo lo que se teclee en el terminal de la máquina local se transmitirá mediante texto plano a través
de la red y no se aprovecharán las ventajas del SSH.
Usando la opción de reenvío (forwarding )de X11 aprovecharemos la seguridad que nos ofrece SSH
para las comunicaciones.
Al establecer la comunicación con ssh se crea en la máquina remota un pseudo-servidor de X. Desde
esa sesión se ejecuta xterm que se comunica con la máquina remota pero sin viajar por la red.
Ese mismo pseudo-servidor de X se sigue comunicando con el cliente a través del canal cifrado el cual
le va reenviando los datos mediante el canal de SSH.
La orden que hay que lanzar para establecer la terminal xterm en la máquina bajo SSH es:
ssh –n usuario@maquina_remota xterm &
2ºSMX 10
UD5. Servicios de acceso y control remoto SER
2ºSMX 11
UD5. Servicios de acceso y control remoto SER
Cuando se utiliza esta técnica, el servidor SSH se convierte en un túnel encriptado para el cliente SSH.
Pero el usuario ha de tener cuenta en el sistema remoto. A esta técnica también se le denomina
“mapeado de puertos”.
El reenvío por TCP/IP o reenvío de puertos, puede usarse para aquellos protocolos que no tienen
soporte nativo para comunicaciones cifradas y autenticadas, como por ejemplo POP, IMAP o FTP.
La sintaxis para crear un túnel de reenvío local por TCP/IP es la siguiente:
ssh –L puerto_local:maquina_local:puerto_remoto nombre_usuario@maquina_remota
Donde la opción –L indica que se trata de un reenvío local.
Si el administrador del sistema no quiere dejar activa la posibilidad de utilizar el reenvío de puertos
tiene que deshabilitar la opción AllowTcpForwarding en el archivo de configuración del servidor.
2ºSMX 12
UD5. Servicios de acceso y control remoto SER
2ºSMX 13
UD5. Servicios de acceso y control remoto SER
2ºSMX 14
UD5. Servicios de acceso y control remoto SER
1. Una vez establecida la conexión, el servidor genera un número aleatorio que se conoce con el
nombre de “desafío”, cifrado con la clave pública del usuario mediante el algoritmo DSA o
RSA.
2. El usuario debe descifrarlo con la clave privada correspondiente y devolver la respuesta
cifrada al servidor. De esta forma, demuestra que el usuario es quien dice ser.
3. El servidor descifra el texto de respuesta con la clave pública del usuario.
4. El servidor compara el texto resultante con el texto original, Si coinciden el servidor acepta al
usuario como correctamente autenticado.
2ºSMX 15