Está en la página 1de 15

UD5.

Servicios de acceso y control remoto SER

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

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).

La instalación de OpenSSH requiere la instalación del paquete OpenSSL (www.openssl.org), que


contienen varias bibliotecas necesarias para el cifrado de comunicaciones a través de openSSH y que
normalmente se instala como una dependencia de OpenSSH.

1.2. El servicio Telnet


En la década de los 60 y 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 se creó pensando en la
usabilidad y no en la seguridad.
Actualmente, no se utiliza telnet debido a los múltiples agujeros de seguridad que presenta. Como
ejemplo: la transmisión entre un cliente y el servidor se realiza usando “texto plano”, es decir, sin cifrar y con
cualquier sniffer es posible capturar tramas para obtener usuario y contraseña. Otro fallo de seguridad es
permitir conexiones como root y no almacenar el número de intentos fallidos de conexión.

Noticia en la red sobre los fallos de seguridad de la herramienta Telnet

2ºSMX 1
UD5. Servicios de acceso y control remoto SER

1.2.1. Activar Servidor Telnet en Windows 2003


El servicio Telnet se instala durante la instalación de Windows Server 2003, pero su tipo de inicio se
establece en Deshabilitado de manera predeterminada.
Cómo iniciar de manera automática el servicio Telnet
Para configurar el servicio Telnet para que se inicie automáticamente cada vez que reinicia su equipo,
siga estos pasos:
Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Servicios.
Haga clic con el botón secundario del mouse en el servicio Telnet y, a continuación, haga clic en
Propiedades en el menú contextual.
En el cuadro Tipo de inicio, haga clic en Automático. NOTA: para iniciar el servicio ahora, haga clic en
Iniciar.
Haga clic en Aceptar.
Cómo iniciar manualmente el servicio Telnet
NOTA: el tipo de inicio predeterminado para el servicio Telnet en Windows Server 2003 es
"Deshabilitado"; lo que no permite iniciar el servicio manualmente. Para poder iniciar el servicio
manualmente, cambie el tipo de inicio a "Manual" o "Automático". Para ello, siga estos pasos:
Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Servicios.
Haga clic con el botón secundario del mouse en el servicio Telnet y, a continuación, haga clic en
Propiedades en el menú contextual.
En el cuadro Tipo de inicio, haga clic en Automático o en Manual. Si hace clic en Automático, el
servicio se iniciará cada vez que reinicie el equipo.
Haga clic en Aceptar.
Para iniciar el servicio Telnet manualmente en Windows Server 2003, utilice cualquiera de los
siguientes procedimientos:
En un símbolo del sistema, escriba telnet start net y, a continuación, presione ENTRAR.
En el símbolo del sistema, escriba tlntadmn start y, a continuación, presione ENTRAR.
Haga clic en Inicio, seleccione Herramientas administrativas, haga clic en Servicios, haga clic con el
botón secundario del mouse en el servicio Telnet y, a continuación, haga clic en Iniciar.
Haga clic en Inicio, seleccione Herramientas administrativas, haga clic en Servicios, haga clic con el
botón secundario del mouse en el servicio Telnet y, a continuación, haga clic en Propiedades en el menú
contextual y haga clic en Iniciar.
Cómo utilizar el servicio Telnet
Para comenzar a usar la utilidad Telnet.exe para conectarse a un servidor Telnet local o a un servidor
Telnet remoto, haga clic en Inicio, en Ejecutar, escriba uno de los comandos siguientes en el cuadro Abrir y, a
continuación presione ENTRAR:
telnet direcciónIP
telnet nombreServidor
donde direcciónIP es la dirección IP del servidor y nombreServidor es el nombre del servidor. La sesión
Telnet continuará en la ventana de Símbolo del sistema.
NOTA: de manera predeterminada, el servidor utiliza autenticación NTLM y pedirá que especifique un
nombre de usuario y una contraseña.

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.

2.1. Ventajas de usar el Servicio SSH

Algunas de las ventajas de SSH son:


 Después de la primera conexión, el cliente puede saber que se conectará al mismo servidor en
