Snort o Suricata. Parte 3: Protección de la red de la oficina

В artículo anterior hemos cubierto cómo ejecutar la versión estable de Suricata en Ubuntu 18.04 LTS. Configurar un IDS en un solo nodo y habilitar conjuntos de reglas libres es bastante sencillo. Hoy descubriremos cómo proteger una red corporativa utilizando los tipos de ataques más comunes utilizando Suricata instalado en un servidor virtual. Para hacer esto, necesitamos un VDS en Linux con dos núcleos de cómputo. La cantidad de RAM depende de la carga: 2 GB son suficientes para alguien, y para tareas más serias pueden requerirse 4 o incluso 6. La ventaja de una máquina virtual es la capacidad de experimentar: puede comenzar con una configuración mínima y aumentar recursos según sea necesario.

Snort o Suricata. Parte 3: Protección de la red de la oficinafoto: Reuters

Conectando redes

Quizá sea necesario eliminar IDS a una máquina virtual en primer lugar para las pruebas. Si nunca ha tratado con tales soluciones, no debe apresurarse a pedir hardware físico y cambiar la arquitectura de la red. Lo mejor es ejecutar el sistema de forma segura y rentable para determinar sus necesidades informáticas. Es importante entender que todo el tráfico corporativo deberá pasar por un único nodo externo: para conectar una red local (o varias redes) a un VDS con IDS Suricata instalado, puede utilizar éter suave - Un servidor VPN multiplataforma fácil de configurar que proporciona un cifrado sólido. La conexión a Internet de una oficina puede no tener una IP real, por lo que es mejor configurarla en un VPS. No hay paquetes preparados en el repositorio de Ubuntu, tendrá que descargar el software desde sitio del proyecto, o desde un repositorio externo en el servicio Launchpad (si confías en él):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

Puede ver la lista de paquetes disponibles con el siguiente comando:

apt-cache search softether

Snort o Suricata. Parte 3: Protección de la red de la oficina

Necesitaremos softether-vpnserver (el servidor en la configuración de prueba se ejecuta en VDS), así como softether-vpncmd: utilidades de línea de comando para configurarlo.

sudo apt-get install softether-vpnserver softether-vpncmd

Se utiliza una utilidad de línea de comando especial para configurar el servidor:

sudo vpncmd

Snort o Suricata. Parte 3: Protección de la red de la oficina

No hablaremos en detalle sobre la configuración: el procedimiento es bastante simple, está bien descrito en numerosas publicaciones y no se relaciona directamente con el tema del artículo. En resumen, después de iniciar vpncmd, debe seleccionar el elemento 1 para ir a la consola de administración del servidor. Para hacer esto, debe ingresar el nombre localhost y presionar enter en lugar de ingresar el nombre del concentrador. La contraseña de administrador se establece en la consola con el comando serverpasswordset, se elimina el hub virtual DEFAULT (comando hubdelete) y se crea uno nuevo con el nombre Suricata_VPN, y también se establece su contraseña (comando hubcreate). A continuación, debe ir a la consola de administración del nuevo hub usando el comando hub Suricata_VPN para crear un grupo y un usuario usando los comandos groupcreate y usercreate. La contraseña de usuario se establece mediante userpasswordset.

SoftEther admite dos modos de transferencia de tráfico: SecureNAT y Local Bridge. La primera es una tecnología propietaria para construir una red privada virtual con su propio NAT y DHCP. SecureNAT no requiere TUN/TAP o Netfilter u otras configuraciones de firewall. El enrutamiento no afecta el núcleo del sistema, y ​​todos los procesos están virtualizados y funcionan en cualquier VPS/VDS, independientemente del hipervisor utilizado. Esto da como resultado una mayor carga de CPU y una velocidad más lenta en comparación con el modo Local Bridge, que conecta el centro virtual SoftEther a un adaptador de red físico o dispositivo TAP.

