Después de 5 meses en Francia, viviendo una pandemia y muchas restricciones… Opté por abandonar el sueño professional y volver a casa.
Semanas complicadas a nivel personal, han hecho difiícil sacar tiempo para dar vida a las tardes de SIEM, “nuevo” trabajo, terminar entregas del máster y conseguir tiempo para poder entrenar un poco.
Hoy no vamos hablar de SIEM (lo sé , este blog se llama tardes de SIEM y de momento no hemos hablado de SIEM) ni tampoco hablaremos de IoT. Hoy hablaremos de mi primer Suricata, mi primer IDS.
Este blog empezó siendo una guía/ayuda para entender la domótica de una casa. Después de realizar diferentes posts, tener muchas charlas de café derivadas y ver lo que pudimos ver en un post anterior (Mi smarthome de Xiaomi), en que los gateways de Xiaomi realizan muchas conexiones hacia IPs de China. He decidido pausar provisionalmente la “domotización” para “securizar” mi red doméstica.
Existen muchas maneras de “securizar” una red… En internet podréis encontrar infinitud de páginas y tutoriales para hacerlo. Particularmente y en mi caso, he decidido ser un poco “autodidacta” e instalar desde cero diferentes elementos que me ayudaran en un futuro entender los comportamientos y patrones que puedan existir en mi red doméstica.
El primer elemento que he decidido desplegar en mi red es el IDS (Intrusion Detection System). El IDS es un sistema de detección de accesos no autorizados en una red. Este sistema analiza el tráfico en busca de anomalías, basando las anomalías en firmas definidas o patrones.
La solución implementada en mi caso es Suricata (open source) corriendo encima de una Raspberry.
Existen muchas maneras de instalar un IDS en una red. Suricata tiene la capacidad de trabajar como IPS (Intrusion Prevention System) si se instala “in-line”. En mi caso, Suricata solamente actuará como IDS.
Para que el Suricata pueda “leer” todo el trafico de mi red, he realizado port mirroring en el router de todo el tráfico de mi red hacia Suricata.
Nota: En el último apartado de esta entrada podemos ver cómo instalar y configurar nuestro Suricata.
No hemos visto cómo instalar Suricata, tampoco hemos visto como funciona, pero es el momento de empezar la casa por el tejado.
Uno de los retos que tenía al empezar mi proyecto de securización era el de poder evaluar qué está pasando en mi casa. Después de tener unos días el Suricata funcionando puedo ver que necesita un buen fine-tunning.
Tal y como he comentado anteriormente, pudimos ver las conexiones de nuestros dispositivos Xiaomi hacía China…
¿Qué dirá Suricata de esto?
¡Sorpresa! ¡Suricata se queja! En la línea anterior podemos ver que el IDS ha reportado el salto de la política con ID 2018918 informando de un posible data leak… De este modo procederemos a revisar su firma.
Podemos ver referencias de la firma en el siguiente enlace:
Ahora es el momento de que cada uno saque sus conclusiones o que cada uno empiece a realizar sus propios análisis.
¿Qué más dice Suricata?
Revisando eventos al azar, puedo identificar un router también de Xiaomi provocando el salto de la política de Traversal Utilities for NAT (2016149), haciendo conexiones reiteradas a la IP 111.206.174.3 (CHINA).
En este caso, haber empezado la casa por el tejado, me acaba de enseñar que mi Suricata me ayudará a detectar cosas interesantes, eso si, tocará empezarla por los cimientos.
En esta última parte veremos los comandos ejecutados y las configuraciones realizadas en la Raspberry para tener el Suricata funcionando.
Para la instalación de Suricata me he basado en la guía publicada por “el-brujo” en el blog del hacker.
A continuación veremos los pasos básicos usados para la correcta instalación de Suricata. En mi caso he utilizado una Raspberry con raspbian. Para proceder con la instalación es necesario instalar las siguientes dependencias.
Debemos descargar Suricata.
Descomprimir el fichero.
Entrar en la carpeta de Suricata.
Configurar, compilar e instalar suricata (puede tardar unos minutos).
Configurar el fichero de configuración de Suricata. En este caso debemos modificar la HOME_NET y añadir nuestra red local.
Finalmente podremos inicializar Suricada (debemos inicializarlo con el interfaz de red de nuestra raspi, en mi caso el eth0).
Si queremos ver las políticas que saltan en nuestra red debemos examinar el siguiente fichero.
Tenemos Suricata funcionando, por lo tanto, es el momento de proceder a tunear nuestro IDS en función de las características de nuestra red.
En la siguiente o en una de las próximas entradas veremos cómo actualizar las firmas de nuestro Suricata y empezar a sacarle partido… Quién sabe si enviar su información a un SIEM…
Espero que os haya gustado.
Jordi