0% encontró este documento útil (0 votos)
59 vistas125 páginas

Técnicas de Acceso Remoto Seguras

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
59 vistas125 páginas

Técnicas de Acceso Remoto Seguras

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Implantación de técnicas de acceso


remoto.

Caso práctico
Juan se acaba de dar cuenta que durante las dos
próximas semanas va a estar de viaje y no podrá
acceder a los servidores de la empresa. Esto supone
que, durante ese periodo de tiempo, no podrá ayudar
a sus compañeros, Vindio y Laro, a solventar
cualquier problema que surja en cualquiera de los
servidores.

Por tal motivo, Juan se reúne con ambos, planteando


la necesidad de implantar técnicas de acceso remoto
y de configurar adecuadamente los servidores para
tal fin. Jonny Goldstein (CC BY)

—Vindio y Laro, para los próximos días tenemos como reto principal realizar
todas las instalaciones y configuraciones necesarias para poder acceder a los
servidores de la empresa de forma totalmente segura desde cualquier lugar.

En esta unidad se estudiarán las principales técnicas de acceso remoto, así como las
medidas de seguridad básicas que se establecen para que dicho acceso sea seguro para la
red corporativa.

Se comienza analizando los elementos que constituyen la defensa perimetral de una red y
las políticas de seguridad aplicables.

En los siguientes puntos se analizan las redes VPN y los protocolos utilizados a distintos
niveles.

La unidad de trabajo acaba con el análisis de los servidores de acceso remoto y los
mecanismos de autenticación utilizados en dichos accesos.

1 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Materiales formativos de FP Online propiedad del Ministerio de


Educación y Formación Profesional.
Aviso Legal

2 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.- Elementos básicos de la seguridad


perimetral.

Caso práctico
La propuesta que ha realizado Juan ha tenido un
gran impacto en sus compañeros Vindio y Laro, ya
que consideran que la idea de trabajar desde
cualquier lugar es una buena forma de implantar
sistemas de teletrabajo e introducir en la empresa la
conciliación laboral y familiar.

—Juan, lo que sí será necesario es que nuestras


redes sean más flexibles, ¿no?.
Alain Bachellier (CC BY-NC-SA)

—Efectivamente Vindio, no solo eso, tenemos que


hacerlas más seguras para hacer posible la conexión de los dispositivos de
nuestros empleados con las redes de la empresa.

—Juan, ¿qué aplicaciones seguras sería posible usar para lograr el cometido
planteado? ¿por dónde debemos empezar?

—Buena pregunta Laro. El punto de partida debe ser estudiar y analizar los
distintos tipos de herramientas que permiten establecer sesiones de trabajo
interactivas, remotas y de un modo seguro con los servidores. Además, es
necesario identificar y configurar correctamente todos los elementos básicos
que conforman el perímetro de nuestra red.

Abrir una red de área local al mundo exterior de Internet, que es


absolutamente público, puede ser peligroso para una organización
ya que pueden producirse accesos indebidos desde el exterior.
Desde simples curiosos hasta el espionaje de la competencia. Para
resolver este problema se necesitan implementar medidas de
seguridad perimetral, las cuales suponen la primera línea de defensa
entre las redes públicas y las redes corporativas o privadas. Por Alfonso Benayas (CC BY)
tanto, si no se tienen presente medidas de seguridad perimetral, los
peligros de ataques a los servidores y sistemas internos se
multiplican.

De igual manera que el perímetro de seguridad de una instalación militar está protegido por
alambradas para impedir el acceso a cualquier persona ajena al recinto, una instalación

3 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

informática debe protegerse con otro tipo de elementos que garanticen su seguridad para
que no haya intrusiones no deseadas.

Si una de las muchas ventajas de las redes TCP/IP es que conforman


una red abierta, es imposible pedirle también seguridad. Internet está
repleta de delincuentes informáticos de los que hay que protegerse.
Hay que ponerles la mayor cantidad de obstáculos posibles para que
desistan de sus intentos de acceso a la red corporativa y a los
servicios ofrecidos por la misma. Para lograrlo es imprescindible dotar
de seguridad a las redes TCP/IP, usando elementos y mecanismos en
OpenClipart (Dominio público) todos los niveles: encriptación de datos, túneles privados, filtros,
cortafuegos, etc...

En definitiva, se podría definir la seguridad perimetral como el conjunto de hardware y


software utilizado para proteger una red de otras redes en las que no se confía, siendo
el resultado de llevar a la práctica la política de seguridad implantada en la red a la que
se quiere proteger.

Entre las funciones más importantes de la seguridad perimetral se encuentran:

Proteger la información más valiosa de la red.


Rechazar conexiones a servicios que no sean seguros.
Proporcionar un único punto de conexión con el exterior.
Filtrar y controlar el tráfico que entra en la red.
Analizar y prevenir las posibles intrusiones.
Ofrecer una navegación segura a los usuarios de la red, controlando los
sitios a los que se accede mediante listas negras/blancas (no
permitidas/permitidas), sistemas de reputación y otros mecanismos.

Para conseguir realizar estas funciones se deben utilizar, entre otros, los siguientes
elementos:

Routers.
Firewalls.
Proxys.
IDS/IPS
Redes virtuales.
Subredes.

4 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.1.- Router frontera.


El
router
frontera
es el

Pixabay (Dominio público)

Akiana (CC BY-SA)


elemento que se instala en la parte más
externa de la red corporativa. Se encarga de comprobaciones de seguridad en el tráfico de
entrada y salida de la red, convirtiéndose en una especie de policía de tráfico entrante y
saliente.

Estos routers están diseñados para soportar muchas conexiones en las grandes
organizaciones u operadores. En una instalación doméstica este papel lo hace un router
convencional, que es el que se encarga de proporcionar también acceso a Internet.

Internet es una red de redes formada de sistemas autónomos que pueden estar
compuestos por varias áreas conectadas entre sí por los routers frontera.

Los protocolos con los que trabajan los router frontera son los EGP, siendo el más
extendido el BGP (tipo de protocolo EGP). Estos protocolos son necesarios para poder
encaminar la información en Internet. La ruta óptima escogida por BGP viene determinada
por el número de sistemas autónomos atravesados para llegar al destino. Aunque BGP se
utiliza entre sistemas autónomos, también se puede utilizar en su interior. En este caso se
denomina (IBGP). Para distinguirlos del exterior, a éstos se les denomina EBGP.

En la imagen se puede ver la función que realiza BGP en el entramado de Internet,


presentándose una topología de varios sistemas autónomos con conexiones IBGP y EBGP
entre sus routers.

Para saber más


En los siguientes enlaces podrás aprender más cosas sobre el protocolo BGP.

5 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Protocolo BGP usando Packet Tracert

El camino más corto para entender BGP

Autoevaluación
¿Qué protocolo de enrutamiento se utiliza para efectuar la comunicación
entre sistemas autónomos?
RIP.
Ethernet.
IGP.
BGP.

No. Este es un protocolo tipo IGP.

Falso. Este es un protocolo de redes LAN.

No es correcto. Este protocolo se utiliza dentro de los sistemas


autónomos.

Si, este protocolo se utiliza para encontrar la ruta óptima entre sistemas
autónomos.

Solución

1. Incorrecto
2. Incorrecto
3. Incorrecto
4. Opción correcta

6 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.2.- Cortafuegos.
En la seguridad perimetral es común encontrar
un router que actúe como firewall o
cortafuegos. Los conceptos de cortafuegos y
router son totalmente diferentes, pero ocurre
que muchos routers incorporan un
cortafuegos en su software, no siendo
estrictamente necesario incorporar un
cortafuegos adicional. La configuración de
estos cortafuegos se puede hacer a través de
la interfaz web del router, accediendo con Bruno Pedrozo (CC BY-SA)
cualquier navegador que incorpore el sistema
operativo.

Ni que decir tiene que en este tipos de routers la palabra que más se repite entre las
opciones del firewall es “filtrar”. Esto deja muy a las claras cuál es su principal función: el
filtrado de paquetes. Para ello los routers miran la dirección origen, la dirección destino y el
puerto destino. Estos filtros aceptan o deniegan los paquetes permitiendo al router eliminar o
dejar pasar el paquete. Una vez que una comunicación llega al cortafuegos, por ejemplo una
petición a un servidor web, ésta podrá ser aceptada o rechazada, según se hayan
configurado las reglas.

Un ejemplo de este tipo de filtrado son las listas de acceso (ACL) aplicables en algunos
routers. Son listados de restricciones o permisos que se aplican a un router para controlar
el tráfico de entrada y de salida del mismo.

Un ejemplo de esto se puede encontrar en los routers de Cisco. En ellos, a través de


comandos como los mostrados a continuación, se pueden crear filtros:

SAD03(config)#access-list Nº permit|deny [dirección IP] [máscara]

Donde:

Nº representa un número entre 0 y 99 que identifica a la lista.


permit o deny se emplean para permitir o denegar.
“dirección IP” representa a las direcciones que se van a filtrar o no.
“máscara” se utiliza para indicar al router la máscara de red, es decir, el número de bits
de la dirección IP usados para identificar a la red.

7 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

SAD03(config-if)#ip access-group Nº in|out

Donde:

Nº es el número que identifica a la lista anteriormente creada.


in|out especifican si el tráfico es de entrada o de salida.

Un ejemplo de los dos comandos es mostrado a continuación:

SAD03(config)#access list 2 deny 192.168.1.0 255.255.255.0

SAD03(config-if)#ip access-group 2 in

Con estas últimas órdenes se deniega el tráfico entrante a la red 192.168.1.0.

En definitiva, un firewall o cortafuegos es un dispositivo de seguridad cuya


función principal es la de filtrar el tráfico de red entrante y saliente por medio
de una serie de reglas, que permitirán su paso o lo rechazarán. Pueden ser tanto
OpenClipart dispositivos específicos dedicados, o software, como el integrado por defecto en el
(Dominio
público) sistema operativo Windows. Los dispositivos dedicados, por lo general, cuentan
con más capacidades de procesamiento que los basados en software, ya que se
han diseñado específicamente para esa tarea, aunque por el contrario, su coste económico
es superior.

Tipos de Cortafuegos

Se pueden distinguir los siguientes tipos de cortafuegos:

Circuito a nivel de pasarela Cortafuegos de capa de red

8 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Cortafuegos de capa de aplicación Inspección de estado

Circuito a nivel de pasarela


Aplica mecanismos de seguridad cuando una conexión TCP o UDP es establecida.
Una vez que la conexión se ha hecho, los paquetes pueden fluir sin que se examinen
los contenidos. La función de seguridad consiste en determinar las conexiones que
serán permitidas. Es usado cuando el administrador confía en los usuarios internos.

Cortafuegos de capa de red


Funciona a nivel de red como filtro de paquetes IP. A este nivel se pueden realizar
filtros según los distintos campos de los paquetes IP: dirección IP origen y/o
dirección IP destino. También permiten filtrados según campos de nivel de transporte
como el puerto origen y/o destino.

Cortafuegos de capa de aplicación


Trabaja en el nivel de aplicación de manera que los filtrados se pueden adaptar a
características propias de los protocolos de aplicación, por ejemplo HTTP, filtrando
según la URL a la que se trata de acceder.

Inspección de estado
Hacen un seguimiento de si ese paquete es parte de una sesión TCP establecida.
Esto ofrece más seguridad que el filtrado de paquetes o la simple monitorización de
circuitos, pero genera un mayor impacto en el rendimiento de la red.

9 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Para saber más


A continuación puedes encontrar más información sobre cortafuegos y
servicios web:

WAF: cortafuegos que evitan incendios en tu web

10 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.3.- Redes privadas virtuales.

Una Red Privada Virtual (VPN) es una


tecnología que permite establecer una conexión
Philippe Belet (Dominio público) similar a la de una red LAN sobre una red
pública como Internet. Para conseguir esto
utiliza mecanismos de encapsulación o tunelización.

En la imagen se puede ver una representación de una conexión VPN, en la cual deben existir
un servidor VPN (que acepta las conexiones) y un cliente VPN (el que se conecta). El túnel
representa como la información viaja ajena al tránsito restante de Internet.

Tal y como se muestra en la imagen anterior, en la seguridad perimetral las VPN encuentran
como primer obstáculo al router frontera. Para que este tipo de conexión pueda atravesarlo
es necesario especificar en la configuración del router una regla firewall permitiendo dicha
conexión.

Hoy día los sistemas operativos incorporan


asistentes para generar conexiones de este
tipo, y una vez generada, al conectarse al
servidor VPN se puede observar en el sistema
una situación como la que refleja la siguiente
figura.

En la imagen se muestra como se ha


establecido una conexión VPN:

Con el servidor VPN 192.168.1.91


A través del puerto 1194, puerto Windows (Elaboración propia)
asociado a OpenVPN.
La autenticación del cliente en el servidor se llevado a cabo utilizando un certificado
cuya clave pública ha sido verificada por el servidor VPN.
La IP del extremo local del túnel, es decir, la IP del lado del túnel asociado al cliente
VPN, es 10.0.0.2.
Otra información mostrada y que se comprenderá en los apartados posteriores son:
El método de cifrado empleado.
La función hash empleada.
El Grupo Diffie-Helman empleado para la creación de claves.
El algoritmo de cifrado que que se está empleando y el tipo de clave

Autoevaluación

11 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Una red privada virtual VPN:


Encapsula la información.
Se da en las LAN.
Atraviesa los routers sin dificultad.
Utiliza el protocolo PTP.

Si. Encapsula la información que quiere transmitir para que solamente el


destinatario pueda extraerla.

Falso. Permite la conexión segura con una red LAN desde una red que
puede no ser de tipo LAN.

No es correcto. Para que pueda pasar a través de un router es necesario


permitir dicha conexión en la configuración del router.

No. Uno de los protocolos utilizados es el PPTP.

Solución

1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto

12 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.4.- Perímetros de red. Zonas


desmilitarizadas.
Como se ha comentado con anterioridad, el perímetro de red se implanta para separar el
tráfico entre las redes internas y externas. Por tanto, en el perímetro de red, entre otras
cosas, se debe:

Controlar el tráfico.
Clasificar el tráfico.
Poner en cuarentena.
Denegar conexiones.

Por otra parte, con lo visto hasta ahora, la arquitectura de cortafuegos no está pensada para
ofrecer servicios a Internet. Si se revisa, se observará que solo hay máquinas en el interior de
la red privada, por lo que si se desea instalar un servidor web (por ejemplo), habría que
colocarlo dentro de la red privada y permitir el acceso al mismo desde el exterior.

Pero esto es muy peligroso, ya que si alguien consigue vulnerar la seguridad de dicho
servidor web, a través de él podría acceder a otros equipos de la red privada, quedando
totalmente comprometida dicha red, incluidos aquellos equipos que no son accesibles desde
Internet. Esto lleva a confirmar que sería errónea una configuración de red en la que una
organización cuente con algún servicio accesible desde el exterior (servidor de correo,
servidor web,...) integrado en la red LAN, tal y como se muestra en la imagen.

Andrés Rubio - Elaboración propia (Dominio público)

Por lo tanto, es evidente que se hace aconsejable seguir la siguiente norma:

Aquellas máquinas que vayan a dar servicio a Internet deben estar en una red distinta a
la red privada. Además, el tráfico entre la red privada y la red de servicios debe estar

13 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

controlado.

Para cumplir con esta norma se utilizan las arquitecturas DMZ. Pueden implementarse de
diversas maneras, pero todas se basan en cumplir la norma anterior, dividiendo la red
privada en dos zonas:

