Suricata en Opnsense
#1
Opnsense además de ser un firewall integra de serie un componente esencial de cara a la seguridad que es Suricata, este programa es un Detector de Intrusiones y sirve como complemento al firewall y es treméndamente util tanto si tenemos puertos abiertos como si no. Una vez instalado Opnsense Suricata está instalado pero no está activo como tampoco tiene instaladas las reglas necesarias para su funcionamiento. Lo primero que tenemos que hacer es escoger qué tipos de reglas queremos configurar y utilizar con Suricata y para verlas nos vamos a Sistema - Firmware - Complementos

   

Si fuéramos a instalar uno de esos tipos de reglas le tendríamos que dar al símbolo + que se encuentra a la derecha, sin embargo NO LO VAMOS A HACER y el motivo es porque vamos a instalar otro tipo de reglas que no aparece en la imagen porque al tenerlas yo instaladas me aparecen en la parte superior de la configuración en la que nos encontramos. Las que vamos a instalar son las etpro - telemetry

   

Antes de continuar explico las diferencias entre unos tipos de reglas y otras. Como he comentado antes Suricata funciona a través de unas reglas predefinidas que se actualizan diáriamente y estas reglas pueden ser gratuitas o de pago que lógicamente son mucho mejores y también muy caras. Sin embargo Opnsense tiene un acuerdo que nos beneficia a todos que consiste en tener las reglas de pago sin coste alguno a cambio de una telemetría que se cinscunscribe a las ips "que nos atacan" y a las reglas de Suricata encargadas de bloquear esos ataques.....absolútamente NADA MAS. Y estas reglas son las etpro - telemetry así que lo primero que vamos a hacer es darle al símbolo + que se encuentra a la derecha de estas reglas para que se instalen.

Una vez instaladas las reglas en Opnsense requieren un proceso muy sencillo de activación a través de un código Token y para conseguirlo tenemos que acceder al apartado de la web de Opnsense y realizar "la compra" a 0 Euros de las reglas. La web es esta: https://shop.opnsense.com/product/etpro-telemetry/

   

A la hora de hacer "la compra" no se nos pide ningún tipo de tarjeta bancaria ni nada parecido, tan sólo unos pocos datos nuestros y sobretodo un correo electrónico válido en el que recibiremos el código Token de activación de las reglas. Ese código es válido "para toda la vida" y no necesita ninguna renovación así que haremos bien en guardarlo conveniéntemente. 

Lo siguiente que tenemos que hacer es ir en Opnsense al apartado Servicios - Detector de Intrusiones - Administración - Descargar y aparte de ver que ya tenemos instaladas las reglas Telemetry tenemos que poner el código Token recibido

   

En la imagen que acabo de poner se ve parte de las reglas instaladas pero si bajamos hacia abajo vemos más, en la imagen se ve también que las tengo habilitadas y actualizadas cosa que a vosotros no os va a aparecer

   

En esta última imagen se puede ver que las últimas reglas OPNsense - App - detect NO LAS TENGO INSTALADAS y el motivo es porque estas reglas no bloquean los ataques externos sino que son reglas de salida que bloquean el acceso, por ejemplo, a Microsoft y otras conocidas webs.

Lo siguiente que paso a explicar es muy recomendable hacerlo EXTRICTAMENTE POR ORDEN para evitar problemas de configuración.

   

Como hay muchas reglas lo mejor que se puede hacer por comodidad es activar primero el campo Descripción, al hacerlo quedarán marcadas todas las reglas y a continuación vamos DESMARCANDO una a una las que no queramos usar. Aparte de no usar las reglas que he comentado antes si hacéis uso de las descargas mediante torrent veréis en el listado de reglas que hay una regla Telemetry p2p que interesa desmarcar.

Una vez escogidas las reglas le damos al botón Habilitar seleccionadas, a continuación le damos al botón Guardar y para terminar le damos al botón Descargar y Actualizar Reglas......tardará un buen rato en completarse el proceso porque tiene que descargar miles de reglas así que paciencia, en cualquier caso en 15 minutos más o menos podremos ver que están habilitadas y actualizadas.

A continuación nos vamos al apartado Servicios - Detección de Intrusiones - Política

   

Yo ya lo tengo habilitado, en vuestro caso le tenéis que dar al símbolo + que hay a la derecha y os llevará a la siguiente pantalla

   

Como se puede ver en la imagen tan sólo tenemos que fijarnos en que esté HABILITADO y si no está lo hacemos. Si os fijáis todos los parámetros están configurados en Nothing selected y hay que dejarlos así porque al contrario de lo que puede parecer al dejarlos así lo que estamos haciendo es HABILITAR TODOS.
En la misma pantalla pero abajo del todo si tenemos que modificar un parámetro

   

