¿VPN, puente, enrutador o firewall?

¿VPN, puente, enrutador o firewall?

Por favor, ayúdenme a determinar qué ruta de implementación tomar para la siguiente tarea:

Tengo un dispositivo blackbox que actúa como servidor web (puedo conectarme localmente escribiendo su dirección IP en el campo de dirección del navegador). El box no implementa ninguna medida de seguridad excepto un simple nombre de usuario y una contraseña. Esto ciertamente está bien cuando este servidor está en una red aislada, pero deseo tener acceso a él desde Internet, es decir, desde cualquier parte del mundo. Con esto, deseo utilizar la seguridad TLS para el cifrado de datos.

Al tener un Rasbperry PI disponible (y el software openVPN), pensé que encajaría en esta aplicación. Hay muchos tutoriales diferentes sobre cómo implementar VPN, puente, enrutador y firewall usando Raspberry PI, pero no puedo determinar cuál de las cuatro funcionalidades es adecuada para mi aplicación. El diagrama conceptual se muestra a continuación:

ingrese la descripción de la imagen aquí

La Raspberry Pi tendrá dos interfaces de red para el acceso a Internet: una a través de Ethernet terrestre (eth0), la otra, mediante Internet celular (eth1), cualquiera que esté disponible, favoreciendo la conexión a Internet terrestre. Se conocerán las direcciones IP para ambas interfaces. La tercera interfaz ethernet (eth2) se conectará a la red local a través del conmutador. El servidor también estará conectado al conmutador. No tengo control sobre el servidor (es una caja negra); solo conozco su dirección IP.

La idea es que Raspberry PI actúe como intermediario entre el servidor y yo, de modo que pueda conectarme de forma segura a su aplicación web utilizando mi navegador web.Pero, ¿qué funcionalidad debe implementar Raspberry Pi: una VPN, un enrutador, un puente o un firewall?

EDITAR:

La tarea que mencioné anteriormente era demasiado complicada para mí (falta de competencia) y decidí simplificar la configuración para empezar. No quería eliminar la parte superior de la pregunta en caso de que alguien la encuentre útil y sus respuestas correspondientes. En cambio, mi nueva configuración (simplificada) se vería de la siguiente manera:

ingrese la descripción de la imagen aquí

El RP estaría conectado a internet celular a través delppp0interfaz y dirige todo el tráfico aeth0interfaz que seríadirectamenteconectado al servidor:

  1. dynamic ppp0 IP address (given by cell service provider)
  2. static eth0 IP address (assigned by me)
  3. non-secure internet connection
  4. RP is connected to the server directly (no switch needed)

Encontré varias soluciones comoesteyeste, pero no explican claramente por qué se hacen las cosas de esa manera. También proporcionan directivas de línea de comando que no sabré cómo ejecutar.deshacer. En cambio, desearía que alguien hiciera referencia a los archivos de configuración/sistema reales que podría editar y revertir si fuera necesario.

Actualmente, cuando conecto RPi al servidor web, puedo navegar desde el navegador web. El objetivo es poder acceder al servidor web desde Internet a través de RPi. ¿Alguien podría proporcionar un tutorial educativo sobre cómo configurar correctamente el enrutamiento, teniendo en cuenta que la interfaz ppp0 subiría y bajaría dependiendo de la conectividad celular y que su dirección IP sería diferente y desconocida cada vez?

Respuesta1

TLDR;

Necesita un firewall para proteger su servidor web y su enrutador probablemente ya proporcione esta funcionalidad.

DETALLES

Todo lo que realmente necesita es un firewall y SSL para proteger su servidor web. Si el enrutador de su hogar ya proporciona esto, entonces Raspberry Pi no le brindará más seguridad.

Debe utilizar SSL para proteger la comunicación con su servidor web. Podría utilizar Raspberry Pi como proxy inverso para proporcionar funcionalidad SSL, pero los proxies inversos existen porque el cifrado SSL requiere mucha computación y el proxy elimina la carga SSL del servidor web. Sin embargo, el Pi probablemente tenga mucha menos computación que su servidor web. Pero si estás buscando un proyecto Pi, podría ser divertido.

Un error común es pensar que una VPN es "más segura" que sin ella. Una VPN es simplemente cifrado + túnel. El túnel es lo que permite que ambas redes crean que están en la misma red. A menos que esté intentando "casar" dos redes, no necesita VPN. SSL + firewall debería estar bien.

ingrese la descripción de la imagen aquí

Respuesta2

La solución más simple sería configurar su Pi como un enrutador/dispositivo de firewall; es decir, desearía bloquear las solicitudes de firewall al servidor web para que solo atraviesen el PI si pasan a través de la interfaz VPN que termina en él, pero no aísle el Pi de otros dispositivos en su LAN. Esto significa que solo funcionará todas las conexiones a Internet forzadas a través del Pi según su diagrama. Si otro dispositivo de la LAN se ve comprometido, se puede obtener acceso al servidor web a través de él.

(Si busca una solución simple y moderadamente segura, puede ignorar todo lo que aparece a continuación)

Existen escenarios más complejos y costosos que podría utilizar en su lugar. En lugar de usar un conmutador normal, puede usar un conmutador administrado y configurar el servidor web en su propia VLAN que solo es visible para el Pi (es decir, el Pi hablará en múltiples VLAN). También colocaría el servidor web en su propia dirección IP, lo que permitiría que otros dispositivos en la LAN se comuniquen con él, pero solo a través del Pi.

Puede ampliar aún más la idea del conmutador anterior, cortando la VLAN en la que se encuentra el servidor web de modo que solo los paquetes que se originan en la interfaz VLAN del PI puedan comunicarse en el puerto 80. Luego puede agregar un proxy inverso (por ejemplo, usando Apache ) al Pi, que puede responder en el puerto 443 y luego recuperar solicitudes del servidor web en el puerto 80. Al utilizar un lado del cliente y un certificado normal, puede garantizar que solo las personas que puedan obtener acceso al enrutador y las personas con un certificado de cliente lo harán. poder conectarse.

información relacionada