Tarea: Acceso remoto seguro

Ámbito

Esta situación de aprendizaje está diseñada para trabajar el resultado de aprendizaje 3 del módulo de Seguridad y alta disponibilidad que versa sobre el acceso remoto del ciclo superior de Administración de Sistemas Informáticos, concretamente para los siguientes criterios de evaluación, aunque podrían evaluarse todos los criterios extendiendo algo el enunciado. Criterios de evaluación

  • Se han configurado redes privadas virtuales mediante protocolos seguros a distintos niveles.
  • Se ha implantado un servidor como pasarela de acceso a la red interna desde ubicaciones remotas.
  • Se han identificado y configurado los posibles métodos de autenticación en el acceso de usuarios remotos a través de la pasarela.
  • Se ha instalado, configurado e integrado en la pasarela un servidor remoto de autenticación.

Propósito

Esta práctica tiene varios objetivos, pero en general se pretende que como estudiante, aprendas a instalar y configurar varios servicios que permitan una conexión autenticada y cifrada a través de redes públicas a una red local que ofrezca algunos servicios típicos como son el escritorio remoto y un servidor de archivos.

Descripción de la tarea

Imagina que como responsable de seguridad te han encargado que segurices el acceso remoto a los empleados de una empresa a los servicios de su red local escritorio remoto y servidor de archivos Samba. Se trata de empleados con conocimientos técnicos bajos por lo que la solución propuesta debe ser fácil de implementar desde su PC fuera de la oficina.

Para replicar este problema vamos a configurar una infraestructura de máquinas virtuales como los que puedes ver en la imagen de la cabecera. En total haremos uso de 2 máquinas virtuales, una para el servidor de autenticación y VPN y otra para alojar los servicios de escritorio remoto y Samba. El sistema operativo anfitrión hará de equipo que desea conectarse a la red local desde una red externa.

Para autenticar a los clientes usaremos un servidor FreeRadius centralizado que nos permita autenticar a los clientes de la VPN, a Samba, al escritorio remoto y además al router WiFi de la red local. Para implementar la VPN vamos a usar OpenVPN y para poder configurar y gestionar más cómodamente nuestro pasarela de autenticación lo haremos con PFSense. Por lo tanto necesitamos el siguiente software:

  • PFSense
    • FreeRadius
    • OpenVN
  • Samba
  • Algún servicio de RDP/VNC que permita autenticación Radius.

Dado que nos encontramos ante un problema complejo, vamos a usar la técnica divide y vencerás dividiéndolo en problemas más sencillos:

  1. Instalación de PFSense.
  2. Configuración de Radius en PFSense.
  3. Configuración del router WiFi.
  4. Instalación y configuración del servidor local.
    • Configuración de Samba autenticado por Radius.
    • Configuración del escritorio remoto autenticado por Radius.
  5. Configuración de la VPN autenticada por Radius.
  6. Configuración del cortafuegos para redirigir el tráfico RDP y Samba al servidor local.

PFSense

Vamos a comenzar descargando la imagen ISO de PFSense e instalándola como máquina virtual. Esta máquina requiere dos interfaces de red:

  • La primera para la red WAN que configuraremos como Solo anfitrión y que puedes poner como IP fija o DHCP del rango de la red 192.168.56.x
  • La segunda nos servirá para conectar la máquina a la red local y la configuraremos como bridge por DHCP para poder acceder desde el anfitrión y el resto de máquinas de la red.

Para instalarlo puedes seguir este tutorial.

Radius

Ahora nos tocaría instalar y configurar el servidor Radius en PFSense. Para ello vamos a instalar el paquete Freeradius en PFSense desde System->Package manager

Para acceder a la configuración de Radius iremos a la ruta Services -> Freeradius. Lo mínimo necesario que necesitamos configurar para esta práctica será:

  • Users: Aquí introduciremos las credenciales de nuestros usuarios.
  • NAS/Clients: Aquí necesitamos introducir la IP del router WiFi que necesita consultar las credenciales al servidor Radius de PFSense y una clave.
  • Settings: En esta sección vamos a habilitar los logs de Radius para poder revisarlos para solventar los posibles problemas.

Router

