Autore Topic: [3.x] IDS  (Letto 3763 volte)

mau_develop

  • Visitatore
[3.x] IDS
« il: 12 Apr 2013, 17:02:09 »
Guardando un po' come è fatto il rinomato sentinel di wp ho scritto un plugin che ne ricalca la funzione principale ovvero quella di trovare e fermare iniezioni di codice malevolo.
Se qualcuno lo vuol testare...
PS Testare significa:
1) sapere ciò che si fa
2) in + sapendo ciò che si fa non usarlo in siti di produzione

Se mi riportate i problemi o i suggerimenti sarò lieto di portare avanti qs cosa
Le tabelle sono da creare manualmente con l'sql inserito


[allegato eliminato automaticamente dopo un anno]

mau_develop

  • Visitatore
Re:[3.x] IDS
« Risposta #1 il: 07 Mag 2013, 11:10:21 »
Visto l'enorme successo riscosso, 3 download di cui due su invito e uno probabilmente mio di prova, ho pensato di proseguire con questo progetto, realizzando una nuova versione.

Scherzi a parte, questa è l'ultima versione che rendo pubblica, le successive avranno altro destino... diventeranno un componente un po' più complesso che necessiterà di una configurazione dedicata alla macchina oltre che al cms che non è possibile risolvere di "default"

Necessita J.3.x e php almeno 5.3.1.
Privilegia Isis e il bootstrap in amministrazione
Può funzionare come semplice e completo contavisite /traccia navigazione
Ha un interfaccia amministrativa e un plugin; presenti nel pacchetto da unzippare.
Se il server lo consente potete aggiornare le regole automaticamente

Avvertenze:
- Può dare problemi di falsi positivi e quindi indesiderati ban con qualche estensione .. non l'ho provato su tutte (speravo mi aiutasse qualcuno di voi ;) )
- Può non funzionare l'invio della mail... nn mi piace, ha dei problemi che non capisco (ma capirò)
- Il sistema di update delle regole non è il massimo della vita... sarà da rivedere.
- Può rallentare la navigazione del sito e su siti con molti accessi può riempire velocemente il database

[allegato eliminato automaticamente dopo un anno]

mau_develop

  • Visitatore
Re:[3.x] IDS
« Risposta #2 il: 22 Mag 2013, 11:55:07 »
Ho trovato un po' di tempo per debuggare un po', qualche correzione...
nel plugin, nelle prime righe c'è la discriminante per il lato, la riga è da modificare così:
Codice: [Seleziona]
if ((int)$prms->get('side', 0) === 0 && strpos($_SERVER['REQUEST_URI'], '/administrator') !== false) return;
strpos è una funzione malefica.

L'invio della mail avviene correttamente

Malfunzionamenti
- Impostando il controllo anche su lato admin si generano parecchi errori
- Il controllo sui cookies genera dei falsi positivi per codice offuscato
- La descrizione delle stringhe "malevole" inviate per mail è vuota [RISOLTO sotto]
- La cancellazione di un evento nello storico in amministrazione genera errori

« Ultima modifica: 22 Mag 2013, 12:31:49 da M_W_C »

mau_develop

  • Visitatore
Re:[3.x] IDS
« Risposta #3 il: 22 Mag 2013, 12:29:53 »
- La descrizione delle stringhe "malevole" inviate per mail è vuota
----------------------------------------------------------------------------------------
corretto, non è un oggetto ma un array
Codice: [Seleziona]
foreach($filters as $filter){
            $bodymsg .= "Description -> ".$filter['description']."\r\n";
            $bodymsg .= "Type -> ".$filter['tags']."\r\n";
            $bodymsg .= "Impact -> ".$filter['impact']."\r\n";           
            $bodymsg .= "\r\n";
        }

altre cosucce...

- nella funzione handleEvent() bisogna inizializzare la var $exception che viene passata alla funzione che tratta il messaggio. Se non si verifica un eccezione rimane non inizializzata
Codice: [Seleziona]
$exception = '';
- Nel messaggio che viene inviato bisogna formattare la data dell'evento:
Codice: [Seleziona]
$bodymsg .= "At -> ".date('d-m-Y H:i:s',$history->at)."  IP -> ".long2ip($history->ip)."\r\n";

Offline j3n4

  • Esploratore
  • **
  • Post: 77
  • Sesso: Maschio
  • We are Borg
    • Mostra profilo
    • HiTeChFree
Re:[3.x] IDS
« Risposta #4 il: 04 Ott 2013, 23:09:50 »
Mi hai fatto venire la curiosità.
Lo scarico, lo smonto e vediamo che fa ;)
We are BORG

 

Torna su