1. Zona Protegida: Es la parte privada de la red interna. Debe ser inaccesible desde el
exterior.
2. Zona Desmilitarizada o DMZ: Es una subred que agrupa a todos los ordenadores de
la red que ofrecen algún servicio al exterior.

Pero, ¿qué se entiende por DMZ? Una zona desmilitarizada es una red aislada que se
encuentra dentro de la red interna de la organización. En ella se encuentran ubicados
exclusivamente todos los recursos de la empresa que deben ser accesibles desde Internet,
como un servidor web o de correo. Así, un ejemplo de una red local con una DMZ formado
por un servidor web, uno de correos y otro de DNS podría ser:

Andrés Rubio - Elaboración propia (Dominio público)

Por lo general, una DMZ permite conexiones procedentes tanto de Internet, como de la LAN
donde están los equipos de los empleados. Sin embargo, las conexiones que van desde la
DMZ a la red local, no están permitidas. Esto se debe a que los servidores que son
accesibles desde Internet son más susceptibles a sufrir un ataque que pueda comprometer
su seguridad. De este modo, si un atacante comprometiera un servidor de la DMZ, tendría
mucho más complicado acceder a la red local de la organización, ya que las conexiones
procedentes de la DMZ se encuentran bloqueadas.

14 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

En definitiva, para configurar una zona desmilitarizada en la red de una organización, se


necesita contar con un cortafuegos o firewall, que será el encargado de segmentar la red y
permitir o denegar las conexiones. En la siguiente tabla, a groso modo, se muestra el tipo de
conexiones recomendables que permitiría o denegaría el firewall dependiendo su origen y
destino:

Origen Destino Comunicación

Internet DMZ Permitida

Internet LAN Denegada

DMZ Internet Permitida

DMZ LAN Denegada

LAN DMZ Permitida

LAN Internet Permitida

Puede chocar que en la tabla se indique que está denegada la comunicación que tiene por
origen Internet y por destino la LAN. El motivo es que solo se aceptarán paquetes en dicha
dirección, si
responden a una petición originada en el interior de la red.

Por último, será una tarea crítica mantener siempre los sistemas que se encuentren en
la zona desmilitarizada actualizados a la última versión disponible.

15 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Autoevaluación
Una DMZ:
Está formada por aquellos elementos de la red corporativa que se quieren
exponer a Internet.
Está formada por varios router frontera.
Puede comunicarse con la red interna pero no viceversa.
Actúa junto con el perímetro de red.

Si. Es la zona en la que se pueden poner servidores web o de correo.

Falso. El router frontera se sitúa entre la DMZ e Internet.

No es correcto. Desde la DMZ se puede acceder a Internet pero no a la


red interna.

No es correcto. Lo correcto sería decir que está en el perímetro de red.

Solución

1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto

16 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.5.- Subred protegida débil Vs subred


protegida fuerte.
Muchos routers que proporcionan los proveedores de Internet, cuentan en su configuración,
con una opción para habilitar una DMZ mediante la cual un equipo de la DMZ se hace
accesible desde Internet. Activar esta opción, no es muy recomendable, ya que se estaría
provocando que la protección de red dependiera exclusivamente del router. Hay que tener
en cuenta que un router no es un dispositivo que se haya diseñado específicamente
para cumplir las funciones de cortafuegos, sus características de seguridad son más
reducidas.

Además, puesto que una DMZ es muy propensa a recibir ataques, es recomendable utilizar
herramientas adicionales de monitorización, y de detección y prevención de intrusos (IDS e
IPS).

Por otro lado, como se ha expuesto anteriormente, siempre se asume un riesgo de sufrir un
incidente de seguridad cuando se publica cualquier servicio en Internet desde la red de la
empresa, aunque sea desde una DMZ. Sin embargo, hay arquitecturas o configuraciones
que hacen que la subred protegida sea débil o fuerte.

Subred protegida débil

Una subred protegida débil es aquella que establece la protección de la red interna
empleando una zona DMZ por detrás de un firewall de perímetro.

Andrés Rubio - Elaboración propia (Dominio público)

En esta disposición, el equipo que actúa como firewall debe tener al menos tres interfaces
para poder conectar con la DMZ, el exterior y la red interna.

17 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

En una arquitectura de este tipo es peligrosa: un fallo en el cortafuegos puede


desproteger a la red interna.

Subred protegida fuerte

La subred protegida fuerte establece la protección de la red interna con una zona DMZ
situada entre dos firewall.

Andrés Rubio - Elaboración propia (Dominio público)

En esta disposición el cortafuegos externo (de acceso) bloquea y controla el tráfico no


deseado desde la red externa a la DMZ. El cortafuegos interno (de contención) bloquea y
controla el tráfico no deseado de la DMZ a la red interna.

Una de las medidas recomendables es tener dos proveedores diferentes para cada uno de
los dos servidores que funcionan como firewall. Cada proveedor puede tener una política de
seguridad diferente por lo que si un intruso es capaz de saltar las medidas de seguridad de
uno de ellos, en el mejor de los casos, tendrá que emplear un método diferente para
atravesar el otro.

A diferencia del la arquitectura anterior, un fallo en el cortafuegos externo solo


desprotege a la DMZ.

En una organización de este tipo, una de las medidas recomendables es tener dos
proveedores diferentes para cada uno de los dos servidores que funcionan como firewall.
Cada proveedor puede tener una política de seguridad diferente por lo que si un intruso es
capaz de saltar las medidas de seguridad de uno de ellos, en el mejor de los casos, tendrá
que emplear un método diferente para atravesar el otro.

18 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Autoevaluación
Un perímetro de red:
Incluye solamente a la DMZ.
Incluye, entre otros, dispositivos VPN.
No incluye firewall.
No incluye subredes protegidas.

No, deberías volver a leer el apartado anterior.

Muy bien, es la correcta. Es la zona donde se implantan medidas de


seguridad entre las que se encuentra la implantación de VPN.

No es correcto. En el perímetro de seguridad, uno de los elementos


principales es el firewall.

Respuesta incorrecta. El término subred protegida es análogo a DMZ.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

19 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

2.- Políticas de defensa en profundidad.

Caso práctico
—Bueno Juan, puesto que ya tenéis todos los
elementos instalados, ya podemos trabajar más
tranquilos.

—En absoluto María. Primero por que la seguridad


100% no existe y segundo por que todavía quedan
por establecer los permisos de acceso sobre los
recursos de nuestros sistemas.

—Uff, y yo que pensaba que ya estaba todo listo. Y


esto último que indicas, ¿para qué sirve?.
Nate Steiner (CC0)
—Para que no sea un caos y todo el mundo pueda
cambiar cosas donde no debe. Es conveniente que en
cada zona tengamos distintos permisos. Además, es fundamental llevar a la
práctica distintas políticas de seguridad en las distintas zonas de acceso a la
red.

La defensa en profundidad se refiere a una estrategia militar, que tiene como finalidad hacer
que el atacante se desanime al interponerle varios obstáculos en su camino hacia el objetivo.

La seguridad total no existe como tal, es imposible afirmar que un sistema es totalmente
seguro. Lo único que puede asegurarse es que se pueden establecer una serie de políticas
de seguridad para conseguir:

Reducir las posibilidades de que el sistema sea atacado.


Minimizar los daños causados por un incidente.

Existen muchas ideas y protocolos de actuación para establecer una defensa de un sistema.
Sin embargo, todas se podrían resumir en dos maneras de actuar:

Permitir todo lo que no esté específicamente prohibido.

También llamada permiso establecido. Se trata de aplicar, por defecto, una política

20 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

permisiva en la que solo hay que


especificar lo que está prohibido.

Prohibir todo lo que no esté


explícitamente permitido.

También llamada negociación


preestablecida. Se trata de aplicar, por
defecto, una política restrictiva en la Richard Patterson (CC BY)
que solo hay que especificar lo que
está permitido.

La segunda de las opciones es la más segura y restrictiva, aunque no siempre la más


adecuada.

Para tener una idea clara de estas dos posturas, basta imaginar que en un parque se pueda
leer uno de los siguientes mensajes:

No se permite jugar al fútbol.


Solamente se permite jugar al tenis.

Está claro que es mucho más restrictivo el segundo mensaje (se prohíbe todo lo que no está
explícitamente permitido), ya que el primer mensaje no dice que no se pueda jugar al tenis,
voleibol, baloncesto o cualquier otro deporte.

Autoevaluación
Si el router frontera solamente deja pasar las conexiones que utilicen el
puerto 80:
Se está prohibiendo lo que no esté específicamente prohibido.
Se prohíbe todo lo que no está permitido.
Se permite todo lo que no esté específicamente prohibido.
Es lo mismo que decir que se prohíben las conexiones por el puerto 25.

No, deberías leer de nuevo el apartado.

Muy bien, es la correcta. Se especifica solamente lo que está permitido.

21 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

No es correcto. No se especifica ninguna prohibición.

Respuesta incorrecta. Permitir solamente el puerto 80 implica que se


prohíben todas las demás, el 25 es solamente una de las opciones
posibles.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

22 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

2.1.- Defensa perimetral.


Con todo lo expuesto hasta ahora se puede
concluir que, la seguridad perimetral es la formada
por todos los elementos y sistemas destinados a
proteger de intrusos el perímetro externo de una
red, permitiendo el acceso de determinados
usuarios (internos o externos) a determinados
servicios, y denegando cualquier otro tipo de
acceso al resto de usuarios.

Por tanto, la defensa perimetral es la primera línea


en la que se establece:
Linux Screenshots (CC BY)
Una política de seguridad entre una red
segura y otra insegura (Internet).
Qué servicios serán accesibles desde el exterior.
A qué servicios se puede acceder desde el interior.

Una buena política de defensa perimetral se centra en conseguir:

Filtrar y bloquear el tráfico de la red, permitiendo únicamente aquel que sea


absolutamente necesario.
Redirigir el tráfico hacia máquinas seguras.
Aislar y segmentar los distintos servicios y sistemas en función de su
exposición a ataques.
Resistir a los ataques externos.
Identificar los ataques sufridos y alertar de ellos.
Administrar el contenido del tráfico.

Para lograr todo esto se debe valorar que:

Las amenazas pueden venir del interior, no siempre desde el exterior.


Extremar las medidas de seguridad puede provocar limitaciones en el
funcionamiento.

Para llevar a cabo este tipo de defensa en el perímetro se utilizan:

Firewall: Mediante una política de accesos deberán:

23 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Aceptar. Se permite el tráfico.


Denegar. Se prohíbe el tráfico y no
hay mensaje de error.
Rechazar. Se prohíbe el tráfico y
se envía un mensaje de error al
emisor.

Es recomendable el uso de la opción


denegar frente a rechazar puesto que
de esa manera se disminuye el tráfico. Richard Patterson (CC BY)
Además el atacante tiene menos
información del sistema defensivo
empleado.

IDS e IPS: Monitorizan y generan alarmas cuando se produzca alguna alerta de


seguridad. Su línea de actuación suele ser:

Identificar el posible ataque.


Registrar los eventos.
Tratar de bloquear un posible ataque.
Generar reportes.

Honeypots: Sistemas trampas preparados para atraer y analizar el comportamientos


de atacantes y de botnets. Con estos sistemas se puede recoger información muy útil
para evitar futuros ataques. Lógicamente deben estar muy controlados y
desconectados de cualquier red propia.

Las herramientas diseñadas y creadas para tal fin, imitan y escuchan servicios
vulnerables. Cuando un atacante se conecta a estos servicios es engañado, haciéndole
creer que está atacando a un servidor real. El honeypot capta todas las
comunicaciones con el atacante y registra los resultados para el análisis futuro. En
caso de que un atacante intentara explotar o subir un rootkit, o un troyano en el
servidor, las herramientas pueden almacenar estos archivos en su equipo para
analizarlos.

VPN y SSH: Utilización de conexiones seguras para el acceso remoto.

Para saber más


En los siguientes enlaces puedes obtener más información sobre los
honeypots:

Diferencia entre honeypots y sandboxing

24 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

¿Cómo conocer a tu enemigo?

Guía de implantación de un honeypot industrial.

Debes conocer
En los siguientes enlaces puedes ver algunos vídeos relacionados con el
concepto de detección de intrusiones usando honeypot:

Prevención y detección de intrusos con honeypot

Honeynet y DMZ.

25 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

2.2.- Defensa interna.

La defensa en profundidad debe


realizar el proceso de seguridad
de manera segmentada,
creando varias líneas de
defensa. La primera es la que se
ha visto en el apartado anterior, la
defensa perimetral. Pero con ella
no es suficiente, es necesario una
segunda línea de defensa creada
en la red interna.

En la imagen se pueden observar


las distintas líneas de defensa y
Andrés Rubio - Elaboración propia (Dominio público)
en los recuadros, las
herramientas utilizadas en cada
una de ellas.

La política de defensa en la red interna tiene como objetivo principal, establecer los
parámetros de funcionamiento interno para que la red funcione con seguridad, puesto que
con la defensa perimetral ya ha habido un filtro del tráfico entrante a la red.

Desde el punto de vista de la seguridad, la red interna es muy valiosa para un atacante ya
que, si se tiene acceso a ella se tendrá acceso a los datos, que es lo que se está
protegiendo.

Por todo ello, en la red interna hay que hacer cumplir una serie de normas en los servidores y
dispositivos de interconexión:

Listas de control de acceso (ACL).


Conexiones SSH.
Auditorías de seguridad.
VLAN.

Además, hay que establecer más líneas de defensa en cada uno de los hosts de la red
interna y en cada una de las aplicaciones de los hosts:

Cumplimiento estricto de las políticas de contraseñas.

26 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Instalación de Anti-malware.
Utilización de mecanismos de programación segura.
Detección de intrusiones.

Para saber más


En el siguiente enlace puedes valorar la importancia de la segmentación para
evitar el descontrol:

Divide y Vencerás: Segmentación al rescate

27 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

2.3.- Factor humano.

Finalmente, el factor más imprevisible y difícil


de controlar, el humano. Todas las medidas de
defensa establecidas son inútiles si el personal
no las utiliza adecuadamente. Por tanto, es
fundamental el compromiso con los
objetivos de seguridad y la política de
defensa establecidos.
Richard Patterson (CC BY)
Los empleados deberían recibir formación y ser
conscientes de las políticas de seguridad
existentes y de cómo la aplicación de esas políticas puede ayudarles en sus actividades
diarias. De esta forma no expondrán inadvertidamente a la compañía frente a posibles
riesgos.

No solo la formación y orientación de los empleados es importante, para que una red
funcione de manera segura es clave que los usuarios estén comprometidos con la política de
seguridad de la organización. Para lograrlo hay que incidir en las prácticas seguras referentes
a:

El uso de carpetas personales.


El uso de carpetas compartidas.
La realización de copias de seguridad.
El uso de la red.
La modificación de archivos comunes.
La utilización de archivos personales en la red interna.
La manipulación de equipos y aplicaciones de la red.

Para llegar a tener un buen nivel de comportamiento global en el plano del proceso de
seguridad, aparte de las buenas conductas y la concienciación, es indispensable:

Adquirir y mantener una buena formación.


Gestionar adecuadamente los incidentes que se produzcan.

28 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Debes conocer
En los siguientes enlaces puedes obtener más información sobre el factor
humano y la seguridad informática:

Vulnerabilidades o técnicas que aprovechan el factor humano

Cómo enfrentarse al factor humano: políticas y procedimientos I

