Come testare le regole di ModSecurity contro i log di accesso / errore?

0

Sto cercando di sviluppare alcune statistiche e ottimizzare le mie regole di rilevamento per i miei server web. Sto lottando con un grosso problema, però. Come posso eseguire le mie regole ModSecurity rispetto alle richieste precedenti in base ai miei log di accesso / errore?

Un altro approccio potrebbe essere quello di estrarre regex da ModSecurity ma faccio fatica a trovare un modo per farlo.

    
posta Nirvilus 27.03.2018 - 17:05
fonte

2 risposte

1

Non penso che ciò sia possibile, e anche se trovi un modo per farlo, non rappresenterà il mondo reale correttamente. Molte regole mod_security si basano su una varietà di dati, inclusi vari header nelle richieste HTTP, così come i dati del corpo della richiesta HTTP. Gran parte di questi dati (in particolare il corpo delle richieste) non viene generalmente registrata (almeno nelle configurazioni predefinite), quindi anche se potessi reinserire i log, mod_security non sarebbe in grado di valutare la richiesta completa.

    
risposta data 27.03.2018 - 19:25
fonte
1

È possibile controllare solo gli URI per i payload dannosi come path traversal, RCI, LFI, XSS, SSRF, CSRF, ecc. semplicemente inviandoli in una nuova richiesta in un server locale con OWASP CRS caricato.

Supponiamo che tu abbia un server Apache che ascolta localhost e CRS abilitato e che ascolti la posizione di ModSecLivesHere puoi semplicemente inviare tutto il tuo campo di accesso log 6 (URL) a quell'indirizzo e catturare 403 risposte.

for i in $(cat access.log |awk '{print $6}'); do
  curl http://127.0.0.1/ModSecLivesHere/${i}
done

Si presume che la posizione risponderà sempre con un 200 OK, tranne se ModSecurity intercetta la richiesta, nel qual caso risponderà a 403 Proibita

RewriteEngine On
RewriteRule .* - [R=200,L]

Il modo migliore se hai uno storage big-beefy allegato è quello di utilizzare il log di controllo e memorizzare tutte le richieste e le risposte (tipo di FPC con payload decrittografati) non solo le transazioni RelevantOnly in modo da poter eseguire un controllo del traffico completo .io hanno un po 'di roba di raffreddamento.

Con il registro di controllo è possibile eseguire controlli sull'intera richiesta, non solo sull'URI come si farebbe con il log di accesso, il log degli errori è pieno di cose non correlate solo alle richieste, quindi è necessario filtrarle prima e poi fare qualcosa simile a quello che ho suggerito.

    
risposta data 15.08.2018 - 17:54
fonte

Leggi altre domande sui tag