Suricata — IDS/IPS — Instalacion, configuracion basica en Lubuntu 18.04 y prueba de deteccion.

Hernan Garcia
5 min readOct 25, 2020

--

En la siguiente story veremos, la instalacion, configuracion sencilla de suricata 6.0.0 y algunas pruebas de deteccion, a jugar!

Suricata en Lubuntu 18.04 con Virtual Box

Documentación: https://suricata.readthedocs.io/en/suricata-6.0.0/
Docs de Instalacion: https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Installation

Suricata

Suricata es un motor de monitoreo de seguridad de red, IPS e IDS de red de alto rendimiento. Es una herramienta de codigo abierto propiedad y desarrollada por OISF (Open Information Security Foundation).

Temas

  1. Configuracion de Maquina Virtual
  2. Instalacion de Suricata — IDS/IPS
  3. Configuracion Basica de Suricata
  4. Suricata — Update Signatures
  5. Verificamos el estado de Suricata
  6. Prueba de Deteccion

1. Configuracion de Maquina Virtual

Configuracion de nuestra maquina virtual donde probaremos suricata.

  • Sistema operativo: Lubuntu 18.04
  • Memoria Ram 2 Gb
  • Disco: 20 Gb
  • Configuracion de red: Modo Puente.

2. Instalacion de Suricata

  1. Instalacion de Dependecias, Recomendado:

Para la instalacion de las depencias para la instalacion de suricata, ejecutamos en la terminal el siguiente comando:

$ apt-get install libpcre3 libpcre3-dbg libpcre3-dev build-essential libpcap-dev libnet1-dev libyaml-0-2 libyaml-dev pkg-config zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 make libmagic-dev libjansson-dev libnss3-dev libgeoip-dev liblua5.1-dev libhiredis-dev libevent-dev python-yaml rustc cargo

Todos los comandos que ejecutaremos necesitan permisos con cuenta de superusuario — usuario root.

Agregamos los paquetes de Suricata — OSIF

Para distribuciones como ubuntu, OSIF mantiene un PPA (Personal Package archive) donde contiene los paquetes de la ultima version estable de suricata.

$ add-apt-repository ppa:oisf/suricata-stable
$ apt-get update

Instalamos la ultima version estable de suricata

Ejecutamos el siguiente comando para la instalacion de Suricata

$ apt-get install suricata

Verificamos el estado de nuestro IDS — IPS

Una vez instalado suricata, verificamos el estado de nuestro IDS — IPS

$ systemctl status suricata
imagen ejemplo: output del comando systemctl status suricata

Listo! Ya tenemos a suricata activo!

3.Configuracion Basica de Suricata

Primero necesitamos verificar nuestra interfaz de red, que suricata va utiliza para el monitoreo de la red.

Para verificar nuestra interfaz de red, podemos hacer lo siguiente, ejecutamos el comando:

$ ip addr 
imagen ejemplo: comando ip addr

en mi caso la interfaz de red es => enp0s3

Por otro lado podemos ver la configuracion en el archivo: /etc/netplan/01-netcfg.yaml

imagen de ejemplo: archiv /etc/netplan/01-netcfg.yaml

Comandos:

$ nano /etc/netplan/01-netcfg.yaml

Interfaz de Red => enp0s3

Configuracion Interfaz de red

  • Suricata por defecto viene configurado con la interfaz de red => eth0
  • Debemos remplazar eth0 de toda configuracion en el archivo principal de suricata, y cambiar por nuestra interfaz en mi caso => enp0s3.

En el archivo de configuracion principal de suricata.

 $ nano /etc/suricata/suricata.yml
imagen de ejemplo: /etc/suricata/suricata.yml

Configuracion de grupo de direcciones IP, donde suricata va monitorizar

En nuestro caso queremos que suricata analize toda nuestra red. Por eso necesitamos configurar en el archivo principal de suricata: la variable HOME_NET

$ nano /etc/suricata/suricata.yml
imagen de ejemplo: archivo /etc/suricata/suricata.yml — Variable #HOME_NET

Por ultimo Guardamos cambios y reiniciamos, y verificamos el estado ante cualquier error de configuracion.

$ sudo systemctl restart suricata
$ sudo systemctl status suricata

4. Suricata — Update Signatures

Otro punto importante de configuracion es actualizar las firmas o reglas que utilzia suricata para la deteccion.

Suricata utiliza las firmas para activar alertas, por lo que es necesario instalarlas y mantenerlas actualizadas. Las firmas también se denominan reglas, de ahí el nombre de archivos de reglas. Con una herramienta de suricata, las reglas de actualización se pueden recuperar, actualizar y administrar.

La opcion mas simple es:

$ sudo suricata-update

Simplemente ejecutamos el modo predeterminado que obtiene el conjunto de reglas de ETOpen (Emerging Threats open — Ruleset)

Las reglas se instalan en / var / lib / suricata / rules, que también es el predeterminado en la configuración y utiliza el único archivo suricata.rules.

imagen ejemplo: comando update rules

5. Verifiquemos el estado de Suricata

Para asegurarnos de que Suricata se esta ejecutando, miremos los logs de suricata.

$ sudo tail /var/log/suricata/suricata.log
imagen ejemplo: logs en el archiv /var/log/suricata/suricata/log

Suricata is running!

6. Prueba de Deteccion

Para probar la funcionalidad de Suricata (IDS), es mejor realizar una prueba con una firma.

Por un lado como mustra la imagen, utilizamos curl para ver el contenido de sitio que usaremos para la prueba.

$ curl http://testmyids.ca/
imagen ejemplo: comando curl <website>
Imagen ejemplo: codigo HTML del sitio web de prueba

El sitio testmyids.ca es un sitio diseñado para realiza pruebas de deteccion.

https://stopmalvertising.com/malware-reports/the-c3284d-malware-network-stats.php.html

En este caso en el sitio de prueba encontramos en el contenido del sitio los caracteres #c3284d# /*c3284d*/ Test /*/c3284d*/ #/c3284d#, los cuales corresponden a un malware.

Imagen ejemplo de la deteccion con suricata

En la imagen, en la parte de la consola de abajo, vemos como suricata utilizando las reglas de ETOpen detecta una posible intrusion.

Rules:

--

--

Hernan Garcia
Hernan Garcia

No responses yet

Write a response