Cómo construir una combinación de VPN, firewall y sistema de detección de intrusos con un Raspberry Pi 3B

Ha pasado aproximadamente un año desde que alguien contribuyó con una respuesta a esto, pero estoy en proceso de investigar cómo convertir un Raspberry Pi 3 en un sistema IDS con análisis de registro a través de ELK.

Aquí hay algunos buenos recursos que he encontrado sobre el tema:

  • Este blogger tiene una serie de tres partes sobre cómo hacer esto con instrucciones detalladas: instala la bifurcación Wazuh de OSSEC, Snort y el conjunto de herramientas ELK de SIEM.
  • El investigador de seguridad Travis Smith en Tripwire proporciona una visión general de cómo hacer esto también.
    • NOTA: Ambas opciones anteriores requerirán dos dispositivos Raspberry Pi 3: generalmente, instala su herramienta de monitoreo IDS en un pi y el análisis / SIEM en el otro Pi. ¿Por qué? Debido a que 1 GB de RAM no es suficiente para hacer IDS, registros, alertas y análisis (cortar y cortar archivos de registro).
  • BriarIDS también parece prometedor: tiene una GUI para guiarlo a través de la instalación de Suricata y Bro IDS. También tiene una herramienta opcional para escanear paquetes recopilados a través de VirusTotal para que coincida con los indicadores conocidos de compromiso (hashes incorrectos, rangos de IP, etc.). El autor sugiere un enrutador con una instalación de Tomato como firmware para permitir la recolección de paquetes de su red y copiarlos a la interfaz de monitoreo de su PI.

Esencialmente, hay algunas herramientas diferentes que se pueden usar para esto: voy a seguir el primer enlace que proporcioné cuando esa persona decidió usar ELK como una herramienta visual SIEM para el análisis de registros y otra correlación con los datos recopilados.

Por cierto, si tiene una suscripción VPN, debería poder configurar su enrutador para usar ese servicio VPN para que todo el tráfico de su red esté encriptado. Sin embargo, mi preferencia es instalar y configurar VPN a nivel de dispositivo / punto final; de esa manera puedo habilitar / deshabilitar VPN según sea necesario.

Pero si desea instalar y configurar un servidor VPN dedicado con OpenVPN, eso está más allá del alcance de los enlaces que he proporcionado.

No he hecho la detección de intrusiones durante mucho tiempo y fue bastante tosco en las “” edades oscuras “. El resto puedo señalarle las piezas.

Primero debes convertir la Raspberry Pi en un enrutador, porque de lo contrario el resto no será efectivo. Aquí hay un enlace para Raspberry Pi 3 como enrutador WiFi.

Usando su nuevo Raspberry Pi 3 como punto de acceso WiFi con hostapd

Las iptables en el kernel de Linux pueden hacer un buen trabajo como firewall. Funciona bien con o sin NAT. Aquí hay un enlace para usar iptables para un firewall IPv4.

Cómo configurar un firewall usando Iptables en Ubuntu 14.04

Y una página menos elegante sobre el uso de ip6tables para un firewall IPv6.

Cortafuegos IPv6

La última parte con la que puedo ayudar es la VPN. La respuesta es simple: OpenVPN. Con OpenVPN, su Raspberry Pi puede admitir clientes VPN entrantes, por ejemplo, dispositivos iOS, dispositivos Android, PC con Windows, computadoras Mac y PC con Linux. Con OpenVPN, su Raspberry Pi puede ser un cliente para otro servidor OpenVPN y puede enrutar todo o parte del tráfico a través de esa VPN.

Detección de intrusiones de PS:

Una búsqueda rápida en Google revela esto desde The Linux Documentation Project:

Detección de intrusiones

A2A: No se puede “construir” una VPN. Una VPN no existe en su sistema. Es un servicio proporcionado por un servidor remoto al que debe conectarse. (Es decir, no puede ocultar su IP desde su sistema).

El lugar preferible para un firewall es un enrutador. Hay un software de código abierto disponible para esto. Se puede hacer en un enrutador que cuesta menos que un RPi.

No sé cómo implementar la detección de intrusos. Sin embargo, si hubiera una forma directa, sospecho que habría escuchado algo al respecto.

Primero, necesita instalar Raspbian o cualquier distribución de Linux para Raspberry Pi. Prefiero Raspbian ya que está basado en Debian y tiene la mayoría de los paquetes de Debian.

En segundo lugar, configúrelo como enrutador. Asumiré que tiene al menos 2 interfaces de red en su RaspPi. Podría ser Ethernet y WiFi.

Tercero, creo que iptables se ha instalado por defecto en Raspbian. Puede configurarlo para bloquear ciertos paquetes.

Para la detección de intrusos, puede usar Snort. Hay muchas cosas que configurar con Snort, pero intente ejecutarlo con las reglas y opciones predeterminadas. Puedes trabajar hacia abajo cuando tenga éxito.

No estoy claro a qué te refieres con VPN. O quieres conectarte al servicio VPN o quieres proporcionar el servicio VPN a alguien. Pero creo que migras quieres echar un vistazo a openVPN.

Por último, no recomiendo usar esto en entornos de producción, ya que RaspPi tiene una capacidad de cálculo realmente limitada. Reducirá mucho la calidad de su red si ejecuta todas esas aplicaciones en RaspPi y lo convierte en un enrutador. Pero es un buen experimento y si quieres practicar.