Anàlisi de registres

Analitza 5.000 esdeveniments de seguretat sintètics i els resumeix en un informe d’incidents amb quatre taules.

Seguretat · Python · Demo navegable

El problema

Qualsevol servidor escriu milers de línies al dia i un atac s’amaga just aquí, en el soroll. La primera feina d’un centre d’operacions de seguretat no és respondre: és separar el senyal, comptar els intents fallits i ordenar les adreces per insistència.

Què fa

  • Genera un registre sintètic amb llavor fixa, barrejant trànsit normal i maliciós, perquè l’informe publicat correspongui sempre al registre publicat.
  • Llegeix cada línia amb expressions regulars i classifica el tipus de succés.
  • Ordena les cinc adreces amb més accessos fallits i compta els successos de cada tipus, incloses les línies que no va saber llegir.
  • Escriu un informe d’amenaces en Markdown, sense ni una dependència externa.

El que es va decidir en construir-lo

Comptar i maquetar són dues coses diferents
Les xifres es calculen en una funció i l’informe es compon en una altra. Quan vivien juntes, l’única manera d’arribar a un número era tornar-lo a llegir del text ja maquetat, així que el panell i l’informe recomptaven el fitxer cadascun pel seu costat i se separaven així que canviava una regla.
Una línia il·legible és una troballa, no un buit
Les línies que l’analitzador no entén es compten i es publiquen. Descartar-les en silenci és el que converteix «no vaig saber llegir la meitat del registre» en «no hi ha amenaces», i aquestes dues frases s’assemblen molt en un informe i gens en la realitat.
Rellotge i llavor fixos, perquè l’informe correspongui al registre
La finestra temporal partia de l’hora actual, així que cada execució produïa un fitxer diferent i l’informe publicat deixava de correspondre al registre publicat. Ara la data d’inici i la llavor estan fixades: el mateix codi produeix el mateix registre i el mateix informe.
Sense ni una dependència
Tota l’anàlisi corre amb la biblioteca estàndard: expressions regulars i comptadors. Un analitzador de registres que cal instal·lar és un analitzador que no s’executa a la màquina on hi ha el problema, que sol ser justament on fa falta.

Fins on arriba

  • Els cinc mil esdeveniments són sintètics i els genera el mateix repositori amb una llavor fixa. No hi ha ni una línia d’una xarxa real, i les adreces són de rang privat inventades.
  • Els esdeveniments de força bruta vénen ja etiquetats pel generador: l’anàlisi els compta, no els descobreix. El que sí que es calcula a partir de les dades és el rànquing de les adreces amb més accessos fallits.
  • Entén el seu propi format de registre i res més. Un registre de sistema real, un journal de Linux o un visor de successos de Windows caurien sencers al comptador de línies il·legibles.
  • No hi ha alertes, ni llindars configurables, ni connexió amb un tallafocs o un gestor d’esdeveniments. La sortida és un informe i uns fitxers de dades.

Construït amb

  • Python

D’on surten les dades

Dades sintètiques generades pel mateix repositori: no hi ha informació de cap client.

Dona suport a aquest servei

Auditoria de ciberseguretat i vulnerabilitats web

Llegir el codi · Obrir la demo