Para esta práctica usaremos routers Linksys y lo primero que haremos será resetear los valores de fábrica pulsando el botón reset durante más de 5 segundos. Necesitas un latiguillo de red para conectarlo a tu PC y acceder a la interfaz web de configuración en la IP 192.168.1.1. Una vez aquí debes configurar:

  • Una IP fija accesible desde la red local. En nuestro caso una IP que tengas reservada que no cause conflicto en la red.
  • Deshabilitar el servidor DHCP.
  • Un ESSID con tu nombre.
  • Configurar el servidor Radius indicando su IP, el puerto 1812 y la clave compartida
  • Configurar el protocolo de cifrado WPA2 Enterprise – AES indicando la IP del servidor Radius, el puerto 1821 y la clave compartida que configuraste en el servidor Radius en PFSense.
  • No olvides Guardar los cambios en cada paso.
  • Pulsa en Aplicar cambios.

Llegado a este punto solo te queda conectar el router a una toma de red para conectarlo a la red local y probar a conectarte a tu router vía WiFi con las credenciales de usuario creado en Radius usando la siguiente configuración:

  • Modo EAP: PEAP
  • Autenticación de fase 2: MSCHAPV2
  • Certificado AC: No validar
  • Privacidad: Dejar como esté

Si no conecta puedes revisar los logs de Radius en la máquina virtual PFSense (/var/log/radius.log)

Otros métodos

¿Qué otros métodos de autenticación remota podrías haber configurado en la pasarela?

Aporta capturas de pantalla donde configurarías dichos métodos.

VPN

Sigue este tutorial paso a paso para configurar una VPN que permita la conexión cifrada de un usuario desde la red WAN (192.168.56.0/24) al servidor PFSense. Lo único que debes tener en cuenta es que nosotros vamos a usar Radius como servicio de autenticación. Aporta capturas que demuestren su configuración correcto funcionamiento.

En la configuración de Exportar cliente hay un dato muy importante, el Host name donde debes poner la IP de la interfaz WAN de PFSense.

Para iniciar la conexión necesitas instalar el cliente openvpn y ejecutar el comando openvpn –config ruta-del-archivo-de-configuración.

Ten en cuenta que la máquina PFSense debe tener salida a internet para poder sincronizar la fecha y hora por NTP si no quieres tener problemas con los certificados, es decir, debes configurar el gateway.

Server local

En este paso debes crear una máquina virtual ligera de VirtualBox, instalar un servidor de escritorio remoto y un servidor Samba para compartir al menos una carpeta de prueba con los permisos que estimes oportunos.

Ya hemos trabajado previamente con estos servicios en prácticas anteriores por lo que puedes revisar la documentación aportada para dichas prácticas o buscar información por tu cuenta para solucionar este paso.

Recuerda que antes de intentar conectar vía VPN con los servicios de la red local, verifica que funcionan correctamente sin pasar por la VPN y ten en cuenta que la máquina virtual puede tener cortafuegos que esté bloquedando.

Cortafuegos

Por último quedaría configurar el cortafuegos para abrir los puertos de ambos servidores (Samba y escritorio remoto) y redirigir el tráfico (NAT) desde la interfaz virtual de la VPN en PFSense hacia el servidor local.

Aquí tienes algunas capturas de pantalla con la configuración necesaria:

Permite conexiones al servidor RDP desde la interfaz virtual del túnel VPN

Redirige conexiones al servidor RDP desde la interfaz virtual del túnel VPN

Comprobar

Ahora toca cruzar los dedos, tocar madera y probar que efectivamente un cliente de escritorio remoto y de acceso a recursos compartidos puede acceder al server local a través de la interfaz virtual del tunel VPN creada.

Ten en cuenta que la dirección IP que debes poner como destino será la interfaz virtual VPN de la máquina PFSense (10.0.8.1). Revisa los logs de PFSense desde la ruta Status->System logs para ir solucionando los errores que vayan ocurriendo.

Entrega

Elabora una presentación para incorporar toda la información requerida y escribe el enlace (accesible) a la misma.