La configuración en este caso se vuelve más complicada, ya que el enrutamiento se produce a nivel de kernel utilizando Netfilter. Nuestros VDS se basan en Hyper-V, por lo que en el último paso creamos un puente local y activamos el dispositivo TAP con el comando bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. Después de salir de la consola de administración del concentrador, veremos una nueva interfaz de red en el sistema a la que aún no se le ha asignado una IP:

ifconfig

Snort o Suricata. Parte 3: Protección de la red de la oficina

A continuación, deberá habilitar el enrutamiento de paquetes entre interfaces (ip forward), si está inactivo:

sudo nano /etc/sysctl.conf

Descomente la siguiente línea:

net.ipv4.ip_forward = 1

Guarde los cambios en el archivo, salga del editor y aplíquelos con el siguiente comando:

sudo sysctl -p

A continuación, debemos definir una subred para la red virtual con direcciones IP ficticias (por ejemplo, 10.0.10.0/24) y asignar una dirección a la interfaz:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Luego, debe escribir las reglas de Netfilter.

1. Si es necesario, permita los paquetes entrantes en los puertos de escucha (el protocolo patentado SoftEther usa HTTPS y el puerto 443)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. Configure NAT desde la subred 10.0.10.0/24 a la IP del servidor principal

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. Permitir el paso de paquetes desde la subred 10.0.10.0/24

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. Permitir el paso de paquetes para conexiones ya establecidas

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

Dejaremos la automatización del proceso cuando el sistema se reinicia usando scripts de inicialización para los lectores como tarea.

Si desea dar IP a los clientes automáticamente, también deberá instalar algún tipo de servicio DHCP para el puente local. Esto completa la configuración del servidor y puede ir a los clientes. SoftEther admite muchos protocolos, cuyo uso depende de las capacidades del equipo LAN.

netstat -ap |grep vpnserver

Snort o Suricata. Parte 3: Protección de la red de la oficina

Dado que nuestro enrutador de prueba también se ejecuta en Ubuntu, instalemos los paquetes softether-vpnclient y softether-vpncmd desde un repositorio externo para usar el protocolo propietario. Deberá ejecutar el cliente:

sudo vpnclient start

Para configurar, use la utilidad vpncmd, seleccionando localhost como la máquina en la que se ejecuta vpnclient. Todos los comandos se realizan en la consola: deberá crear una interfaz virtual (NicCreate) y una cuenta (AccountCreate).

En algunos casos, debe especificar el método de autenticación mediante los comandos AccountAnonymousSet, AccountPasswordSet, AccountCertSet y AccountSecureCertSet. Dado que no usamos DHCP, la dirección del adaptador virtual se configura manualmente.

Además, debemos habilitar ip forward (el parámetro net.ipv4.ip_forward=1 en el archivo /etc/sysctl.conf) y configurar rutas estáticas. Si es necesario, en VDS con Suricata, puede configurar el reenvío de puertos para usar los servicios instalados en la red local. En esto, la fusión de la red puede considerarse completa.

Nuestra configuración propuesta se verá así:

Snort o Suricata. Parte 3: Protección de la red de la oficina

Configuración de Suricata

В artículo anterior Hablamos de dos modos de operación de IDS: a través de la cola NFQUEUE (modo NFQ) y a través de copia cero (modo AF_PACKET). El segundo requiere dos interfaces, pero es más rápido: lo usaremos. El parámetro se establece de forma predeterminada en /etc/default/suricata. También necesitamos editar la sección vars en /etc/suricata/suricata.yaml, configurando la subred virtual allí como hogar.

Snort o Suricata. Parte 3: Protección de la red de la oficina

Para reiniciar IDS, use el comando:

systemctl restart suricata

La solución está lista, ahora es posible que deba probar su resistencia a acciones maliciosas.

Simulando ataques

Puede haber varios escenarios para el uso de combate de un servicio IDS externo:

Protección contra ataques DDoS (propósito principal)

