Descripción
Suricata es un progresivoram para la recopilación, supervisión y auditoría de registros de seguridad de la red. Esta utilidad se "construye" en torno al grupo de reglas, predefinidas o creadas por el usuario. Luego, de acuerdo con estas reglas, se analizará y/o modificará el "flujo" de tráfico.
Suricata tiene algunas reglas predefinidas "listas para usar", que podrían llamarse "modo pasivo" porque el sistema solo advierte a un administrador sin cambios en el tráfico.
Es posible ejecutar este software en la puerta de enlace de la oficina para "transmitir" todo el tráfico o ejecutarlo en todos los hosts de forma independiente.
Antes del comienzo
Los requisitos de hardware óptimos son relativos a la topología de la LAN y dependen de sus necesidades. Principalmente, una gran cantidad de tráfico inspeccionado necesita que se asignen muchos recursos a Suricata. En casos comunes al menos 2 CPU núcleos y 4 u 8 GygaBytes de RAM se necesita.
Entonces, los requisitos son:
Ubuntu 20.04, en el servidor no menos de 4 Gb RAM y séptima CPU núcleos, permisos para hacer algo como raíz o miembro del grupo sudo, sistema firewall habilitado
Proceso de instalación
- En primer lugar, debe agregar un repositorio de terceros al sistema operativo. Simplemente autorice como superusuario y ejecute:
add-apt-repository ppa:oisf/suricata-stable
Confirmar si aparece advertencia de seguridad
- Instale la herramienta preconstruida del mantenedor:
apt-get update
apt-get install suricata
- Luego agregue un nuevo servicio al grupo de inicio automático. Si ha visto una salida de la consola como esta, el inicio se activó correctamente:
systemctl enable suricata
Configuración única
La utilidad Suricata "cubre" las necesidades de la mayoría de los usuarios "lista para usar". Funciona en modo "seguro", por lo que no se caen paquetes de red, solo advierte. Esta práctica es buena hasta que no tengas "conocimientos profundos" en este tema.
Pero incluso el preajuste predeterminado probablemente tenga algunas opciones útiles, por ejemplo, ID de flujo de comunidad
Podría ser útil en caso de necesitar integrar otros complejos (Elasticsearch por ejemplo) con Suricata. La identificación de la comunidad podría insertarse en la configuración de Suricata. Simplemente edite la directiva "community-id:", establezca su valor en "true" en /etc/suricata/suricata.yaml config.
cd /etc/suricata/suricata.yaml
Defina qué interfaz de red debemos monitorear. Para encontrar un adaptador de red con la interfaz predeterminada, debe ejecutar un comando como este:
ip -j -p route show default
Una pequeña descripción: la opción -j establecerá el formato de "salida" como JSON, el indicador -p mejorará la legibilidad. El adaptador "principal" se muestra en la fila "dev".
Para verificar y cambiar el nombre de una interfaz, abra el archivo /etc/suricata/suricata.yaml, busque la directiva "interfaz" alrededor de la fila #550. Si se presentan varias interfaces, también es posible agregarlas al archivo de configuración.
Finalmente, debe volver a ejecutar el servicio. Hacer
service suricata restart
Actualización de conjuntos de reglas
Para obtener reglas adicionales, se debe usar la herramienta de actualización suricata. La empresa de servicios públicos puede obtener reglas de tráfico de recursos de proveedores no comerciales o pagos. También podría mostrar los usos del sistema de conjuntos ahora.
suricata-update list-sources
Esta herramienta está diseñada para administrar conjuntos de reglas, habilitarla o deshabilitarla. Por ejemplo, para instalar un nuevo conjunto de reglas, ejecute:
suricata-update enable-source <RULESET_NAME>
Ejecute suricata-update nuevamente para aplicar los cambios.
Comprobación de la configuración actual
Una buena práctica es verificar la configuración después de cada modificación. Solo ejecuta:
suricata -T -v -c /etc/suricata/suricata.yaml # -T option is forces Suricata to work in "checking" mode, -c will set path to config file, -v option needs to print more information
Lanzamiento del servicio
Para reiniciar el demonio después de una verificación de configuración exitosa, ejecute:
service suricata restart
Entonces mire, ¿el servicio realmente comenzó o no?
service suricata status
Prueba de reglas reales
Para verificar si las reglas son realmente relevantes para las expectativas o no, simplemente instale la herramienta jq para que el registro sea más comprensible y obtenga un archivo especial:
apt-get install jq
apt-get install curl
curl http://testmynids.org/uid/index.html
Para buscar alertas, haga lo siguiente:
tail -f /var/log/suricata/fast.log
tail -f /var/log/suricata/eve.log
Verá la salida "filtrada" de los registros ordenados por ID de alerta:
jq 'select(.alert .signature_id==<ALERT_ID>)' /var/log/suricata/eve.json
Al final
Hoy ha instalado la herramienta Suricata. Viste cómo usar un Community Flow ID para combinar la utilidad con otras herramientas útiles. También sabemos cómo inspeccionar la configuración del servicio y probar nuestro HTTP tráfico.