futuras sesiones.
 El cliente transmite al servidor la información necesaria para su autenticación.
 Todos los datos que se envían y se reciben durante la conexión se transfieren cifrados.
 El cliente puede ejecutar aplicaciones gráficas desde el Shell de forma segura.

Además, con SSH se evita los siguientes riesgos:


 La interceptación de la comunicación de dos sistemas por parte de una máquina tercera que
copia la información que circula entre ellas y puede introducir modificaciones y reenviarla a la
máquina destino.
 La suplantación de un host, o enmascaramiento. Una máquina puede fingir que es la máquina
destino y el cliente al no darse cuenta continúa con la transmisión.

Existen dos versiones diferentes del protocolo SSH. En esta tabla veremos las características más
importantes:

Versiones SSH SSH1 SSH2


Contiene Algoritmos de encriptación Versión más segura
patentados, alguno caducado y
agujeros de seguridad
Claves que usan Dos Claves una pública y otra Dos claves que dependen del
aleatoria que se genera al solicitar algoritmo de encriptación usado
inicio de sesión
Inconvenientes La generación aleatoria de la clave De momento ninguno
consume mucho tiempo de CPU.
Tiene un fallo de seguridad que
compromete la clave justo
después de ser generada
Algoritmos de encriptación RSA RSA y DSA
soportados

2ºSMX 3
UD5. Servicios de acceso y control remoto SER

2.2. Criptografía, claves públicas y privadas en SSH


La criptografía es una técnica utilizada para convertir un texto claro en otro cuyo contenido es igual al
anterior pero sólo puede ser descodificado por personas autorizadas.
SSH utiliza varios algoritmos de encriptación y autenticación para los casos siguientes:
 Establecer la conexión con la máquina remota, para lo que emplea encriptación asimétrica.
 Realizar la transferencia de datos, en cuyo caso se utiliza encriptación simétrica.

La técnica de encriptación simétrica resuelve los problemas de privacidad o confidencialidad,


integridad, autenticación y no rechazo o no repudio. Se trata de una técnica basada en el uso de una clave
conocida por el emisor y el receptor del mensaje. La misma clave que cifra en el origen, descifra en el
destino. Es muy eficiente para el cifrado de grandes volúmenes de información, ya que los algoritmos
utilizados son muy rápidos, aunque debe tener más de 40 bits para que sea una clave fuerte. La robustez se
mide por su tamaño. Tiene el inconveniente de que tanto el emisor como el receptor han de conocer la
clave.
Entre los algoritmos de cifrado simétrico más usados, se hallan los de la familia DES, e IDEA.
 El algoritmo 3DES realiza un triple cifrado sobre una clave DES de longitud de 56 bits, pero por
desgracias ha sido “derrotado” en numerosas pruebas.
 El algoritmo IDEA trabaja con claves de 128 bits y se usa para el cifrado del correo electrónico,
es sencillo de programar y rápido, además de que por ahora no ha sido “derrotado”.

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

3. Funcionamiento del servicio SSH


SSH funciona de la siguiente forma:
1) La máquina cliente abre una conexión TCP sobre el puerto 22 del servidor.
2) La máquina cliente y el servidor se ponen de acuerdo en la versión de SSH que van a utilizar.
3) El servidor tiene dos claves, envía la 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.
La primera vez SSH pide que el usuario la confirme. En este envío se podría producir un cambio y
sustituirla por otra (ataque “man in de middle”), se trata de su punto más débil, aunque se pueden
prevenir en una intranet fácilmente. Basta con publicar un listado con las claves para que los usuarios
puedan verificarlas.
5) El cliente genera una clave de sesión aleatoria y crea un mensaje que contiene la clave aleatoria
generada y el algoritmo seleccionado. El cliente envía ese paquete cifrado al servidor.
6) Para el resto de la sesión remota se utiliza el algoritmo cifrado simétrico seleccionado y la clave de
sesión aleatoria. En este punto se autentica el usuario, y por último se inicia la sesión de usuario.

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

3.1. Reenvío de puertos SSH