Como se puede ver hay que cambiarlo y dejarlo en Tirar que traducido al cristiano quiere decir BLOQUEAR, a continuación le damos al botón Guardar.
AVISO IMPORTANTE: Al igual que pasó antes este proceso puede tardar tranquílamente 15 - 20 minutos ya que tiene que reconfigurar miles de reglas y tenemos que tener paciencia hasta que termine y cuando lo haga es muy probable que nos aparezca una pantalla de error de reconfiguración de reglas. En ese caso NO PASA NADA, luego más adelante explico como se soluciona. Una vez terminado el proceso volvemos a la pantalla anterior en la que debemos dar al botón Aplicar

   

Lo que acabamos de hacer es configurar todas las reglas que seleccionamos anteriórmente para que en lugar de avisar diréctamente bloqueen que es lo que tienen que hacer. Ahora nos vamos a Servicios - Detección de Intrusiones - Administración - Ajustes

   

Voy a ir explicando todo los ajustes que se ven en la imagen que acabo de poner y lo haré de arriba a abajo. Lo primero es activar el modo avanzado para que se vean todos los ajustes. A continuación habilitamos Suricata, el siguiente ajuste es habilitar el Modo IPS que lo que hace es poner a Suricata por delante del firewall de Opnsense a la hora de bloquear ataques y escaneos.

El siguiente ajuste es el Modo promiscuo que en mi caso tengo desactivado, si tenéis VLANS configuradas en Opnsense lo tenéis que activar.

El siguiente ajuste marcado con una flecha es la opción Hyperscan en el Patrón de coincidencia, sin extenderme demasiado explicando esto diré que es el mejor motor de Suricata y el que mejor emplea el hardware en que tengamos instalado Opnsense.

Al tener configurado el ajuste Detect Profile en Personalizar podemos configurar los parámetros ToClient y ToServer que recomiendo poner en 100 tal como se ve en la imagen. Estos dos parámetros están referidos a como gestiona Suricata los paquetes de reglas que le tenemos puestas y mejoran el rendimiento general.

El siguiente parámetro es Interfaces en el que se puede ver que lo tengo configurado sólamente en la Wan, sin embargo se puede ajustar también en todos los demás interfaces que tengamos configurados en Opnsense incluido lógicamente la LAN, otra configuración sería dejarlo activo sólamente en la LAN, tan sólo tengo que decir que cualquiera de esas configuraciones es válida, lo que ocurre es que al tenerlo activado en la Wan añade un punto más de seguridad ya que al hacerlo así Suricata bloquea también los escaneos de puertos.

El siguiente parámetro es el de Redes hogar y veréis que ya vienen configuradas por defecto algunas....HAY QUE BORRARLAS TODAS y en su lugar sustituirlas por las redes locales que tengamos. En la imagen se ve que yo tengo configuradas 3, la primera es mi IP WAN que es necesario poner al tener, en mi caso, configurado Suricata en la Wan, si vosotros lo configuráis en la LAN no es necesario ponerla. La segunda red es mi Wireguard y la tercera es la red local gestionada por Opnsense. Cuando instalamos Opnsense la ip local predeterminada de acceso es la 192.168.1.1 así que tengo configurada en ese apartado la red 192.168.1.0/24

Los demás ajustes no es necesario modificarlos así que para terminar le damos al botón Aplicar y con esto ya tenemos Suricata en funcionamiento. Antes he comentado que a la hora de reconfigurar las reglas nos puede aparecer un mensaje de error así que para solucionar eso REINICIAMOS OPNSENSE

Como dije al principio las reglas configuradas en Suricata se actualizan una vez al dia y para que ocurra eso tenemos que configurarlo. Para hacerlo nos vamos a Servicios - Detección de Intrusiones - Administración y le damos a la pestaña Programar

   

A continuación se nos redirige automáticamente a otro apartado de la configuración de Opnsense 

   

Este apartado de la configuración ya tiene todos los parámetros configurados así que tan sólo tenemos que habilitarlo y guardar los cambios. Al hacerlo todos los dias del año las reglas de Suricata se descargarán y actualizarán automáticamente y sin que tengamos que hacer nada a las 12 de la noche. Al guardar los cambios volvemos a la pantalla anterior en la que nos tenemos que fijar en que esté habilitado y a continuación le damos al botón Aplicar

   

Si os fijáis en la imagen se puede ver que tengo dos reglas iguales....cosas de Opnsense, lo importante es que tengamos activa la que acabamos de configurar.

Con el pasar de los dias podemos comprobar fácilmente si se descargan y actualizan las reglas de Suricata corréctamente. Para comprobarlo nos vamos a Servicios - Detección de Intrusiones - Archivos de registro 

   