Cómo enfrentarse al factor humano: políticas y procedimientos II

Autoevaluación

La política de defensa en la red interna tiene como objetivo principal,


establecer los parámetros de funcionamiento interno para que la red
funcione con seguridad,

Verdadero Falso

Verdadero
La defensa interna se encarga de asegurar el funcionamiento de cada
uno de los hosts tras aplicarse las reglas en el perímetro de la red que
es donde tiene lugar el filtrado del tráfico entrante a la red.

29 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.- Protocolo SSH.

Caso práctico
Juan se reúne con Noiba, Naroba y Jana y les
informa de la reunión que mantuvo en su día
con Vindio y Laro. Además, les expone el
estudio que han realizado y las conclusiones a
las que han llegado sobre las herramientas a
usar.

—Noiba, Naroba y Jana, queremos que seáis


Alain Bachellier (CC BY-NC-SA)
vosotras las encargadas de realizar la
instalación y configuración de las herramientas
para tener acceso remoto a nuestros servidores privados.

—Juan, ¿cómo es posible acceder a servidores privados de forma segura


usando para ello redes públicas?

—Se puede lograr instalando y configurando diversos servicios. Uno de ellos


es llamado Secure Shell. ¿Lo conocéis?

—Un poco sí.

—Bueno, no os preocupéis, os voy a dar todo tipo de detalles sobre el mismo.


Se trata de un servicio mediante el cual se pueden realizar conexiones remotas
a los equipos y enviarles órdenes en modo seguro. Esto es posible gracias a
que Secure Shell usa criptografía, y por tanto, toda la comunicación viajará
cifrada con lo que no se podrá adivinar quién está accediendo, ni qué
contraseña está empleando para acceder ni qué comandos se están enviando.

Juan les acompaña a sus ordenadores para proceder a explicarles, con


detalle, todo lo necesario para instalar y configurar Secure Shell.

Actualmente las empresas están sometidas a constantes estadísticas muchas de las cuales
ponen el foco de atención en la productividad de sus empleados. Cada vez más, se
necesitan empleados que hagan uso de herramientas de trabajo en movilidad. Por ello, hoy
en día es casi impensable que una empresa no ofrezca la posibilidad de trabajar de forma
remota. Por tal motivo, es fundamental el uso aplicaciones que emplean técnicas de
seguridad en las comunicaciones para proteger los datos intercambiados. Dos de las
herramientas más usadas para lograr todo esto son SSH y VPN. Ambas serán estudiadas en
la presente unidad.

30 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

SSH es una aplicación diseñada para sustituir determinadas herramientas de acceso remoto
usadas tradicionalmente en los sistemas Linux, como telnet, rsh, rlogin o rcp, ya que estas
herramientas presentaban dos graves inconvenientes desde el punto de vista de la
seguridad:

1. Conexión no cifrada.
2. Autenticación no cifrada.

Citas Para Pensar


Las organizaciones gastan millones de dólares en firewalls y dispositivos de
seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el
eslabón más débil de la cadena de seguridad: la gente que usa y administra los
ordenadores.

Kevin Mitnick

La aplicación define un protocolo propio para la transmisión segura de los datos, el


protocolo SSH. Mediante SSH podremos conectarnos remotamente al equipo que
deseemos y enviarle órdenes o comandos en modo seguro, ya que mediante el uso de la
criptografía los paquetes TCP/IP que formen parte de la comunicación viajarán de manera
cifrada sin que ningún sniffer intermedio pueda adivinar ni quién está accediendo, ni qué
password ha utilizado, ni qué ordenes está enviando. Por tanto, SSH lleva a cabo un cifrado
completo, cifrando todo el proceso: tanto la autenticación como la comunicación.

En concreto, SSH utiliza criptografía híbrida ya que hace uso de claves asimétricas (es
necesario que el equipo cliente tenga la clave pública del servidor dentro de su anillo de
confianza) durante el establecimiento de la comunicación con la finalidad de que los equipos
emisor y receptor puedan intercambiarse la clave simétrica que usarán durante el resto de la
comunicación. Como ya vimos en la unidad sobre criptografía, el motivo por el cual se usa
una estrategia híbrida en lugar de usar claves asimétricas durante toda la comunicación, es
porque evita el gran consumo computacional que ello conllevaría.

Autoevaluación

31 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

SSH garantiza que el intercambio de datos se realice cifrado

Verdadero Falso

Verdadero
Gracias al uso de criptografía, todos los datos intercambiados entre
emisor y receptor se transmiten cifrados.

32 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.1.- Características.
Actualmente, existen dos versiones de SSH, la versión antigua y la nueva, que se referencian
habitualmente como SSH1 y SSH2, respectivamente. Esta unidad se centra únicamente en
SSH2 que es incompatible con SSH1 y que incluye numerosas mejoras entre las que
destacan tres:

1.- Intercambio de claves mediante Diffie-Hellman.


2.- Verificación de integridad.
3.- Múltiples sesiones en un sola conexión, aumentando la eficiencia.

Por otra parte, existen dos protocolos basados en SSH diseñados para la transferencia
segura de ficheros: SCP (Protocolo de Copia Segura) y SFTP (Protocolo de Transferencia
Segura de Ficheros).

Además de ello, SSH pone a disposición algunas herramientas específicas entre las que se
pueden destacar las siguientes:

ssh-keygen: Herramienta para la gestión de claves.


ssh-agent: Herramienta para almacenar claves privadas de una sesión siendo muy útil
cuando se usan claves privadas con frase de paso.
sshd: Es el servicio ssh propiamente dicho.

Por último,gracias al uso de SSH se puede garantizar:

1.- La confidencialidad ya que todos los datos


intercambiados se transmiten cifrados.

2.- La autenticación ya que SSH proporciona


mecanismos que permiten autenticar tanto al servidor
como al usuario que se conecta.

3.- La eficiencia ya que SSH contempla la compresión Linux Screenshots (CC BY)
de los datos intercambiados para reducir la longitud de
los paquetes.

4.- La no reutilización de claves de sesiones anteriores. En cada nueva conexión se


vuelven a calcular las claves. Esto es así porque SSH está pensado para conexiones
que tienen una duración más o menos larga, como suelen ser las sesiones de trabajo
interactivas con un ordenador remoto.

33 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Para saber más


En el siguiente enlace podrás aprender más cosas sobre el algoritmo de
intercambio de claves empleado por ssh:

¿Qué es el intercambio de clave de Diffie y Hellman?

Algoritmo de cifrado Diffie-Hellman

Grupos Diffie Hellman

34 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.2.- Fases: negociación y autentificación.


Para el establecimiento de la conexión entre dos equipos usando SSH, es necesario que el
equipo servidor escuche peticiones de conexión en el puerto asignado al servicio
(normalmente el 22, aunque esto es configurable). El cliente se conecta a dicho puerto
mediante el protocolo TCP. Para que esto sea posible, SSH divide su trabajo en dos grandes
fases: Negociación y autentificación.

1.- Negociación.
2.- Autenticación de usuarios.

Fase de Negociación

Para el establecimiento de
la conexión es necesario
que el servidor esté
escuchando peticiones de
conexión en el puerto
asignado al servicio
Unknown author (CC BY-SA)
SSH, que es el 22. El
cliente se conecta a dicho
puerto mediante el
protocolo TCP.

El primer paso es negociar la versión del protocolo SSH a utilizar. Tanto el cliente como el
servidor envían una línea que contiene el texto “SSH-x.y-implementación”, donde x.y es
el número de versión del protocolo (por ejemplo, 2.0) e implementación es una cadena
identificativa del software del cliente o servidor. Si los números de versión no concuerdan, el
servidor decide si puede continuar o no: si no puede, simplemente cierra la conexión.
Destacar que todo este intercambio de mensajes se lleva a cabo sin cifrar.

A continuación, comienza la fase de negociación entre el cliente y el servidor. Para ello el


servidor envía al cliente su clave pública para que éste, a partir de ahora, envíe toda la
información cifrada con dicha clave pública. En esta fase de negociación se procede al
intercambio de claves y las listas de algoritmos soportados por orden de preferencia:

1. Algoritmos de intercambio de claves.


2. Para cada sentido de la comunicación, algoritmos de cifrado simétrico y de
compresión.
3. También se incluye una lista de idiomas soportados por los mensajes
informativos.

35 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Para cada tipo de algoritmo, se escoge el primero de la lista del cliente que esté también en
la lista del servidor. Los algoritmos criptográficos que contempla SSH2 son los siguientes:

Para el intercambio de claves: Diffie-Hellman.


Para el cifrado: RC4, 3DES, Blowfish, Twofish, IDEA y CAST-128.

Sea cual sea el algoritmo criptográfico, como resultado final se obtiene un secreto
compartido (clave de sesión) y un identificador de sesión. Esta información será enviada de
forma cifrada por parte del cliente, usando la clave pública del servidor. Todo este proceso
se puede repetir cuando sea necesario la regeneración de las claves.

Si todo es correcto, ya se tendrá establecida la conexión, a expensas de la autenticación del


cliente, la cual es necesaria antes de poder hacer nada en el equipo remoto (servidor). Esta
parte de autenticación tendrá lugar durante la segunda fase.

Debes conocer
En los siguientes enlaces podrás aprender más asuntos relacionados sobre las
técnicas de cifrado empleadas por ssh:

IDEA 3DES RC4

Autoevaluación
Rellena los huecos con las palabras adecuadas.
Como resultado final de la fase de negociación se obtiene un
y un de sesión.
Enviar

Como resultado final de la fase de negociación se obtiene


un secreto compartido o clave de sesión junto con el identificador de
la sesión.

Fase de Autentificación

36 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Una vez establecida la clave de sesión en la fase de negociación, comienza la segunda fase
en la que tiene lugar la autenticación del cliente. En SSH se contemplan diversos métodos
de autenticación entre los que se pueden destacar tres:

1. Autenticación nula: El servidor permite que el usuario acceda


directamente, sin ninguna comprobación, al servicio solicitado.
Lógicamente, este tipo de autenticación nunca debe ser establecido.
2. Autenticación basada en contraseña: El servidor permite el acceso si el
usuario introduce un nombre de usuario y una contraseña correcta. Para
ello, el cliente envía la contraseña de un usuario del servidor, cifrada con la
clave de sesión generada en el establecimiento de la conexión. El servidor,
si es un equipo Windows, verificará la contraseña usando el fichero SAM,
mientras que si es un equipo Linux, la verificará usando el fichero /etc/shadow.
3. Autenticación basada en clave pública con o sin frase de paso: En lugar
de dar una contraseña, el usuario se autentica demostrando que posee la
clave privada correspondiente a una clave pública reconocida por el
servidor. Por tanto, la clave pública del usuario debe estar en el anillo de
confianza del servidor. En este caso se utiliza un mecanismo conocido
como autenticación por desafío.

Para determinar el método de autenticación a emplear, el servidor envía al cliente los


métodos disponibles ordenados. El cliente los va rechazando hasta encontrar uno a utilizar.
Una vez encontrado, el usuario se autentica, y si la autenticación es correcta, se crea la
sesión en el equipo remoto.

37 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Autoevaluación
En la autenticación basada en contraseña, si el servidor es un equipo
verificará la contraseña usando el fichero , mientras que
si es una distribución verificará la contraseña usando el fichero
/etc/shadow.

Averiguar la puntuación Mostrar retroalimentación Mostrar/Eliminar las respuestas

En la autenticación basada en contraseña, si el servidor es un


equipo Windows verificará la contraseña usando el fichero SAM,
mientras que si es una distribución Linux verificará la contraseña
usando el fichero /etc/shadow.

38 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.3.- Control remoto en modo seguro con