Requisitos

  • En las capturas de pantalla se deben aportar evidencias que garanticen la autoría, como por ejemplo tu nombre en el prompt, nombres de máquinas, ESSID, etc.
  • Las imágenes deben tener una dimensión y resolución alta que permita leer los textos sin dificultad desde una pantalla de un portátil de 15,6″.

Instrumentos de evaluación

Conexión RDP segura a través de una red pública mediante tunnel SSH

Ámbito

Esta tarea ha sido diseñada para trabajar el RA3 Implanta técnicas seguras de acceso remoto a un sistema informático, interpretando y aplicando el plan de seguridad del módulo de Seguridad y Alta disponibilidad del ciclo superior de Administración de Sistemas Informáticos.

Propósito de esta actividad

Entender y aprender a configurar un tunnel SSH para el reenvío de puertos que garantice el acceso seguro y la privacidad de una conexión remota a algún servicio de tu red local.

Descripción de la tarea

Toda conexión a la red local de nuestra organización a través de una red pública entraña riesgos que deben ser minimizados. Un método común para mejorar este tipo de conexiones externas es el uso de VPN, pero su configuración puede ser compleja. Existe otro método más sencillo que puede cumplir con este propósito en algunos casos en los que no se requiera un cifrado completo o muy eficiente para transferencias pesadas, este es el uso de un túnel SSH.

En esta tarea debes configurar un servidor de escritorio remoto RDP en una máquina virtual y un servidor SSH en tu máquina local que reenvíe el tráfico al puerto del servicio de escritorio remoto de manera que permita acceder al escritorio remoto vía tunnel SSH cifrando el tráfico. 

Esta configuración tiene algunas implicaciones como que tu puerta de enlace vea las conexiones como si fueran a un servidor SSH normalmente lícito y permitido por los cortafuegos. Y además que el el servidor RDP se vea la conexión como si hubiera sido establecida desde localhost. 

Para comprobar que el túnel se ha creado correctamente aporta unas capturas que muestren las conexiones establecidas tanto en el cliente como en el servidor.

Para utilizar un túnel SSH, sigue estos pasos:

  1. Instale el software SSH en el cliente RDP y en el servidor RDP.
  2. Configure el servidor RDP para permitir el túnel.
  3. En el cliente RDP, ejecute el siguiente comando para establecer el túnel SSH:

ssh -L [puerto local]:[dirección IP remota]:[puerto remoto] [usuario]@[dirección IP del servidor SSH]

En este comando, puerto local es el puerto que se utilizará para el túnel SSH, dirección IP remota es la dirección IP del servidor RDP, puerto remoto es el puerto que se utilizará para conectarse al servidor RDP, usuario es el nombre de usuario del servidor SSH, y dirección IP del servidor SSH es la dirección IP del servidor SSH.

Por ejemplo, para establecer un túnel SSH que permita conectarse al servidor RDP en la dirección IP 192.168.1.100 en el puerto 3389 desde el puerto 5000 del cliente RDP, ejecutaría el siguiente comando:

ssh -L 5000:192.168.1.100:3389 [usuario]@[dirección IP del servidor SSH]

Una vez que haya ejecutado este comando, podrás conectarse al servidor RDP a través del túnel SSH. Para ello, abras una aplicación de cliente de escritorio remoto, como Remmina o Putty, y especifica la dirección localhost:5000 en la que has configurado el tunnel y que reenviará el tráfico hacia el servidor y puerto especificados.

¿Qué otras utilidades puede tener el reenvío de puertos de SHH?

¿Cómo puedes verificar que efectivamente se está cifrando dicha conexión?

Contesta a estas preguntas en tu presentación

Entrega

Explica el proceso de configuración del servidor y el cliente SSH mediante capturas de pantalla así como de su correcto funcionamiento.

Entrega un enlace a la presentación.

Requisitos

Debes proporcionar evidencias de la autoría del trabajo cambiando el prompt a los sistemas desde los que trabajas. No se admitirán entregas que no cumplan este requisito.

Instrumentos de evaluación y calificación

  • Se demuestra que se ha conseguido realizar la conexión RDP a través del túnel SSH y que efectivamente está cifrando las comunicaciones: 8 puntos
  • Cada pregunta correctamente contestada: 1 punto cada una

Recursos