Es difícil implementar una opción de este tipo dentro de la red corporativa, ya que los paquetes para el análisis deben llegar a la interfaz del sistema que mira a Internet. Incluso si el IDS los bloquea, el tráfico espurio puede provocar la caída del enlace de datos. Para evitar esto, debe solicitar un VPS con una conexión a Internet suficientemente productiva que pueda pasar todo el tráfico de la red local y todo el tráfico externo. A menudo es más fácil y económico hacer esto que expandir el canal de la oficina. Como alternativa, vale la pena mencionar los servicios especializados para la protección contra DDoS. El costo de sus servicios es comparable al costo de un servidor virtual y no requiere una configuración que consuma mucho tiempo, pero también tiene desventajas: el cliente solo recibe protección DDoS por su dinero, mientras que su propio IDS puede configurarse como usted. como.

Protección contra ataques externos de otro tipo

Suricata es capaz de hacer frente a los intentos de explotar diversas vulnerabilidades en los servicios de red corporativos accesibles desde Internet (servidor de correo, servidor web y aplicaciones web, etc.). Por lo general, para esto, IDS se instala dentro de la LAN después de los dispositivos fronterizos, pero llevarlo al exterior tiene derecho a existir.

Protección de los iniciados

A pesar de los mejores esfuerzos del administrador del sistema, las computadoras en la red corporativa pueden infectarse con malware. Además, a veces aparecen hooligans en el área local, que intentan realizar algunas operaciones ilegales. Suricata puede ayudar a bloquear dichos intentos, aunque para proteger la red interna es mejor instalarla dentro del perímetro y usarla junto con un conmutador administrado que pueda duplicar el tráfico en un puerto. Un IDS externo tampoco es inútil en este caso, al menos podrá detectar intentos de malware que vive en la LAN para contactar a un servidor externo.

Para empezar, crearemos otra prueba atacando VPS, y en el enrutador de la red local levantaremos Apache con la configuración predeterminada, luego de lo cual le reenviaremos el puerto 80 desde el servidor IDS. A continuación, simularemos un ataque DDoS desde un host atacante. Para hacer esto, descárguelo de GitHub, compile y ejecute un pequeño programa xerxes en el nodo atacante (es posible que deba instalar el paquete gcc):

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

El resultado de su trabajo fue el siguiente:

Snort o Suricata. Parte 3: Protección de la red de la oficina

Suricata corta al villano y la página de Apache se abre de forma predeterminada, a pesar de nuestro ataque improvisado y el canal bastante muerto de la red de la "oficina" (en realidad, hogar). Para tareas más serias, debe usar Metasploit Framework. Está diseñado para pruebas de penetración y le permite simular una variedad de ataques. Instrucciones de instalación disponible en la web del proyecto. Después de la instalación, se requiere una actualización:

sudo msfupdate

Para realizar pruebas, ejecute msfconsole.

Snort o Suricata. Parte 3: Protección de la red de la oficina

Desafortunadamente, las últimas versiones del marco carecen de la capacidad de descifrar automáticamente, por lo que los exploits deberán clasificarse manualmente y ejecutarse con el comando de uso. Para empezar, vale la pena determinar los puertos abiertos en la máquina atacada, por ejemplo, usando nmap (en nuestro caso, será reemplazado completamente por netstat en el host atacado), y luego seleccione y use el apropiado Módulos Metasploit

Existen otros medios para probar la resiliencia de un IDS frente a los ataques, incluidos los servicios en línea. Por curiosidad, puede organizar pruebas de estrés utilizando la versión de prueba estresador de PI. Para verificar la reacción a las acciones de los intrusos internos, vale la pena instalar herramientas especiales en una de las máquinas de la red local. Hay muchas opciones y, de vez en cuando, deben aplicarse no solo al sitio experimental, sino también a los sistemas de trabajo, solo que esta es una historia completamente diferente.

Snort o Suricata. Parte 3: Protección de la red de la oficina

Snort o Suricata. Parte 3: Protección de la red de la oficina

Fuente: habr.com

Añadir un comentario