En esta segunda parte de “Detectando intrusos en casa”, vamos a ver los siguientes puntos:
- Instalación y configuración de un sistema operativo en raspberry pi 3 desde Windows.
- Instalación y configuración de Suricata.
Una vez finalicemos con estos tres puntos dispondremos de un NIDS totalmente funcional en nuestra casa o cualquier otro sitio donde queramos montarlo. Me dejo palabrerío y vamos al barro.
Instalación de un sistema Operativo
Lo primero que debemos hacer con nuestra Raspberry Pi es darle un sistema operativo con el que trabajar. En este caso, vamos a instalar raspbian dado que es una distribución bastante ligera. Además, al disponer de apt (Advanced Packing Tool) nos permitirá instalar Suricata con una sola instrucción sin necesidad de hacer malabares con github, compiladores, etc… Si alguno quiere intentarlo solo tiene que ir a aquí, no es complicado, pero es mucho más sencillo utilizar apt.
Instalación de raspbian con Etcher.
El primer paso que debemos realizar es descargar el SO que vamos a instalar, para ello simplemente descargaremos raspbian desde la página oficial de Raspberry pi. Esta imagen ocupa aproximadamente 350 MB y no dispone de ningún entorno gráfico. Vamos a utilizar una versión sin escritorio de forma que el SO utilice los mínimos recursos posibles dejándolos disponibles para Suricata.
Una vez disponemos de la imagen debemos pasarla a nuestra SD y para ello voy a utilizar una aplicación llamada Etcher. Para descargarla simplemente deberemos ir aquí. Destacar que la herramienta está disponible para Windows, Linux y Mac.
A continuación, podéis ver la apariencia que tiene esta aplicación.
La aplicación es tan sencilla cómo aparenta, simplemente seleccionamos una ISO (en nuestro caso raspbian que acabamos de descargar), seleccionamos la SD que queremos formatear y pulsamos sobre “Flash!”. Al cabo de unos minutos tendremos nuestra SD lista para introducirla en nuestra Raspi y arrancar nuestro SO.
Esta es una forma más de instalar un SO en raspberry, obviamente aquellos que ya habéis trabajado con Raspberry y utilizáis otros programas para instalar el SO o lo hacéis manualmente mediante “dd” podéis hacerlo. Por mi parte suelo utilizar la instrucción “dd” de Linux, pero para aquellos que les gusten las cosas más sencillas esta herramienta me ha parecido genial; tres botones y todo listo.
Configuración de Raspbian e instalación de Suricata.
Una vez disponemos de un SO en nuestra Raspberry debemos realizar unos pasos antes de instalar Suricata.
Lo primero que haremos es conectarnos a nuestra PI, puede que por defecto el servicio SSH esté deshabilitado. Así que conectaremos nuestra PI a un monitor e iniciaremos sesión con el usuario “pi” y la contraseña “raspberry”.
Una vez conectados debemos realizar los siguientes pasos.
- Crear un nuevo usuario (remplazar “yeknu” por vuestro nombre de usuario)
- Cambiar la contraseña de root.
- Borrar el usuario pi. Antes de realizar este paso es necesario salir de la sesión, entrar como el nuevo usuario creado. En el caso en el que no os deje eliminar el usuario pi por que han quedado procesos en ejecución simplemente ejecutar kill -9 [PID].
- Habilitar el servicio SSH para que se ejecute durante el arranque y arrancar el servicio
- Habilitar el modo promiscuo de la tarjeta de red durante el arranque del equipo. Crear el archive “/etc/network/interfaces.d/eth0” e introducir los siguientes valores:
- Instalar Suricata, configurarlo y habilitar el arranque automático durante el encendido.
- En este punto ya tenemos instalado Suricata, pero, el set de reglas que trae por defecto es muy pobre. Para completar estas reglas vamos a utilizar las reglas de emergingthreats. Estas son actualizadas casi a diario así que hay que mantenerlas lo más actualizadas posibles. Para ello, tengo un pequeño script en mi repositorio de github que ejecutándolo mediante una tarea programada mantendrá estas reglas actualizadas.El primer paso es descargar el script y ejecutarlo por primera vez.
- Una vez ejecutado dispondremos de todas las reglas de emerginthreats en el directorio “/etc/suricata/rules/” para que estas se mantengan actualizadas se recarguen todas las noches vamos a añadir dos tareas a nuestro crontab.
- Tras seguir todos estos pasos ya dispondremos de nuestro suricata totalmente funcional.
En futuros posts veremos cómo integrar nuestro suricata con QradarCE. Cualquier pregunta que os pueda surgir no dudéis en preguntarme a través de twitter @yeknu_ . De la misma forma se aceptan sugerencias y comentario.