Salta al contenuto
PURPLEDUEL

Come leggere i log di accesso di un server

Aggiornato il · 3 min di lettura

Ogni volta che qualcuno visita un sito, il server scrive una riga in un file di registro: il log di accesso. Sono migliaia di righe al giorno, quasi tutte noiose, ma contengono la storia di tutto ciò che è successo, compresi i tentativi di intrusione. Saper leggere un log è la competenza di base di chi lavora nel blue team.

Anatomia di una riga

I server web più diffusi usano il «formato combinato». Una riga tipica, con un indirizzo inventato, è questa:

203.0.113.50 - - [05/Oct/2026:10:41:02 +0000] "POST /login HTTP/1.1" 401 512 "-" "Mozilla/5.0"

I segnali che qualcosa non va

Un esempio concreto: chi sta insistendo?

Con pochi comandi di shell puoi trasformare migliaia di righe in una risposta. Qui conti le richieste fallite sulla pagina di login per ogni indirizzo:

$ grep '"POST /login' access.log | grep ' 401 ' | awk '{print $1}' | sort | uniq -c | sort -nr | head -3
    318 203.0.113.50
     12 198.51.100.7
      2 192.0.2.20

Un indirizzo con 318 errori contro i 12 e i 2 degli altri è un candidato evidente: ha provato centinaia di password. Il passo successivo è verificare nel log se, dopo gli errori, ci sia stato un accesso riuscito (200 o un reindirizzamento) da quello stesso indirizzo, e in caso affermativo trattare l'account come compromesso.

Come ci si difende: dai log alla risposta

Dopo i primi esercizi diventa un'abitudine: filtrare, contare, ordinare e chiedersi «è normale?». I laboratori del percorso Blue Team di PurpleDuel ti fanno ricostruire proprio questo tipo di storia dai log di un sistema simulato.

Continua a leggere