Como la mayoría de protocolos que se emplean en las comunicaciones se basan en diseños de los 70
descuidan la seguridad en redes. Frente a estos problemas se pueden generar nuevos protocolos seguros o
modificar los protocolos no seguros para que lo sean.
El procedimiento consiste en crear un túnel por el que viajen los datos de manera segura, en los
extremos de dicho túnel se ejecutan los servicios con protocolos no seguros como POP3 o FTP.
SSH es capaz de asegurar la comunicación mediante la criptografía haciendo uso de la técnica del
reenvío de puertos (PortForwarding). SSH toma los datos que el cliente envía en un extremo del túnel, y los
reenvía por el canal seguro creado a partir de dicho túnel, hacia el otro extremo donde se recogen los datos
que son reenviados al servidor.

El reenvío de puertos puede ser interesante para:


 Acceder a servicios TCP internos de una LAN con direcciones privadas.
 No enviar la clave en texto plano de FTP, Telnet, Messenger, POP3, IMAP o SMTP.
 Atravesar un cortafuegos donde sólo está permitido SSH.
 Disponer de servicios X a través de una red insegura.

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

4.1. Transferir archivos mediante SSH.


Para la transferencia de archivos en GNU/Linux existen diversas opciones: la orden scp y la orden sftp.
La orden scp
Permite realizar transferencias simples desde la línea de comandos. Funciona como el comando cp.
Con esta orden pueden hacerse copias seguras de archivos y directorios con conexión segura y encriptada
entre distintas máquinas.

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

4.2. Reenvío de X11.


También se pueden 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. Los datos del programa X
Window se envían a la máquina cliente a través de dicho canal.

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

4.3. Reenvío por TCP/IP.


Este tipo de reenvío se basa en la asignación de un puerto local del cliente a un puerto remoto del
servidor. De esta forma la información cuyo destino es un puerto de la máquina local se puede enviar a
otro puerto de una máquina remota. Si el reenvío por TCP/IP se configura para escuchar por puertos
inferiores a 1024 hay que ser root.

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.

5. Funcionamiento del servicio SSH


El servidor SSH facilita el establecimiento de conexiones remotas que permiten la transmisión segura
de cualquier tipo de datos.
Usaremos como herramienta base OpenSSH es la implementación libre más utilizada del servicio
SSH, y sus características son:
 Código Abierto
 Licencia libre
 Compatible con los protocolos SSH1 y SSH2
 Disponibles para plataformas GNU/Linux y Windows
 Reenvío de puertos
 Reenvío por agente (Consiste en que el agente del cliente puede contener las claves de
autenticación de RSA o DSA)
 Soporte para cliente y servidor SFTP en los protocolos SSH1 y SSH2
 Compresión de datos

5.1. Instalación del servidor SSH

2ºSMX 12
UD5. Servicios de acceso y control remoto SER

2ºSMX 13
UD5. Servicios de acceso y control remoto SER

5.2. Los archivos de configuración del servidor SSH


Los archivos de configuración de OpenSSH están 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)
 ssh_host_rsa_key.pub (Clave RSA pública)
 known_hosts (Claves públicas de otras máquinas)
 ssh_host_dsa_key (Clave DSA privada)
 ssh_host_dsa_key (Clave DSA pública)
Una configuración del servidor puede ser, por ejemplo, en el caso de evitar que todos los usuarios de
la máquina estén accesibles por SSH, hay que editar como root el archivo /etc/ssh/sshd_conf, añadir la
línea AllowUsers y los usuarios que puedan conectarse remotamente vía SSH. Bastará con añadir la línea:
AllowUsers nombre_1 nombre_2 nombre_3

5.3. Autenticación de usuarios en el servidor SSH


Existen varios métodos de autenticación de usuarios, los más comunes son:
Autenticación por contraseña:
SSH permite autenticar a un usuario utilizando su contraseña. Cada vez que el usuario quiera
establecer una conexión, se le pide una contraseña que se envía al servidor. Este comprueba que el usuario
existe y que la clave introducida es correcta.
Autenticación por clave pública:
En este método de autenticación, se tienen dos claves. Una privada, que sólo el usuario conoce, y una
pública, que el usuario publica en la red. Funciona con el siguiente método.

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

También podría gustarte