Configurando la opción Anuncio podemos ver los dias y las horas en que las reglas se han actualizado. En la pantalla principal de Opnsense tenemos una serie de widgets que podemos activar a nuestro gusto para personalizarla con los ajustes que queramos tener a la vista y uno de los widgets está referido a las reglas Telemetry de Suricata

   

Aunque no se ve en la imagen a la derecha de la flecha existe un botón Añadir complemento en el que podemos activar los widgets disponibles

Para terminar este largo tutorial dos explicaciones más

   

En la pestaña Reglas podemos ver todas las reglas que tenemos instaladas y como están configuradas y en la pestaña Alertas podemos ver todas las ips que Suricata bloquea.

AVISO: Una de las configuraciones que he explicado antes es configurar todas las reglas instaladas de Suricata para que bloqueen y en mi opinión personal es lo mejor que se puede hacer. Lo que si es conveniente es depués de configurar y activar Suricata como acabo de explicar es estar pendiente unos dias de lo que bloquea que ya he comentado antes que lo podemos hacer en la pestaña Alertas y si hay alguna regla que nos impide el acceso a una web o servicio en internet lo que tenemos que hacer es desactivar esa regla en concreto que es fácil de identificar porque siempre va acompañada de dia y hora

   

Una vez identificada la regla que molesta en la pestaña Alertas a la derecha tenemos el icono de un lápiz que al darle nos permite editar la regla y desactivarla. Una vez hecho eso tenemos varias opciones, o reiniciar Suricata o diréctamente reiniciar Opnsense.....existe otra forma de que se guarden esos cambios pero es un poco más compleja así que no la explico.
  Reply
#2
En la interfaz de Suricata en Opnsense podemos ver que tenemos disponibles algunos ajustes avanzados pero no son ni mucho menos todos los que hay. Voy a explicar a continuación como modificar dos ajustes de Suricata que no están visibles, uno es relativo a su rendimiento y el segundo relativo a la seguridad.

Para hacerlo vamos a acceder por SSH a Opnsense con Filezilla o similares. Tenemos que acceder a la ruta usr/local/etc/suricata

   

En esa ruta vemos que existe el archivo suricata.yaml que tenemos que descargar a nuestro ordenador. Una vez descargado lo vamos a modificar editándolo con cualquier editor de textos. Una vez que abrimos el archivo suricata.yaml lo primero que vemos es que es un archivo treméndamente extenso con una cantidad enorme de configuraciones, algunas habilitadas y otras no. Es mejor NO TOCAR NADA salvo que se tengan los suficientes conocimientos.

1 - Rendimiento:

El ajuste que vamos a modificar depende de la cantidad de equipos que tengamos en nuestra red local y su actividad, si tenemos muy pocos no es necesario tocarlo pero si tenemos unos cuantos si es conveniente hacerlo. En cualquier caso, y ante la duda de si hacerlo o no, modificarlo no supone ningún problema.

En la parte media - baja del archivo suricata.yaml nos encontramos con el siguiente ajuste:

   

#max-pending-packets: 1024

Vamos a activar ese ajuste y le vamos a cambiar el valor 1024 por el de 10000

max-pending-packets: 10000

Nos quedaría así:

   


2 - Seguridad:

Si nos damos una vuelta mirando las miles de reglas que utiliza Suricata veremos que hay para todo tipo de Sistemas Operativos y dispositivos. Lo que vamos a hacer a continuación es ayudar a Suricata en su trabajo indicándole que dispositivos tenemos en nuestra red local para que pueda hacer bloqueos más eficiéntemente.

Un poco más abajo del ajuste que hemos modificado antes nos encontramos con lo siguiente:

   

Se puede ver en la imagen que tenemos una lista de Sistemas Operativos, lo que vamos a hacer es indicar los Sistemas Operativos que tienen nuestros dispositivos colocándolos en las casillas correspondientes y lo haremos mediante sus ips locales. Si tenemos más de un dispositivo con el mismo Sistema Operativo separaremos las ips locales mediante coma + espacio.

Un ejemplo de configuración sería el siguiente:

   


FIN, a continuación guardamos los cambios en el archivo, eliminamos el archivo suricata.yaml de Opnsense y lo sustituimos por el modificado. Para terminar REINICIAMOS OPNSENSE.

A tener en cuenta:

Si en una actualización de firmware de Opnsense se incluye también una actualización de Suricata el archivo suricata.yaml se revierte al original con sus configuraciones por defecto. Esto ocurre, como digo, con las actualizaciones de Suricata pero NO CON TODAS, hay veces que se actualiza y el archivo modificado por nosotros sigue en su sitio. Para comprobar si se ha revertido al original después de una actualización de Suricata tendremos que acceder por SSH a Opnsense y mirar la fecha de modificación del archivo suricata.yaml

Si es así lo sustituimos por el modificado que podemos tener almacenado y guardado en el ordenador.
  Reply




Users browsing this thread: 1 Guest(s)