SSH.
El único requisito para poder llevar a cabo el control remoto de un sistema en modo seguro
con SSH, es que el equipo emisor (cliente) disponga de una aplicación SSH cliente (en
GNU/Linux está preinstalado, y en Windows es aconsejable usar el software putty, y que el
equipo servidor remoto a controlar tenga instalada la aplicación servidora SSH (por ejemplo,
openssh-server).

Debes conocer
Como se acaba de indicar, para llevar a cabo una conexión remota con SSH es
necesario disponer de una aplicación SSH cliente y otra servidor. Dado que en
los siguientes apartados vamos a ver en profundidad la instalación y
configuración de SSH en entornos Linux, debes aprender este mismo proceso
pero en entornos Windows. Para tal fin, se proporcionan sendos enlaces donde
se explica dicho proceso.

Openssh en entornos Windows

Cómo instalar y configurar un cliente y un servidor en entornos Windows

39 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Autoevaluación
¿Es verdadero o falso?

Para poder establecer una conexión a un servidor ssh siempre debe


hacerse a través del puerto 22.

Verdadero Falso

Falso
No es obligatorio usar el puerto 22. La conexión deberá establecerse al
puerto que el servidor tenga configurado para el servicio ssh.

40 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.3.1.- Configuración básica de SSH.


En distribuciones Linux, para poder controlar un equipo remotamente vía SSH, tan solo se
necesita instalar el software servidor "openssh-server". Para ello se ejecuta el comando:

apt-get install openssh-server.

Una vez instalado, el servicio SSH queda a la espera de solicitudes de conexión en modo
seguro por parte de equipos remotos. En muchas ocasiones es necesaria la modificación de
la configuración que SSH establece por defecto en su servicio. Para ello, una vez instalado el
servicio, dentro del directorio /etc/ssh, se pueden encontrar dos ficheros que no deben ser
confundidos puesto que tienen nombres muy parecidos pero con una finalidad totalmente
diferente:

1. ssh_config: Fichero de configuración que establece el comportamiento de la


aplicación cliente SSH.
2. sshd_config: Fichero de configuración que establece el comportamiento del servicio
SSH.

Cabe destacar que no solo son configurables los parámetros que aparecen en el fichero
sshd_config. Existen otros parámetros que no están en dicho fichero y que toman unos
valores concretos. Para ver la lista de todos los parámetros modificables, incluidos los del
fichero, se usa el comando:

sshd -T | less

Por tanto, se puede usar este comando para ver las opciones de configuración que
actualmente se están aplicando en el servicio SSH.

A continuación se muestra una tabla con algunas de las entradas más interesantes que
permiten personalizar el servicio SSH:

Parámetros más significativos del fichero de configuración del


servidor

Directiva de configuración Significado

Establece el puerto por el que


escucha el servicio SSH. Por
Port
defecto es el TCP/22, pero se
puede modificar.

41 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Establece las direcciones IP de


la máquina a través de las
ListenAddress cuales se escucharan solicitudes
de conexión al servicio SSH. Por
defecto es cualquier dirección IP.

Establece el nivel de verbosidad,


es decir, la cantidad de
información que va a quedar
registrada sobre cada conexión
LogLevel SSH. Su valor puede ser "quiet,
fatal, error, info, verbose, debug,
debug1, debug2, y debug3",
siendo verbose el valor por
defecto.

A través de este parámetro se


establece si queremos que
PermitRootLogin usando una cuenta de root se
puede o no establecer una
conexión remota vía SSH.

Establece el tiempo que tiene el


usuario para llevar a cabo una
LoginGraceTime autenticación correcta. Con un
valor 0, el tiempo será
indefinido.

Este parámetro permite indicar


si se quiere o no que un usuario
se conecte al servicio
SSH usando autenticación por
password. Para que así sea, es
PasswordAuthentication necesario establecer su valor a
yes. Si se quiere que solo se
puedan establecer conexiones
usando criptografía asimétrica
(clave pública), es necesario
establecer su valor a no.

Mediante este parámetro se


indica al servicio SSH la
frecuencia con la que el cliente
ClientAliveInterval
SSH tiene que dar "señales de
vida" para considerar que la
conexión está activa.

42 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Este parámetro permite


establecer el número de intentos
de conexión que hará el servidor
SSH si ha superado el periodo
ClientAliveCountMax
de tiempo establecido por el
parámetro ClientAliveInterval
sin recibir ninguna "señal de
vida" del equipo cliente.

A través de estos parámetros se


permite decidir qué usuarios o
AllowUsers, DenyUsers, AllowGroups, DenyGroups grupos de usuarios podrán
establecer una conexión remota
SSH.

Autoevaluación
¿Cuál de los ficheros indicados a continuación permite configurar el
servicio SSH?

/etc/ssh/ssh_config

/etc/ssh/sshd_config

~/.ssh/known_host

No, este fichero permite establecer el comportamiento de la aplicación


cliente SSH.

¡Muy bien! Veo que lo has aprendido.

No, este es el fichero que contiene las claves públicas de los usuarios que
se han conectado de forma remota

Solución

1. Incorrecto

43 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

2. Opción correcta
3. Incorrecto

Una vez personalizado el servicio SSH, para que surtan efecto las modificaciones llevadas a
cabo, es necesario reiniciar el servicio a través del comando:

/etc/init.d/ssh restart.

Una vez reiniciado, desde un equipo cliente se podrá directamente ejecutar un comando o se
podrá iniciar una sesión remota. En ambos casos es necesario la autenticación, o bien
mediante la introducción de la password del usuario remoto bajo el cual queremos ejecutar
los comandos, o bien de manera desatendida mediante el uso de claves públicas. Para el
primer caso, se muestra a continuación la sintaxis del comando que debe usarse:

ssh usuarioRemoto@IPServidorSSH Comando

En este caso, el comando a ejecutar debe estar encerrado entre comillas simples. Esta
opción es muy útil cuando solo se quiere ejecutar un comando en el equipo remoto. Sin
embargo, si se quiere llevar a cabo la ejecución de múltiples comandos, es necesario la
conexión al equipo remoto e interactuar con él. Esto último se puede realizar a través del
comando:

ssh usuarioRemoto@IPServidorSSH

Otra forma de llevar a cabo la conexión es mediante el comando:

ssh -l usuarioRemoto IPServidorSSH

Hay distribuciones Linux, como por ejemplo Ubuntu, en la que la cuenta de


usuario root no tiene habilitada la password, y por tanto, no sería posible la
conexión al servicio SSH por root, salvo que se habilite su password.

44 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Reflexiona
¿Crees que sería recomendable tener habilitado el acceso al servicio ssh a
través de la cuenta de usuario root?

Ejercicio Resuelto
Establece los parámetros de configuración adecuados para usar el servicio
SSH mediante autenticación por password, para que no sea posible acceder
desde la cuenta del usuario root, que el nivel de verbosidad para el registro
de información en los log sea debug y el puerto de escucha sea el 22.

Mostrar retroalimentación

Port 22
LogLevel debug
PermitRootLogin no
PasswordAuthenticacion yes

45 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.3.2.- Autenticación del servidor SSH.


En el caso de autenticación por password, siempre que un equipo cliente va a conectarse
por primera vez de forma remota al equipo servidor, recibe un aviso indicando que la clave
pública del servidor remoto no está en su anillo de confianza. Esto es un indicativo de que no
se puede garantizar la autenticidad del servidor. Por ejemplo, si la IP del servidor SSH al que
el equipo cliente desea conectarse es 192.168.1.90, el mensaje mostrado sería el siguiente:

The authenticity of host '192.168.1.90 (192.168.1.90)' can't be established

Are you sure you want to continue connecting (yes/no)?

Ante esta cuestión existen dos opciones:

Si se responde yes, se añadirá la IP del host remoto a nuestra lista de host de


confianza. Al añadirse, las siguientes veces que se intente establecer una conexión con
el equipo remoto, este mensaje no saldrá porque la clave pública del host remoto ha
sido añadida al anillo de confianza del equipo cliente.

Si se contesta no, simplemente se cancela el intento de conexión.

Si la respuesta es yes, automáticamente se añade el host remoto al anillo de


confianza y se muestra el siguiente mensaje:

Warning: Permanently added '192.168.1.90' to the list of knwon hosts.

A continuación se solicitará la password del usuario remoto con el cual se quiere


realizar la conexión al servidor SSH, teniendo por defecto, tres intentos para
introducir correctamente dicha password.

La realización o no de dicha pregunta es configurable a través del parámetro


StrictHostKeyChecking del fichero de configuración del cliente SSH (/etc/ssh/ssh_config). Este
parámetro acepta tres posibles valores:

46 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

1.- yes

Cierra el intento de conexión si la clave pública del equipo remoto al que se intenta
conectar no está en el anillo de confianza, es decir, no está entre los host conocidos
(known_host).

2.- no

Establece la conexión esté o no la clave pública del equipo remoto en el fichero de host
conocidos.

3.- ask

Pregunta si se quiere o no aceptar el intento de conexión sino está la clave pública del
equipo remoto entre los host conocidos. Esta es la opción por defecto.

Un ejemplo de todo lo que se acaba de describir se puede ver en la siguiente imagen:

Andrés Rubio - Elaboración propia (Dominio público)

Relacionado con la autenticidad de los equipos remotos, SSH ofrece una


herramienta muy interesante. Se trata de ssh-keygen que permite verificar que la
clave pública del otro extremo de la conexión es de quien dice ser. Para ello se
usa el siguiente comando:

ssh-keygen -l -E funciónHash -f ficheroClavePública

siendo:

1.- fuciónHash

Función hash empleada en el fingerprint de la clave pública.

2.- ficheroClavePública:

47 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Ruta donde ha sido importada la clave pública del equipo remoto.

Reflexiona
Cuando un usuario lanza un comando remotamente sobre un servidor SSH,
éste nos solicita la contraseña del usuario bajo el cual se ejecuta el comando.
Este uso que a simple vista es idóneo para evitar que alguien pueda ejecutar
comandos sin permiso, ¿sería apropiado si se quiere programar un script
para que sea ejecutado de manera automática empleando, por ejemplo, el
servicio cron?

Mostrar retroalimentación

No sería adecuado, ya que el script se quedaría esperando a que se


introduzcan las credenciales de acceso.

48 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.3.3.- Ejecución remota de comandos en


modo desatentido.
El modo desatendido es una de las opciones que ofrece el servicio SSH mediante la cual es
posible configurar una conexión procedente de un equipo retomo siempre como confiable.
Se basa en el uso de claves asimétricas y de firma digital, tal como se describe a
continuación.

En primer lugar, el usuario que quiere establecer una conexión confiable con el servidor
remoto generará un par de claves asimétricas usando la herramienta ssh-keygen cuya sintaxis
es:

ssh-keygen -t dsa | ecdsa | ed25519 | rsa | rsa1

usando la opción -t para establecer el algoritmo que se desea emplear en el proceso de


generación de la clave asimétrica.

Para saber más


En los siguientes enlaces podrás aprender más cosas sobre los algoritmos de
generación de claves de SSH:

DSA ECDSA RSA

En segundo lugar, hay que hacer llegar la parte


pública de la clave asimétrica creada en el paso
anterior, a la cuenta de usuario del equipo
servidor SSH en nombre de la cual se
ejecutarán los comandos remotamente. Dicha
clave pública será utilizada por el servidor
SSH para comprobar la firma digital del usuario
ehusfera (CC BY-NC-SA) que lanza el comando remoto, es decir, para
comprobar la autenticación del usuario emisor.

Para esto último, el cliente SSH ya dispone de una aplicación que se encarga de ello: ssh-
copy-id -i. Al ejecutar dicho comando se solicitará la contraseña del usuario remoto, y se
modificará en el servidor SSH el contenido de su archivo authorized_keys. Este archivo es

49 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

donde se almacenarán las claves públicas de los usuarios de confianza.

Por ejemplo, si el usuario arubio ha generado un par de claves asimétricas usando rsa, y el
contenido de la clave pública está almacenado en el fichero ~/.ssh/id_rsa.pub, se puede hacer
llegar dicha clave al servidor SSH usando el siguiente comando:

ssh-copy-id -i ~/.ssh/id_rsa.pub arubio@192.168.1.90

En el caso de que no exista el subdirectorio .ssh dentro del home del usuario arubio en la
máquina remota, ni el archivo authorized_keys, el comando ssh-copy-id -i los creará
automáticamente.

De esta manera se garantiza que el usuario que ha exportado su clave pública pase a ser un
usuario de confianza por el usuario del equipo servidor SSH que la ha importado. Es decir, a
partir de ese momento, cuando el usuario remoto trate de conectarse vía SSH, en la solicitud
de conexión adjunto viajará un extracto firmado por él. Por tanto, el servidor
SSH comprobará a través de la clave pública que quien trata de acceder es quien dice ser, y
le dejará entrar sin necesidad de introducir login y password.

En el caso de ser propietarios de varias claves públicas en el servidor y se quiere indicar cual
de ellas usar, hay que hacer uso de la opción -i del comando SSH del siguiente modo:

ssh -i rutaClave usuarioRemoto@IPServidorSSH

Recomendación
Como has podido ver en este apartado, SSH permite generar claves
asimétricas empleando diferentes algoritmos (dsa, ecdsa, ...). Te animo a que
practiques el comando de generación de claves empleando diferentes
algoritmos.

Autoevaluación
Para que se pueda establecer una comunicación con SSH:

50 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

El receptor debe tener la clave privada del emisor.


El receptor debe conocer la clave pública del emisor
El emisor debe conocer la clave privada del receptor.
El receptor debe conocer la clave privada del emisor y la pública.

No. La clave privada del emisor solamente la conoce el emisor.

Es la correcta. El emisor debe dar a conocer la clave pública al receptor.

No es correcto. La clave privada del receptor solamente debe conocerla el


receptor.

No es correcto. Solamente debe conocer la clave pública.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

51 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.3.4.- Ejecución remota de comandos en


modo desatendido con frase de paso.
Para hacer posible la ejecución remota de comandos de manera desatentida con frase de
paso, hay que usar la herramienta ssh-agent que almacena temporalmente (normalmente
durante una sesión de conexión a un equipo remoto) las claves privadas con frase de paso,
con la particularidad de que solo se introduce la frase de paso la primera vez que se realiza
la conexión, permitiendo usar SSH de forma desatendida todo el tiempo que dura la sesión
del usuario (esto último es configurable, pudiendo establecerse un tiempo inferior o superior).

El único cuidado que se debe tener es controlar el uso de la sesión, debiendo bloquearla
cuando no se esté usando.

ssh-agent es un proceso que se ejecuta en segundo plano y que está presente


en todas las distribuciones Linux con entorno gráfico. Para comprobar que ssh-
agent se está ejecutando tenemos dos opciones:

env | grep SSH

ps aux | grep ssh-agent

En el caso de no tener entorno gráfico, si se quiere usar ssh-agent, se debe


añadir a través del siguiente comando:

ssh-agent /bin/bash

Para usar una clave con frase de paso de forma desatendida, hay que añadirla al ssh-agent
a través del siguiente comando:

ssh-add ~/.ssh/ficheroClavePrivada

Si la clave privada está protegida con una frase de paso, automáticamente se nos pedirá y
quedará añadida al agente SSH.

Es posible conocer cuáles son las claves que tienen añadida su frase de paso al agente

52 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

SSH a través de los comandos:

ssh-add -L

ssh-add -l

Del mismo modo que se pueden añadir frases de paso al agente SSH, también se pueden
eliminar mediante el comando:

ssh-add -d ~/.ssh/ficheroClavePrivada

O si se quieren eliminar del agente SSH todas las frases de paso de todas las claves
privadas, se emplea el comando:

ssh-add -D

Autoevaluación

Por defecto, en todas las distribuciones Linux, si el administrador del


sistema quiere usar el agente SSH, no tiene que hacer nada.

Verdadero Falso

Falso
Sólo en las distribuciones con entorno gráfico. En el resto debe ejecutar
el comando:

ssh-agent /bin/bash

53 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.3.5.- Ficheros authorized-keys y


known_host.

Fichero authorized-keys

Este fichero se encuentra en ~/.ssh, y contiene las claves públicas de aquellos usuarios que
tienen permiso para autenticarse desde equipos remotos, siempre y cuando estos equipos
remotos tengan la correspondiente clave privada.

Este fichero tiene una entrada por cada clave pública con el siguiente formato:

algoritmo clave_publica comentario

En la siguiente imagen se puede apreciar un ejemplo de un fichero authorized-keys con las


entradas de los equipos clientes que pueden conectarse:

Andrés Rubio - Elaboración propia (Dominio público)

En el caso de que una clave pública deje de ser válida para tener acceso de
forma remota, simplemente se edita el fichero y se elimina su entrada.

Fichero known_host

También se encuentra en en ~/.ssh. Existe uno por cada usuario. Contiene las claves públicas
de los equipos desde los que se ha conectado dicho usuario de forma remota.

54 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

El formato de cada entrada es:

nombre_o_IP_equipo algoritmo clave_pública

Donde en el campo nombre_o_IP_equipo aparece el hash correspondiente al nombre o la IP


del equipo remoto.

Se pone el hash para que no se pueda saber cuáles son las IP o los nombres de
los equipos desde los que es posible conectarse de forma remota. Esto se puede
cambiar estableciendo a valor no el parámetro HashKnownHosts del fichero de
configuración del cliente SSH.

Ejercicio Resuelto
Realiza una conexión por SHH al servidor cuya IP es 192.168.1.53. Finaliza la
conexión y analiza el fichero known_host del equipo cliente para determinar la
identificación del equipo al que se ha conectado, el algoritmo de cifrado
empleado y la clave pública del servidor usada en la conexión.

Mostrar retroalimentación

Conexión SSH

55 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

00:00 03:12

Andrés Rubio - Elaboración propia. Resumen textual del vídeo (Dominio público)

56 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

3.4.-Transferencia de ficheros en modo


seguro.
Además de la ejecución remota de comandos, el servicio SSH ofrece la posibilidad de
transferir archivos entre el cliente y el servidor. Para ello se hará uso del comando scp (Secure
CoPy).

Si se quiere transferir un archivo desde el cliente a un servidor remoto se ejecutaría el


comando:

scp ruta_origen ruta_destino

Por ejemplo, si se quiere transferir el fichero prueba.pdf que se encuentra en el


directorio ~/Documentos, y se quiere transferir al home del usuario arubio en el equipo
192.168.1.90, se debe ejecutar el siguiente comando:

scp ~/Documentos/prueba.pdf arubio@192.158.1.90:/home/arubio

También es posible realizar la transferencia al revés, es decir, pasar un archivo que se localiza
en el servidor SSH al equipo cliente:

scp arubio@192.158.1.90:/home/arubio/prueba.pdf ~/prueba.pdf

La sintaxis completa de scp es la mostrada a continuación:

scp [-1246Cpqrv] [-F ssh_config] [-i identity file] [-l limit] [-P port] [[user@]host1:

El significado de cada uno de sus parámetros es el siguiente:

Significado de los parámetros del comando scp

Parámetro Significado

-1 Obliga a SCP a utilizar SSH v1

57 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

-2 Obliga a SCP a utilizar SSH v2

-4 Obliga a SCP a emplear exclusivamente direcciones IP v4.

-6 Obliga a SCP a emplear exclusivamente direcciones IP v6.

-C Habilita la compresión de los ficheros transferidos.

Mantiene la fecha de modificación y de acceso, así como los permisos del


-p
archivo original transferido.

-q Deshabilita el contador de progreso de la transferencia.

-r Copia recursivamente los archivos de un directorio.

Muestra información más detallada acerca del proceso de conexión y de


-v
transferencia.

Indica la ubicación del fichero de configuración de OpenSSH Client. Por


-F
defecto se utiliza /etc/ssh/ssh_config

Indica la ubicación de la clave privada empleada para una conexión


-i
autenticada mediante claves.

Especifica el ancho de banda a emplear en el canal de comunicación


-l
(expresado en Kb/s).

-P Establece el puerto al que conectarse en el servidor remoto.

Autoevaluación
¿Cuáles de las siguientes opciones son válidas para usarse con el
comando scp?

-r

-i

58 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

-a

-6

Mostrar retroalimentación

Solución

1. Correcto
2. Correcto
3. Incorrecto
4. Correcto

Montaje de sistemas de archivos remotos seguros

SSH puede proporcionar un sistema de archivos en red que realice las mismas funciones
que NFS de manera segura. Para poder utilizar este sistema de archivos es necesario:

Servidor SSH en el equipo que actúa como servidor.


Cliente SSHFS en el equipo cliente.

SSHFS permite montar en el equipo local un directorio que esté situado en un equipo remoto
usando SSH. Para montar ficheros remotos en el equipo local se utiliza una sintaxis similar a:

59 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

sshfs arubio@iesalandalus.org:/examenes/sad /home/cidead/micarpeta/examenes/

Con la orden anterior, el usuario arubio se conecta al servidor iesalandalus.org y monta el


directorio sad que está en el directorio exámenes, en el directorio sad que está en el
directorio /micarpeta/examenes del equipo local.

Para saber más


En los siguientes enlace podrás aprender más cosas sobre SSHFS:

Montar Sistema Archivos Remoto Con SSHFS

Wiki sobre SSHFS

Trabajo con ficheros remotos sobre SSH

60 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.- Redes privadas virtuales. VPN.

Caso práctico
—Juan, se puede mejorar nuestra seguridad si
creamos redes privadas virtuales.

—Por supuesto Félix. Las redes privadas


virtuales se crean sobre la red pública. Estas
redes virtuales nos permiten esconder lo que
transmitimos al acceder de manera remota a
nuestra red local.
Let Ideas Compete (CC BY-NC-ND)

—Estaría genial utilizarlas en BK Sistemas


Informáticos. ¿Tenemos que pagar más a nuestro operador?

—No, no es necesario, nos vale con utilizar una serie de protocolos fáciles de
instalar, que cifran la información.

—Entonces, habla con el resto de miembros del departamento de informática y


aprended cuales son los beneficios de las redes privadas virtuales, lo
accesibles que son en la actualidad y todo lo que conlleva su instalación y
configuración en nuestra empresa.

Con frecuencia surge la


necesidad de acceder de forma
remota a los servicios (correo
electrónico, intranets, bases de
datos,...) de una organización.
Incluso, en algunas ocasiones
cuando se está desplazado por
motivos laborales, urge
conectarse a la red local de la
Michel Bakni (CC BY-SA)
organización cuando se está en
un aeropuerto, en un hotel, en
una cafetería,...y no queda más
remedio que utilizar la WiFi. En estos casos, aún tomando todas las mejores precauciones,
se está expuesto a que la información enviada y las credenciales usadas para conectarse,
sean interceptadas o incluso modificadas. Por tanto, no es recomendable hacerlo salvo que
se pueda utilizar una VPN para que las comunicaciones sean cifradas.

61 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Sin embargo, debe quedar claro que no todas las VPN son tan confiables como parecen.
Incluso las hay que son falsas, por lo que es muy importante saber distinguirlas. Pero, ¿qué
es una VPN? ¿Cómo funcionan? ¿Son tan seguras?

Una VPN es un canal de datos privado que se implementa sobre una red de comunicaciones
pública, como por ejemplo, Internet.

Algunas de sus aplicaciones son: conectar dos o más sucursales de una empresa utilizando
la infraestructura de Internet, permitir a los miembros del equipo de soporte técnico la
conexión desde su casa al centro de trabajo (teletrabajo), acceder desde cualquier lugar a
contenido de Internet geográficamente bloqueado,... En definitiva, siempre serán usadas
cuando se necesite acceder a información confidencial de manera remota, y la red que se
puede usar, no ofrece las suficientes garantías de seguridad.

Para llevar a cabo este tipo de


comunicaciones, se crea un
túnel virtual a través del cual
los paquetes serán
encapsulados antes de ser
inyectados. Este encapsulado
consistirá en una nueva trama
de datos, pero esta vez
encriptada, la cual podrá
albergar protocolos de red de
las capas superiores. La
diferencia entre un
encapsulado IP normal y otro
que contenga un paquete
VPN, es que la información
Ludovic.ferre (CC BY-SA)
transportada en el segundo
está completamente cifrada,
y por lo tanto, aunque el paquete sea capturado nunca se podrá interpretar su contenido
real. Finalmente, una vez que la trama llega al servidor VPN, esta misma máquina deberá
encargarse de descifrarlo y convertirlo en un paquete TCP/IP normal, y enviarlo al
destino establecido por el usuario remoto.

Por otra parte, dentro del argot de las redes virtuales,se entiende por túnel VPN al canal de
comunicación a través del cual fluye la información de forma cifrada, sin que cualquier otro
elemento ajeno al origen y destino de la conexión pueda interpretar los datos que viajan a
través de él.Tras el establecimiento de dicho túnel, el resultado que se obtiene es un equipo
o dispositivo cliente remoto que se conecta virtualmente a una red de trabajo, es decir, se
conecta como si fuera un equipo más de la red de trabajo local, de forma totalmente
transparente para el usuario.

Y ¿cuáles son los principios de seguridad que quedan garantizados con el uso de las VPN?

62 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Confidencialidad e integridad: Al ir toda la información cifrada a través del


túnel.
Autenticación y No repudio: Los servidores VPN pueden verificar la
autenticidad del usuario remoto. Por tanto, solo los usuarios autorizados a
usar la VPN podrán entrar.

Requerimientos de un VPN
Para lograr todo lo expuesto con anterioridad en este
apartado, a las VPN hay que exigirles una serie de
requisitos. Los requisitos genéricos se basan en ofrecer un
conjunto de herramientas y protocolos de actuación, con
el objetivo de poder proveer, establecer y administrar el
correcto funcionamiento de los túneles VPN.

Dentro de este grupo son destacables los siguientes:

Autenticación y comprobación de la identidad de los


usuarios, con la finalidad de permitir exclusivamente
el acceso a la VPN a aquellos usuarios autorizados.
Administración del rango de direcciones IP virtuales utilizadas por los participantes de
la VPN.
Cifrado de datos enviados a través de la VPN.
Gestión de las claves pública y privada, así como de los certificados digitales.
Soporte para múltiples protocolos por parte de los encapsulados generados por las
VPNs.

Algunos aspectos que deben tenerse presente a la hora de seleccionar una u otra
VPN:

Revisar para qué se necesita.


Establecer los requisitos de seguridad.
¿Cuándo se va a utilizar?
Si va a ser algo esporádico: los sistemas sistemas operativos y los
dispositivos móviles permiten crear una VPN según distintos estándares que
pueden ser suficientes.
Si las conexiones son muy frecuentes o se quiere conectar distintas
oficinas es mejor decantarse por usar algún software específico
cliente/servidor para establecer túneles cifrados entre los equipos de red.
Por ejemplo, en Windows y Linux se puede usar OpenVPN. También se
puede usar StrongSwan en Linux.
Para qué aplicaciones o servicios se va a permitir y a cuantos usuarios.
Qué utilice un mecanismo de cifrado robusto.

63 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

¿Se puede confiar en todas las aplicaciones que crean una VPN?

Tal y como se ha indicado anteriormente, no todas las aplicaciones que te permiten crear
VPN son confiables. Antes de decantarse por una u otra, es necesario seguir algunas
recomendaciones:

Antes de confiar en una VPN investiga sobre ella. Consulta quién la ofrece, las
condiciones del servicio, su funcionamiento, su rendimiento, etc. Ten muy presente que
vas a poner todo tu tráfico en sus manos. Revisa también la compatibilidad con el
sistema y navegadores, y cuántas conexiones permite.

Si es una App para el móvil revisa los permisos que solicita para su instalación y los
comentarios de otros usuarios, su nivel de aceptación y busca información sobre su
desarrollador.

Algunas VPN solo cifran el tráfico entre el dispositivo del usuario remoto y su servidor, o
que solo cifran determinado tipo de tráfico. En cambio, otras cifran extremo a extremo.
Hay que asegurarse que la elegida cifre de extremo a extremo.

Para saber más


En los siguientes enlaces puedes obtener más información básica relacionadas
con las VPN:

Problema de las VPN gratis

VPN en un dispositivo móvil

¿Qué es y para qué se usa una VPN?

Teletrabajo con VPN y otras recomendaciones

Consejos de seguridad para implantar teletrabajo.

Ciberseguridad en el teletrabajo

Las VPNs se pueden clasificar de acuerdo a diversos criterios. Uno de ellos es si están
basados en sistemas hardware o software:

64 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Sistemas basados en hardware Sistemas basados en software

Sistemas basados en hardware


Se caracterizan por el empleo de una serie de máquinas que han sido diseñadas
específicamente para tal labor, en las que se han optimizado todos los parámetros
referentes a las VPNs. Esta clase de dispositivos son bastante seguros, sencillos de
utilizar, rápidos y de fácil instalación. Por el contrario, son máquinas que presentan
un coste elevado. Suelen ofrecer otra serie de servicios añadidos, como firewalls,
detectores de intrusos, antivirus,... (Cisco, Stonesoft,...).

Sistemas basados en software


Conjunto de aplicaciones que permiten la configuración de VPNs. Existen diferentes
herramientas software, en su mayoría de libre distribución, que permiten la
implementación de VPNs bajo diferentes tipos de protocolos tanto en sistemas
operativos Windows como GNU/Linux.

Se hacen referencia a estas herramientas software por los protocolos utilizados:

IPSec.
SSL.
PPTP.
L2PT/IPSec.

Entre los sistemas software se encuentran:

Strongswan (cliente y servidor IPSec).


OpenVPN (cliente y servidor SSL)
Poptop (servidor PPTP),
PPTP Client (cliente PPTP)
L2TPD (cliente y servidor L2TP).

65 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Pixabay (Dominio público)

66 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.1.- Ventajas y desventajas de las VPNs.


Las redes privadas virtuales ofrecen grandes ventajas entre las que se pueden destacar:

Cifrado de datos y conexión, garantizando que toda la información que


transmitamos va a estar segura.
Confidencialidad e integridad de la información. Al ir cifrada, la
información no puede ser leída, modificada o alterada durante la
transmisión.
Autenticación. La información solo se trasmite entre dispositivos
autorizados y configurados.
Reducción de costes al no tener que usarse líneas de datos dedicadas.
Escalabilidad. Es fácil aumentar el número de usuarios que lo pueden
utilizar.
Movilidad: Facilita la movilidad de los usuarios.
Sencillez: Proceso transparente para el usuario.

Pero no todo van a ser ventajas en utilización de las VPNs, también existen algunas
desventajas pudiéndose destacar:

Coste: es un servicio que hay que instalar, configurar y poner en marcha, lo


que conlleva un coste económico.
Configuración de la red: Se debe reestructurar y configurar la red de la
empresa para poder acceder a ella, lo que implica modificaciones por parte
de los técnicos de la organización o por parte del proveedor de
comunicaciones.
Configuración de los dispositivos y sistemas: Se deben configurar los
dispositivos de los usuarios remotos que acceden a la red VPN. Y a los
usuarios que la utilicen, se les debe proporcionar un certificado y un
usuario/contraseña de acceso al servicio.

Para saber más


En el siguiente enlace puedes saber un poco más de las ventajas, desventajas
y otros aspectos relacionados con las VPNs:

67 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

¿Qué es una conexión VPN, para qué sirve y qué ventajas tiene?

Autoevaluación
La diferencia entre una VPN y una línea dedicada E es que:

Las VPN se implantan en América y las líneas dedicadas en Europa.


Las VPN no necesitan de una línea física nueva para cada nodo que se
incorpore a la red.
Las líneas dedicadas se construyen por software y las VPN por hardware.

Las líneas dedicadas permiten que usuarios ajenos a la red intervengan


en la comunicación.

Respuesta incorrecta. VPN es un término utilizado en Europa y en


América.

Es la correcta. Es una de las ventajas, una línea dedicada necesita que se


instale una línea física de conexión por cada nodo nuevo.

No es correcto. Una VPN se puede construir por software también.

Incorrecta. Tanto las VPN como las líneas dedicadas permiten la


comunicación solamente a los usuarios pertenecientes a la Intranet.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

68 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.2.- Escenarios de una VPN.


Cada uno de los escenarios de una VPN se corresponde con un tipo de situación distinta,
pudiendo tener la necesidad de conectar directamente:

1. Dos o más oficinas remotas entre sí (LAN a LAN o sitio a sitio).


2. Varios clientes contra una única oficina remota (LAN a Road Warrior o VPN de acceso
remoto)
3. Dos equipos dentro de una LAN o dos usuarios remotos (conexión punto a punto).

Sitio a Sitio

En esta situación dos oficinas remotas van a establecer un túnel VPN a través de una red
insegura. También se pueden usar para conectar dos o más hogares entre sí, teniendo
acceso a todos los recursos compartidos, como si se estuviera físicamente en todos los
hogares. El servidor VPN es el que posee un vínculo permanente a Internet, acepta las
conexiones autenticadas que provienen de los sitios, y establece el túnel VPN. Una vez que
dicho túnel esté establecido, los datos intercambiados entre ambos extremos viajarán
cifrados a través del túnel.

La información viajará encriptada exclusivamente entre los dos extremos, circulando en claro
dentro de las redes internas. De esta forma, cuando uno de los equipos de la LAN sitio 2
quiera guardar un fichero en el servidor de la LAN sitio 1 a través del enlace virtual, el
servidor de la LAN 2 lo cifrará y lo enviará a través del túnel, con destino la LAN 1. A su vez,
el servidor VPN de la LAN 1 será el encargado de descifrarlo y hacérselo llegar al servidor.

Un esquema se puede ver en la siguiente figura:

Andrés Rubio - Elaboración propia (Dominio público)

No importa qué tipo de conexión a Internet tengan las sedes, tan solo se necesita acceder a
Internet y utilizar el mismo protocolo VPN, tipo de cifrado y autenticación entre las dos
sedes.

Uno de los protocolos VPN más utilizados para este tipo de VPN es IPSec, pero también se
podrían utilizar otros protocolos que ofrecen una gran configurabilidad como por ejemplo
OpenVPN. Lo más importante a tener en cuenta a la hora de realizar VPN Sitio a Sitio son
las rutas estáticas (o dinámicas), para poder llegar desde el origen al destino a través
del túnel VPN.

69 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

LAN a Road Warrior (VPN de Acceso remoto)

En esta situación uno o varios usuarios remotos van a establecer un enlace virtual contra un
gateway, con el objetivo de acceder a los recursos situados detrás de éste. Esto permite una
conexión directa a la red local doméstica o de la organización, y tener acceso a todos los
recursos compartidos existentes. (como si se estuviera físicamente en el hogar o en la
empresa. Un esquema se puede ver en la siguiente figura:

Andrés Rubio - Elaboración propia (Dominio público)

Otro uso que se le podría dar a las VPN de acceso remoto es para aislar ciertas zonas y
servicios de una red interna. Así, solamente conectándose a través de la VPN se podría
acceder a ciertos servicios. Al igual que en el caso de las VPN sitio a sitio, la información
viajará encriptada exclusivamente entre los dos extremos, circulando en claro dentro de la
red interna.

Hoy en día existen protocolos VPN para Road Warrior, como IPsec (siempre que lo
configures como tal), OpenVPN, e incluso el nuevo protocolo VPN WireGuard que es muy
fácil de configurar y utilizar.

Punto a Punto

En esta situación dos usuarios remotos van a establecer un túnel VPN a través de una red
insegura.

Este escenario puede darse cuando se quiere establecer un canal de comunicación seguro
con otra persona que se encuentre en cualquier lugar del mundo, con el objetivo de poder
enviarle o recibir de ella información de forma confidencial. Esta confidencialidad está
garantizada gracias a que la información viajará cifrada entre ambos extremos de la
comunicación.

Un esquema se puede ver en la siguiente figura:

70 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Para saber más


En el siguiente enlace puedes obtener más información sobre WireGuard:

WireGuard, ¿el futuro de los protocolos VPN?

Debes conocer
Un aspecto muy actual relacionado con las VPN es el poder seleccionar el tipo
de tráfico que se quiere que pase, sí o sí, por la VPN. Por ejemplo, todo el
tráfico que provenga de una determinada subred de una organización, que se
fuerce a pasar por la VPN. Este aspecto relacionado con el filtrado se conoce
como túnel dividido (Split Tunneling). Puedes encontrar más información al
respecto en el siguiente enlace:

Túnel dividido

71 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.3.- VPN a nivel de enlace.


Con las VPN a nivel 2, se elimina la necesidad de utilizar routers en los extremos que se
encarguen del enrutado VPN. Su objetivo es construir una comunicación segura
independiente del protocolo utilizado en el nivel 3, pudiendo ser IP o cualquier otro. Se basa
en extender la red LAN a través de una MAN o WAN.

Los protocolos utilizados en este tipo de VPN son:

MPLS
L2TP
VPLS

MPLS añade etiquetas a los paquetes que


circulan por la red para poder enrutarlos en
cada nodo de comunicación. Cada etiqueta
define un camino diferente en la comunicación
y se inserta entre la información
correspondiente a la capa 2 y la información de
la capa 3.
Michel Bakni (CC BY-SA)

L2TP surge a partir de PPTP de Microsoft y L2F


de Cisco Systems. Este protocolo encapsula los datos utilizando PPP y necesita de un
protocolo a nivel 3 para ser completamente seguro.

Tanto MPLS como L2TP crean conexiones punto a punto, mientras que VPLS es capaz de
crear conexiones multipunto a multipunto. Cuando se utiliza VPLS, la red del ISP emula el
comportamiento de un conmutador o un puente creando una LAN compartida por todas las
LAN situadas en diferentes sitios con un único dominio de difusión.

Debes conocer
En el siguiente enlace
aprenderás más cosas sobre el
protocolo L2TP.

Instalación y Configuración
de una Red Privada Virtual en
Windows mediante L2TP y
Michel Bakni (CC BY-SA)

72 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

IPSec VPN

También puedes obtener una comparativa de protocolos VPN a través del


siguiente enlace:

Comparativa PPTP-L2TP-OPENVPN

Para saber más


En el siguiente enlace puedes acceder a una guía básica sobre VPN:

Guía básica sobre VPN y comparativa de protocolos VPN

Además, puedes ver un vídeo donde se ofrece una introducción a las VPN y
una comparativa a PPTP, OpenVPN y L2TP/IPSec:

VPN: conexión remota a oficina

Finalmente, puedes acceder a un vídeo tutorial sobre una configuración de


VPN PPTP y L2TP/IPSec usando Synology:

Tutorial sobre configurar VPN en Synology

73 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.4.- VPN SSL Vs VPN IPSec.


Las redes VPN SSL y VPN IPSec se han convertido en las tecnologías VPN principales para
conectar LAN remotas o usuarios a LAN remotas. Más que tecnologías en competencia, son
complementarias:

IPSec es mejor para conexiones sitio a sitio.


SSL es ideal para el acceso remoto.

Hoy día, la práctica totalidad de los dispositivos ofrecen la posibilidad de utilizar ambas
tecnologías. Comparando las dos tecnologías se podrían extraer las siguientes ventajas e
inconvenientes:

Ventajas SSL frente a IPSec Desventajas SSL frente a IPSec

Ventajas SSL frente a IPSec


Ventajas de SSL frente a IPSec:

No utiliza clientes específicos, utiliza navegadores Web estándar.


Facilita el acceso remoto.
Requiere menor administración.

Michel Bakni (CC BY-SA)

74 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Desventajas SSL frente a IPSec


Desventajas de SSL frente a IPSec:

No soporta tráfico de voz.


No favorece las conexiones sitio a sitio.
Dificulta el acceso a estaciones de trabajo individuales.

Michel Bakni (CC BY-SA)

La conexión a través de SSL realiza el acceso a través del puerto TCP 443 y utiliza cifrado de
puerto a través de los exploradores Web. En la mayoría de los casos, el puerto 443 (HTTPS)
está abierto y está permitido a través del firewall, por lo que es mucho más fácil garantizar la
conectividad de los usuarios finales. Además, la tecnología SSL no tiene las dificultades con
NAT que sí puede tener IPSec.

En la siguiente tabla puedes ver una comparativa entre ambos tipos de VPNs:

SSL IPSec

Permite aplicaciones basadas Permite cualquier aplicación


Aplicaciones
en web y cliente / servidor. basada en IP.

Trabaja en la capa de
Capa de trabajo Trabaja en la capa de red.
aplicación.

Cifrado Seguro. Seguro.

Bidireccional mediante
Autenticación Unidireccional o bidireccional. criptografía de clave privada

75 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

(secretos compartidos) o
criptografía de clave pública
(certificados digitales).

Puede resultar difícil para


Complejidad de Solo requiere el uso de un
usuarios sin conocimientos
conexión navegador web.
técnicos.

Solo se pueden conectar


Opciones de Cualquier dispositivo se puede
dispositivos con una
conexión conectar.
configuración específica.

Para saber más


Dado que WireGuard está empezando a tener mucho auge entre las VPNs,
puedes aprender como se puede realizar su instalación y configuración a
través del siguiente enlace:

WireGuard: Configuración

También puedes ver cuáles son los routers profesionales que puedes usar
para crear VPNs:

¿Qué routers profesionales tienen VPN para conectarnos a la empresa?

Autoevaluación
Desde el punto de vista de un usuario inexperto.
Las VPN con IPSec son más sencillas de utilizar.
Las VPN con SSL son más sencillas de utilizar.
SSL implica instalar software cliente que dificulta la administración.

IPSec posibilita que un usuario se conecte desde cualquier equipo sin


importar el software instalado.

No. IPSec implica utilizar software cliente.

76 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Es la correcta. Bastaría con tener un navegador web.

No es correcto. No es necesario, basta con un navegador web.

No es correcto. Esta es precisamente una de las desventajas respecto a


SSL.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

77 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.5.- OpenVPN.

Tiene por objetivo desarrollar una


implementación de VPNs basadas
en la biblioteca OpenSSL. Es un
producto de software libre, liberado
bajo licencia GPL, que presenta las
siguientes características:

Está basado en el desarrollo


del driver tun, utilizado para la
simulación de interfaces de red
y su posterior manipulación en
espacio de usuario. Es el Michel Bakni (CC BY-SA)

componente principal del


proyecto, encargado de
levantar el túnel y encapsular los paquetes a través del enlace virtual.

Utiliza las capacidades de encriptación y autenticación de la biblioteca OpenSSL, con


el objetivo de proveer la seguridad del túnel.

Todas las comunicaciones del enlace VPN transcurren a través de un único puerto TCP
o UDP (por defecto el 1194), lo cual hace que OpenVPN sea muy fácil de integrar
junto con routers y firewalls.

Puede utilizar la biblioteca de compresión Lampel Ziv Oberhumer (LZO) empleada


para la compresión de los datos enviados a través del túnel.

A partir de la versión 2.0, la aplicación funciona bajo el modelo cliente-servidor, lo cual


permite que varios usuarios remotos se conecten a un servidor central que esté
continuamente atendiendo peticiones en un único puerto. El servidor VPN será el
encargado de asignar una dirección IP virtual a cada uno de los usuarios remotos que
se conecten.

Fases del establecimiento del túnel SSL

Cuando dos máquinas quieren abrir una comunicación segura mediante SSL, tienen que
seguir una serie de pautas previamente definidas por el protocolo. Es lo que se conoce como
fases del establecimiento del túnel SSL:

1. Establecimiento de la conexión: Ambos extremos del túnel intercambian información


acerca de los protocolos de los que disponen para las etapas de autenticación y

78 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

encriptación, y en base a estos datos, llegan a un acuerdo sobre los algoritmos a


utilizar.

2. Autenticación: Ambas máquinas intercambian sus certificados digitales. Estos


certificados van firmados por una CA de la que se confía y además, incluyen la clave
pública del propietario. A través de las pareja de claves RSA que cada participante
posee (claves pública y privada), ambos extremos de la conexión se autenticarán entre
sí. Posteriormente, estas mismas claves se utilizarán para poder intercambiar de forma
segura la clave maestra con la que generarán la clave simétrica de sesión.

3. Generación de clave de sesión: Una de las máquinas envía a la otra una clave
maestra, previamente cifrada con la clave pública del receptor. Mediante dicha clave
maestra, se generará una clave de sesión, que será la que realmente se utilice para
encriptar los datos transmitidos por el futuro canal de comunicación.

El controlador universal TUN/TAP

Tiene la capacidad de emular una interfaz de red en cualquier tipo de sistema operativo. Los
datos transmitidos por él pueden ser leídos y manipulados por una aplicación en espacio de
usuario.

El controlador TUN emula un dispositivo punto a punto, mientras que el controlador TAP
emula una interfaz de red Ethernet. Estas dos posibilidades permiten a OpenVPN operar en
dos modos distintos:

1. Modo túnel: Emplea el driver tun y es utilizado para crear túneles virtuales operando
con el protocolo IP. De esta forma, se pueden encapsular todos los paquetes que se
transporten a través de él como datagramas TCP o UDP. Las máquinas que queden
detrás de cada uno de los extremos del enlace pertenecen a subredes diferentes.

2. Modo puente: Utiliza el driver tap y es empleado para túneles que encapsulan
directamente paquetes Ethernet. Esta situación permite empaquetar entramados
diferentes a IP, como por ejemplo, NETBEUI o IPX. Las máquinas situadas detrás de
cada uno de los extremos del enlace pueden operar como parte de la misma subred. El
modo de funcionamiento puente es particularmente útil para enlazar usuarios remotos,
ya que éstos pueden conectarse a un mismo servidor y virtualmente, formar parte de la
subred principal.

La biblioteca OpenSSL

Es el principal componente que provee la seguridad en las comunicaciones privadas que se

79 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

realizan sobre el túnel creado mediante el controlador TUN. Por lo tanto, debe ser capaz de
aportar las tres características básicas de una VPN:

1. Cifrado de datos: Se consigue mediante la posibilidad de emplear distintos tipos de


algoritmos (RC2, RC4, IDEA, DES, 3DES,...) con las ventajas e inconvenientes de cada
uno de ellos.

2. Autenticación: Está basada en el modelo de claves asimétricas RSA, en el cual, los


participantes intercambian sus claves públicas a través de certificados digitales X.509,
los cuales han sido firmados previamente por una CA en la que se confía.

3. Integridad: Se asegura mediante funciones hash que se encargan de verificar que los
datos no han sido alterados o modificados en su recorrido a través del túnel.

Autoevaluación
Por defecto, ¿Cuál es puerto de comunicaciones que usa OpenVPN?

1194

1184

443

22

Correcto. Veo que has prestado atención.

Incorrecto. Lee de nuevo el apartado y podrás comprobar que no es el


correcto.

Incorrecto. Este es el puerto usado para las comunicaciones seguras con


el protocolo HTTPS.

Incorrecto. Este es el puerto usado para la comunicaciones remotas con


Secure Shell (SSH).

80 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Solución

1. Opción correcta
2. Incorrecto
3. Incorrecto
4. Incorrecto

81 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.5.1.- Configuración de OpenVPN para


crear una VPN SSL en Linux.
Antes de poder configurar OpenVPN, tanto en la máquina que actúa de cliente como en la
que actúa de servidor, es necesario llevar a cabo su instalación. Para ello se ejecutarán los
siguientes comandos:

1 apt-get update
2
3 apt-cache search openvpn
4
5 apt-get install openvpn

Con el primero de los comandos se actualiza la lista local de repositorios y paquetes


disponibles para instalar/actualizar. A continuación se comprueba que el paquete openvpn
está disponible en los repositorios y se procede a su instalación.

Una vez instalada la aplicación, se crea el directorio /etc/openvpn. Este directorio se encuentra
inicialmente vacío y se utiliza habitualmente para depositar los ficheros de configuración,
claves, certificados digitales, etc.

Configuración

La aplicación OpenVPN utiliza un único fichero de configuración donde se especifican los


parámetros del túnel VPN SSL que se quiere establecer. Este fichero de configuración puede
tener cualquier tipo de nombre. Si por ejemplo lo llamamos iesalandalus.conf, cuando se quiera
iniciar la conexión se tendrá que ejecutar el siguiente comando:

openvpn --config iesalandalus.conf

OpenVPN presente multitud de parámetros que permiten afinar mucho su configuración. A


continuación se van a presentar los parámetros más comunes. Mencionar que estos
parámetros son válidos para todas las versiones de OpenVPN, independientemente del
sistema operativo que se esté usando.

Mostrar

82 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

— Parámetros configuración OpenVPN

83 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

‒ auth alg
‒ auth-user-pass
‒ ca ca_file
‒ cert cert_file
‒ key key_file
‒ tls-client
‒ tls-server
‒ secret key_file
‒ cipher alg
‒ secret key_file
‒ client-cert-not-requiered
‒ client-to-client
‒ comp-lzo
‒ crl-verify crl_file
‒ dev device
‒ ifconfig local_IP remote_IP
‒ remote IP [port]
‒ keepalive time1 time2
‒ log log_file
‒ port port
‒ tmp-dir dir
‒ verb level
‒ route IP mask
‒ push “directive”
‒ pull

84 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

OpenVPN Inc (Dominio público)

Rodjunk (CC BY-SA)

Richard Patterson (CC BY)

En los parámetros expuestos anteriormente, algunos de ellos se utilizan para

85 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

indicar la ubicación de ciertos ficheros necesarios para establecer la VPN SSL. Si


no se especifica una ruta absoluta hacia los mismos, OpenVPN tratará de
localizarlos en el directorio en el que se encuentre el usuario en el momento de
lanzar la conexión.

Para monitorizar el proceso de establecimiento del túnel VPN SSL en Linux se tienen dos
opciones:

1.- Si en el archivo de configuración se declara un fichero de log, la información del


proceso de establecimiento de la conexión y el transcurso de ésta serán volcados en
dicho archivo.

2.- Si por el contrario no se especifica ningún archivo de log, cuando se inicie la


conexión mediante el comando openvpn - -config, se mostrará como salida en el terminal la
misma información que la reflejada en el fichero de log.

Por otra parte, el comando openvpn ofrece al usuario diversas funcionalidades relacionadas
con el proceso de conexión y generación de claves compartidas, algoritmos de cifrado y
autenticación. A continuación se van a exponer las formas más comunes del empleo de esta
orden:

openvpn --config file

Inicia una conexión VPN SSL en base a los parámetros definidos en el fichero de
configuración especificado mediante el parámetro file.

openvpn --genkey --secret file

Genera una llave aleatoria para ser utilizada como secreto compartido (clave
simétrica) en una VPN SSL autenticada a través de clave compartida, y a su vez,
la guarda en el fichero especificado mediante el parámetro file.

En el caso de crear un túnel OpenVPN con autenticación TLS, son necesarios los ficheros
con las claves y certificados que se muestran en la tabla siguiente:

Necesitado
Fichero Propósito ¿Secreto?
por

86 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Certificado
Raíz de la
CA que
crea los
Servidor y
ca.crt certificados NO
clientes.
del
servidor y
de los
clientes.

Parámetros
Servidor y
dh.pem Diffie- NO
clientes.
Hellman.

Clave
server.key Servidor. privada del SI
servidor.

Certificado
server.crt Servidor. del NO
servidor.

Clave
privada
client.key Cliente. SI
para un
cliente.

Certificado
client.crt Cliente. para un NO
cliente.

Ejemplo de creación de un túnel punto a punto entre dos máquinas


Ubuntu mediante OpenVPN usando autenticación TLS

A continuación se va a exponer un ejemplo para la creación de un túnel punto a punto entre


dos máquinas Ubuntu usando validación TLS con OpenVPN. Se pone de ejemplo una
conexión punto a punto porque es la más sencilla, y por tanto, la mejor forma de asimilar los
conceptos relativos a los parámetros mostrados con anterioridad. Los datos que se
necesitan para crear dicho túnel son:

IP de la máquina que va a actuar con el rol de servidor VPN: 192.168.1.101

87 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

IP de la máquina que va a actuar con el rol de cliente VPN: 192.168.1.102


IP virtual del extremo del túnel que va a tener el equipo con el rol de servidor: 10.0.0.1
IP virtual del extremo del túnel que va a tener el equipo con el rol de cliente: 10.0.0.2
También son necesarios los siguientes ficheros que han tenido que ser creados o
proporcionados previamente:

ca.crt: Certificado de la Autoridad Certificadora usado para crear las claves y los
certificados del servidor y del cliente.

dh.pem: Fichero Diffie-Hellman usado para el establecimiento de las claves de


sesión en los extremos del túnel.

server.crt: Fichero con el certificado del servidor VPN.

server.key: Fichero con la clave privada del servidor VPN.

client.crt: Fichero con el certificado del cliente VPN.

client.key: Fichero con la clave privada del cliente VPN.

Andrés Rubio - Elaboración propia (Dominio público)

Configuración Servidor VPN

Creación del fichero de ►


configuración

88 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

En primer lugar, se crea el fichero de configuración para el servidor.


En este caso se va a llamar server-vpn.conf y se sitúa en /etc/openvpn
/server.

Establecimiento de parámetros

Andrés Rubio - Elaboración propia (Dominio público)

En segundo lugar, se establecen los valores adecuados para cada

89 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

uno de los parámetros del servidor.

Comprobaciones

Andrés Rubio - Elaboración propia (Dominio público)

Por último, se realiza una serie de comprobaciones para verificar


que los ficheros indicados en los parámetros de server-vpn.conf están
creados y están en la ruta correcta

1 2 3

Configuración Cliente VPN

Creación del fichero de ►


configuración cliente

90 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

En primer lugar, se crea el fichero de configuración para el cliente.


En este caso se va a llamar client-vpn.conf y se sitúa en /etc/openvpn/client.

Establecimiento de parámetros

Andrés Rubio - Elaboración propia (Dominio público)

En segundo lugar, se establecen los valores adecuados para cada


uno de los parámetros del cliente.

91 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Comprobaciones

Andrés Rubio - Elaboración propia (Dominio público)

Por último, se realiza una serie de comprobaciones para verificar


que los ficheros indicados en los parámetros de client-vpn.conf están
creados y están en la ruta correcta

1 2 3

Establecimiento del túnel y comprobaciones de su funcionamiento

Arrancar el servicio openvpn en el ►


servidor

92 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Lo primero será iniciar el servicio en la máquina con el rol de


servidor a través del comando:

openvpn /etc/openvpn/server/server-vpn.conf

Arrancar el servicio openvpn en el


cliente

93 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Lo segundo será iniciar el servicio en la máquina con el rol de


cliente a través del comando:

openvpn /etc/openvpn/client/client-vpn.conf

Comprobaciones en el servidor

94 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Tercero, se comprueba en el servidor que la interfaz de red está


creada (tun0) y que en la tabla de enrutamiento se ha añadido una
nueva ruta hacia el otro extremo del túnel (10.0.0.2).

Andrés Rubio - Elaboración propia (Dominio público)

Además, se verifica en el fichero log que el túnel está establecido y


se ejecuta un comando ping al extremo del túnel del cliente para
chequear de que se tiene respuesta del mismo.

Comprobaciones en el cliente

95 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Por último, se comprueba en el cliente que la interfaz de red está


creada (tun0) y que en la tabla de enrutamiento se ha añadido una
nueva ruta hacia el otro extremo del túnel (10.0.0.1).

Andrés Rubio - Elaboración propia (Dominio público)

Además, se verifica en el fichero log que el túnel está establecido y


se ejecuta un comando ping al extremo del túnel del servidor para
chequear de que se tiene respuesta del mismo.

1 2 3 4

96 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.6.- IPSec.

Es un protocolo que implementa aspectos de seguridad a nivel de la capa IP. Debido a que
todas las aplicaciones se ejecutan sobre la capa IP, el uso de IPSec garantiza proporcionar
seguridad no solo para aplicaciones que implementan sus propios mecanismos de
seguridad, sino también para aquellas aplicaciones que ignoran la seguridad.

Sus tres objetivos principales son:

1. Confidencialidad.
2. Integridad.
3. Autenticación.

IPSec cumple estos tres objetivos: verifica las direcciones IP de los paquetes IP
(Autenticación), y proporciona mecanismos que garantizan la integridad y confidencialidad
de los paquetes. A continuación se muestra la estructura de IPSec:

97 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Modos IPSec

Con IPSec se puede trabajar en dos modos de operación:

1. Modo Transporte: Usado por ejemplo en comunicaciones punto a punto. Requiere


que tanto Emisor como Receptor implementen IPSec.

2. Modo túnel: Usado por ejemplo para conectar dos routers que están en Intranets
diferentes y físicamente separadas, de forma que el tráfico intercambiado entre ambas
Intranets sea totalmente seguro. De esta forma se evita que los equipos finales dentro
de la Intranet tengan que implementar IPSec. Además, estos equipos no serían
conscientes de que hay una protección IPSec detrás. Sin embargo, los routers sí que
tienen que llevar IPSec.

Modo Túnel Modo Transporte

Modo Túnel
En este modo la protección se garantiza para el tráfico que va desde el gateway
de la red origen de la comunicación hasta el gateway de la red destino.

Es el modo más ampliamente usado. En este caso se tienen dos hosts (A y B)


situados en dos LAN diferentes y que desean comunicarse de forma segura usando
un canal inseguro como Internet.

La solución para ello pasa por crear un túnel IPSec entre los dos gateways de ambas
LAN. De esta forma, todo el tráfico entre ambos gateways viajará cifrado, y en
consecuencia, estará protegido. Por tanto, cuando el host A envía un paquete al host
B, este paquete irá descifrado hasta llegar al gateway de la LAN del host A. Antes de
salir del gateway, éste cifra el paquete original recibido del host A y añade
información específica:

Una nueva cabecera IP que contiene como IP origen la del gateway de la LAN
del host A, y como IP destino, la correspondiente al gateway de la LAN del host
B.

Una cabecera IPSec que contiene información sobre la protección


proporcionada usando AH o ESP.

98 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Como se puede ver en la imagen, el paquete original del host A se integra en la parte
de datos del nuevo paquete IP generado por el gateway de la LAN del host A.

Finalmente, cuando el nuevo paquete llega al gateway de la LAN destino, éste


descifra el paquete y le hace llegar al host B el paquete original del host A.

Andrés Rubio - Elaboración propia (Dominio público)

Modo Transporte
En este modo la protección se garantiza para el tráfico que va desde un host origen
de la comunicación al host destino, es decir, es una protección end to end.

99 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Además de los elementos AH y ESP, mostrados anteriormente en las estructuras de


paquetes de IPSec, su arquitectura está formada por un tercer elemento llamado IKE
(Internet Key Exchange). En los siguientes apartados se profundizará en cada uno de estos
tres elementos.

Para saber más


En el siguiente enlace puedes encontrar más información sobre ambos modos
de funcionamiento:

Modos transporte y tunelizacion en IPSec

Debes conocer
Para conocer en profundidad todo lo relacionado con IPSec puedes
descargarte el siguiente fichero:

100 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

IPSec: El estándar de seguridad en IP (pdf - 1,75 MB)

101 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.6.1.- ESP y AH.

ESP: Encapsulating Security Payload

Protocolo de seguridad de IPSec que


garantiza la confidencialidad,
integridad y autenticación de cada
paquete. Puede usarse tanto en modo
transporte como en modo túnel.

Como se observa en la imagen de la


derecha, en el modo transporte ESP
añade:

1. Una cabecera ESP: Se inserta


después de la cabecera IP
origen, conteniendo información
que indica al gateway destino
como descifrar la parte cifrada
del paquete. Por ejemplo, indica
qué algoritmo de descifrado debe
usar. Por tanto, la cabecera ESP
no va cifrada.

2. Un ESP Trailer: Se inserta después de la parte de datos del paquete IP origen,


contiendo información sobre la siguiente cabecera ESP. Esta parte es cifrada junto
con la parte de datos y la cabecera TCP del paquete original.

3. Un ESP Auth: Se usa para almacenar el valor hash resultante de aplicar una función
hash tanto a la cabecera ESP como a la parte cifrada. Este campo es usado por el
gateway receptor para verificar la autenticidad y la integridad del mensaje
recibido.

En cambio, en el modo túnel, ESP añade los mismos tres elementos pero lo hace de una
forma diferente:

1. La cabecera ESP se añade tras una nueva cabecera IP.


2. La cabecera IP del paquete original, la cabecera TCP y los datos, son ahora cifrados
junto con el ESP Trailer.
3. Respecto al ESP Auth lo que cambia es que la función hash se aplica también a la
cabecera IP Origen, cosa que no ocurría en el modo transporte.

102 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

AH: Authentication Header

Protocolo de seguridad IPSec que garantiza la autenticación y la integridad, con lo cual,


toda la información enviada circula sin cifrar. Además de esto, el AH se diferencia del ESP
porque se garantiza la integridad para el paquete completo, incluyendo la nueva cabecera IP
en el modo túnel y la cabecera IP del paquete original en el modo transporte. Hay una
excepción, no autentica los campos variables como checksum, TTL, ...

El encapsulado de los paquetes AH, tanto en el modo transporte como en el modo túnel, es
mostrado en la imagen siguiente:

Andrés Rubio - Elaboración propia (Dominio público)

En ambos modos, AH inserta una pequeña cabecera de autenticación, entre la cabecera IP y


los datos del paquete en el modo transporte, y delante del paquete IP original en el modo
túnel.

Para saber más


En los siguientes enlaces puedes ver unos vídeos en los cuales se explican los
modos de funcionamiento de IPSec:

103 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

El framework IPsec para IP

Seguridad en la información: IPSec

También puedes obtener más información sobre la autenticación IPSec


accediendo al siguiente enlace:

Diferentes formas de autenticación en IPSec

Autoevaluación
¿Cuál de los siguientes principios básicos de seguridad no está
garantizado con el protocolo AH en IPSec?

Integridad

Confidencialidad

Autenticación

Incorrecto. Queda garantizado al aplicar un hash a todo el paquete IP.

Muy bien! Veo que has prestado atención.

Incorrecto. Queda garantizado tanto por AH como por ESP

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto

104 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.6.2.- IKE.
Protocolo encargado de negociar los parámetros de las políticas de seguridad a aplicar entre
los extremos de la comunicación, incluyendo algoritmos de cifrado y hash, la generación e
intercambio de claves…

Se divide en dos fases: IKE fase 1 eIKE fase 2

IKE Fase 1 IKE Fase 2

IKE Fase 1
El propósito de esta primera fase es establecer un túnel seguro que pueda ser usado
en la fase 2. El establecimiento de este primer túnel se lleva a cabo en tres pasos:

1.- Negociación: Los dos extremos de la comunicación deben ponerse de


acuerdo en los siguientes asuntos:
1.1.- HMAC: Qué algoritmo de hash (MD5 o SHA) van a usar para verificar
la integridad. No se recomienda usar MD5 al ser vulnerable.
1.2.- Autenticación: Deben determinar si usar clave compartida o
certificados.
1.3.- DH Group: IPSec usa el algoritmo DH para proveer un método de
intercambio de claves. Para esto ambos extremos deben negociar qué
DH Group usar, lo cual determina la longitud de la clave que usarán en el
proceso de intercambio de claves. Cuanto más alto sea el identificador
del grupo DH más seguro es pero también más tiempo de computo
conlleva. No se recomienda usar ni DH1 ni DH2 porque son vulnerables.
1.4.- LifeTime: Determina el tiempo de vida del túnel IKE fase 1. Cuanto
más corto sea dicho tiempo, más segura es. Un valor común suele ser
86400 segundos (1 día).
1.5.- Cifrado: Determinad que algoritmo usar para el cifrado (DES, 3DES
o AES).
2.- Intercambio de claves DH: Una vez determinado el grupo DH a usar en el
paso anterior, en este paso ambos extremos se ponen de acuerdo en la clave
secreta a usar.
3.- Autenticación: En este último paso, ambos extremos se autenticarán
usando el método de autenticación establecido en el paso 1. Si la autenticación
es exitosa, la fase 1 queda completada y el túnel queda establecido (Túnel
ISAKMP).

105 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

IKE Fase 2
El objetivo es establecer un nuevo túnel para el que tendrán que negociar nuevos
asuntos. Para esta negociación usarán el túnel de la fase 1 con lo que toda la
información que circule en esta fase no podrá ser vista ni descifrada por nadie que
no sean los extremos de la comunicación.

Los asuntos a negociar son:

Protocolo IPSec: AH o ESP: Uno u otro dependiendo de los objetivos que se


pretendan garantizar (confidencialidad, integridad y autenticación).
Modo: Túnel o transporte.
Cifrado: Qué algoritmo usar para el cifrado (DES, 3DES o AES).
Hash: MD5 o SHA.
LifeTime: Tiempo de vida para el túnel IKE fase 2.
PFS: Es opcional y obliga a que los extremos vuelvan a generar una clave
secreta usando el grupo DH.

El resultado final, tras finalizar esta fase sería algo como lo siguiente:

Andrés Rubio - Elaboración propia (Dominio público)

A partir de este momento, ambos extremos pueden empezar a intercambiar datos.

106 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Un resumen muy básico de todo lo que hemos descrito previamente puede verse en
la siguiente imagen:

Michel Bakni (CC BY-SA)

107 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

4.6.3.- StrongSwan.
Se trata de solución VPN OpenSource basada en IPSec para distribuciones Linux. Su
instalación se puede realizar a través del comando:

sudo apt-get install strongswan

Su instalación generará todos los ficheros necesarios para que se puede configurar una VPN
IPSec. Además, también instalará una infraestructura de clave pública que permite crear una
autoridad certificadora para proporcionar credenciales.

Configuración túnel VPN IPSec con StrongSwan

Para llevar a cabo la creación y configuración de una VPN IPSec con StrongSwan hay que
tener presente sus dos ficheros principales existentes en el directorio /etc. Estos ficheros son
ipsec.secrets e ipsec.conf.

El primero de estos ficheros (ipsec.secrets) se usa para la autenticación. Para su configuración


existen distintas opciones entre las que se pueden destacar:

Crear una VPN IPSec con autenticación basada en clave secreta precompartida
(PSK)

Para ello, en dicho fichero se debe anotar:

La IP pública del equipo que actúa como origen de la VPN.


La IP pública del equipo que actúa como destino de la VPN.
La clave precompartida.

El formato es el siguiente:

IP Pública Origen IP Pública Destino : PSK clave

108 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Lo ideal es que esta clave aparezca cifrada, ya que al tratarse de un fichero de texto, si
no se cifra se conocerá cual es la clave precompartida entre ambos extremos de la
VPN. Para poder cifrarla existen herramientas online, pero también se puede usar
openssl, a través del comando:

openssl rand -base64 64

Crear una VPN con autenticación basada en RSA

Para ello, en dicho fichero se debe indicar que se va a usar RSA y la ruta donde se
encuentra la clave privada previamente generada.

Andrés Rubio - Elaboración propia (Dominio público)

Estos son solo dos ejemplos de valores válidos que se pueden poner en el fichero ipsec.secrets.
Otras formas de autenticación pueden ser usando EAP (con nombre de usuario y
contraseña), XAUTH para establecer credenciales usando XAUTH.

Por tanto, se puede concluir que el fichero ipsec.secrets contiene aquella información que nunca
debe ser visible para el resto de participantes al contener la parte privada de la
comunicación.

Por otra parte, el segundo de los ficheros (ipsec.conf), se usa para configurar los túneles VPN
IPSec. Los parámetros que aparecen en dicho fichero deben estar correctamente tabulados.
Consta de varias secciones como

conn setup

109 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

conn %default

A través de las dos secciones anteriores se definen las características comunes de todas las
conexiones IPSec, ya que es posible crear varios túneles dentro de un mismo archivo de
configuración usando distintos nombres de conexión. Para crear una sección con un nombre
específico al que poder referirse posteriormente, y establecer los valores propios de la VPN
para esa conexión, habría que crear una entrada en el fichero a través de la opción conn. Por
ejemplo, si se quiere crear una conexión con unos parámetros específicos para crear una
VPN con otra sede de la organización (sede1), se podría crear la entrada mostrada a
continación:

conn sede1

Y para establecer los valores propios de la VPN IPSec llamada sede1, se usarían los
parámetros que son listados a continuación:

Mostrar

— conn sede1

‒ authby=secret/rsasig
‒ auto=add/start/ignore
‒ compress=yes/no
‒ dpddelay=num
‒ dpdtimeout=num
‒ dpdaction=hold/clear
‒ ike=[encryp-auth][,encryp-auth][,encryp-auth][-DHgroup][!]
‒ esp=[encryp-auth][,encryp-auth][,encryp-auth][!]
‒ keyingtries=num
‒ left=IP/%defaultroute/%any
‒ right=IP/%defaultroute/%any
‒ leftid/rigthid=IP/direccion email/ @dominio FQDN / DN de un certificado.

110 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

‒ leftcert/rightcert=ruta_al_certificado
‒ leftrsasigkey/rightrsasigkey= clave_pública
‒ leftsubnet/rightsubnet=IP/mask
‒ pfs=yes/no
‒ rekey=yes/no

Comandos IPSec

Algunos comandos interesantes que nos permite gestionar el túnel VPN IPSec son los
siguientes:

Para iniciar, parar, o reiniciar el servicio

sudo ipsec start |stop | restart

Para comprobar el estado del túnel:

sudo ipsec status

Para levantar o bajar un túnel cuyo nombre aparece configurado en el fichero


ipsec.conf.

sudo ipsec up <nombre_conexión>

sudo ipsec down <nombre_conexión>

Para recargar la información presente en el fichero ipsec.secrets mientras el servicio


está operativo y no tener que reiniciarlo:

sudo ipsec rereadsecrets

111 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Debes conocer
En los siguientes enlaces puedes ver el uso de los parámetros listados
anteriormente para montar VPNs IPSec on StrongSwan;

Creación de una VPN IPSec sitio a sitio

Configuración servidor VPN-IKEV2.

Autoevaluación

Obligatoriamente, para crear diferentes túneles IPSec usando


StrongSwan, se tendrán que crear diferentes ficheros de configuración.

Verdadero Falso

Falso
Con un solo fichero de configuración y diferentes secciones con
distintos nombres sería suficiente

112 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

5.- Servidores de acceso remoto.

Caso práctico
—Juan, después de estar preparando todo para que
podamos acceder de manera remota se nos ha olvidado
lo más importante. ¿Es caro?

—No te preocupes Laro, que creo que lo podemos


solucionar sin gastarnos nada. Tenemos que habilitar el
servicio de acceso remoto en el servidor, será el único
camino de entrada a nuestro servidor.

—¿Entrada?

Alain Bachellier (CC BY-NC-SA)


—Si, es necesario habilitar un camino, solamente
accesible para los usuarios autorizados e imposible de
sobrepasar para los desconocidos.

Juan explicará al resto de miembros del departamento el tipo de software


necesario para poder habilitar en un servidor el servicio de acceso remoto, así
como los diferentes protocolos de autenticación necesarios para que la
conexión remota sea segura.

Un servidor remoto es un equipo que permite que otro equipo se conecte a él. También se
denominan RAS. Se encarga de las múltiples llamadas entrantes de los usuarios remotos
que necesitan acceso a recursos de red.

Los servidores de acceso remoto hacen las funciones de puerta de enlace entre el cliente de
acceso remoto y la red local. Antes de establecerse la conexión hay una autenticación de los
clientes de acceso remoto.

El uso de servidores de acceso remoto facilita la conexión incluso si no se dispone de


Internet, y si de una conexión móvil a través de la línea telefónica pública básica utilizando el
protocolo PPTP.

Para saber más

113 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

En el siguiente vídeo puedes ver cómo instalar un software con funciones de


servidor de acceso remoto en una instalación doméstica.

Configuración servidor para acceso remoto

También puedes aprender a configurar el acceso remoto en Windows Server:

Configuración del servidor de acceso remoto en Windows Server

114 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

5.1.- Protocolos de autenticación.


La autenticación es un proceso de validación de una identidad de usuario o dispositivo,
necesaria para acceder a un determinado recurso.

Entre los protocolos de autenticación más comunes se encuentran:

PAP.
CHAP.
TACACS (propiedad de Cisco).
RADIUS.
SPAP.

PAP es un protocolo inseguro, ya que no cifra el usuario y la contraseña en la comunicación


con el servidor. Se empleaba con servidores Unix.

CHAP es un protocolo que se puede utilizar en comunicaciones remotas o inalámbricas. La


característica más relevante es que obliga al cliente a verificar su identidad cada cierto
intervalo de tiempo. Una variante de este protocolo es MSCHAP implementado por
Microsoft. Realiza la autenticación por desafío mutuo, utiliza un algoritmo (MD5) para calcular
un valor que sólo conocen el sistema de autenticación y el dispositivo remoto, conocido
como secreto compartido. Con CHAP, el nombre de usuario y la contraseña siempre se
envían cifrados. Aunque la comunicación esté cifrada, actualmente el algoritmo MD5 está
roto.

TACACS permite que el servidor de acceso remoto utilice un servidor de autenticación para
verificar si un usuario tiene acceso o no. La evolución de TACACS es TACACS+. Este
protocolo actúa de manera similar a RADIUS. Este tipo de protocolos se denominan de tipo
AAA puesto que realizan tres funciones:

Autenticación.
Autorización.
Contabilización.

RADIUS es un protocolo de tipo AAA y se utiliza en combinación con protocolos como PAP
o CHAP. Una de las características más importantes es la capacidad para manejar sesiones,
determinando o limitando el tiempo de conexión de cada usuario. Se emplea en la seguridad
en redes inalámbricas, sobre todo en redes inalámbricas abiertas.

115 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

El proceso seguido en la autenticación RADIUS sería el que se


representa en la figura y se podría resumir en los siguientes pasos:

El usuario llama al RAS y le comunica nombre de usuario y


password, iniciando las negociaciones PPP.
RAS actúa sólo como intermediario, pasando la información de
autenticación al servidor RADIUS.
Linux Screenshots (CC BY)
RADIUS autentica al usuario y emite una respuesta de
aceptación, si no puede autenticar al usuario, le envía una
notificación.
Con la información remitida por RADIUS, RAS completa la negociación PPP,
permitiendo la conexión a la red o denegando el acceso.

Para saber más


A continuación puedes ver un vídeo sobre RADIUS:

Framework AAA y RADIUS

También, a través del siguiente enlace puedes ver un vídeo comparativo de


TACACS+ y RADIUS:

Framework AAA: TACACS+ vs RADIUS

Por último, puedes acceder al siguiente enlace para conocer el protocolo de


autenticación de Kerberos:

Protocolo Kerberos

SPAP es un protocolo en el que el cliente de acceso remoto envía una contraseña cifrada
con un algoritmo de cifrado bidireccional al servidor de acceso remoto. El servidor de acceso
remoto descifra la contraseña y utiliza el formato sin cifrar para autenticar al cliente de
acceso remoto. Es más seguro que PAP pero menos que CHAP.

Debes conocer
En los siguientes enlaces puedes obtener más información sobre los
protocolos AAA:

116 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Protocolos AAA y control de acceso a red: Radius

Autenticación basada en contraseñas

Como configurar y utilizar Radius en un punto de acceso

117 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

5.2.- Servidores de autenticación. Ataques


y contramedidas en sistemas personales.
Un servidor de autenticación es un dispositivo que controla
quien puede acceder a una red informática, por software, por
hardware o por una combinación de ambos.

Los ataques contra los servidores de autenticación tienen


como objetivo engañar al sistema para entrar en el mismo,
generalmente adueñándose de las sesiones ya establecidas
por la víctima y/u obteniendo su nombre de usuario y
password.
Antonio Nicolás Pina (CC BY-NC-ND)

Uno de los agujeros de seguridad está en los navegadores


utilizados para el envío de las claves de usuario, sobre todo cuando se utiliza HTML y
JavaScript. Esta debilidad puede dar lugar a ataques Http Request Splitting.

Un ataque del tipo Http Request Splitting o división de respuesta HTTP, permite al atacante
enviar una única petición HTTP al servidor, de tal manera que obligue a éste a responder de
manera duplicada, controlando una de las respuestas.

Este tipo de ataque funciona de manera similar al Cross-Site Scripting y de la misma


manera, para combatirlo la solución está en validar las entradas de los formularios donde se
escriben los usuarios y las contraseñas, ya que es en estos formularios donde se puede
incluir código interpretable por el servidor y que es el causante de las respuestas duplicadas.

Autoevaluación
Un servidor RADIUS es:
Es un cliente de autenticación.
Es un RAS de autenticación.

Servicio de Linux Ubuntu.


Servidor Windows.

No. RADIUS actúa como servidor autenticador.

Muy bien, es la correcta. Servidor que comprueba la identidad de un


usuario de manera local o remota.

118 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

No es correcto. Aunque se puede configurar Linux para que actúe como


servidor RADIUS.

No es correcto. RADIUS se puede implementar en diversas plataformas.

Solución

1. Incorrecto
2. Opción correcta
3. Incorrecto
4. Incorrecto

119 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

5.3.- Acceso remoto centralizado: Apache


Guacamole.
Guacamole es un paquete software open source disponible en las distribuciones Linux que
permite realizar, desde un ordenador cliente, conexiones remotas a diferentes equipos e
iniciar sesiones de escritorio en ellos a través de un navegador web.

Actúa como intermediario entre el cliente y los equipos a los que se pueden realizar
conexiones remotas por medio de streaming HTML5 . Por tanto, permite realizar accesos
remotos centralizados. De este modo solo queda expuesto uno de los equipos desde fuera
de la red: El servidor donde se aloja Guacamole.

Soporta diferentes protocolos de gestión remotas: SSH, VNC y RDP. En la imagen


mostrada a continuación se puede apreciar toda la arquitectura de Guacamole.

Apache.org (Apache License)

Instalación de guacamole ►

Para la instalación se puede usar el repositorio de algunas


distribuciones Linux (Debian, Ubuntu), o bajarse la última versión
desde la web de guacamole. En éste último caso, hay que
compilar los fuentes y realizar la instalación a partir de ellos.

Si se usa el repositorio de Debian o Ubuntu, la instalación se

120 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

puede hacer a través de los siguientes comandos:

1 apt-get update
2
3 apt-get upgrade
4
5 apt-get install software-properties-common
6
7 apt-get install guacamole-tomcat libguac-client-rdp0 libguac

Creación de conexiones
Una vez realizado el proceso de instalación, para crear las distintas
conexiones, además de configurar correctamente los equipos a los
que se desean realizar conexiones remotas, hay que modificar el
fichero user-mapping.xml.

En este fichero, lo primero que se debe hacer es establecer las


credenciales de acceso a guacamole a través del elemento
authorize . Mediante dicho elemento, y a través de sus atributos
username y password, se indica cual es el nombre de usuario y la
contraseña de acceso. La contraseña, por motivos de seguridad,
lo normal es que se codifique usando algún hash (sha256 por
ejemplo). Para esto último, se utiliza el atributo encoding .

Una vez establecidas las credenciales, es el momento de crear una


sección de conexión por cada equipo remoto con los que se desea
establecer conexiones. En dicha sección se establecen los
correspondientes parámetros como son el protocolo de conexión a
usar, la IP del equipo al que conectarnos, el puerto… Se puede ver
un ejemplo de esto en la figura siguiente:

121 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

Prueba de funcionamiento
Una vez creadas todas las conexiones, es necesario reiniciar tanto
el servicio de tomcat como el de guacamole ( guacd ) en ese
orden.

Andrés Rubio - Elaboración propia (Dominio público)

Una vez reiniciados ambos servicios, ya es posible, vía web,


conectarse a guacamole a través del puerto 8080 (puerto por
defecto):

Una vez logados correctamente, tendremos acceso a la interfaz

122 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Andrés Rubio - Elaboración propia (Dominio público)

administrativa donde podemos ver la lista de conexiones


previamente creadas y configuradas en el fichero user-mapping.xml.

Andrés Rubio - Elaboración propia (Dominio público)

1 2 3

Debes conocer
En los siguientes enlaces puedes encontrar más información sobre el uso de
Guacamole:

Manual Guacamole

Guacamole sobre Docker

123 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

Guacamole y configuración de Windows Server

124 de 125 26/7/22, 23:50


Implantación de técnicas de acceso remoto. http://localhost:51236/temp_print_dirs/eXeTempPrintDir__BbRHn/S...

125 de 125 26/7/22, 23:50

También podría gustarte