Tutorial NSN Sentinel 2.0.1

by Rino www.phpnukefordonkeys.com

Introduzione
Negli ultimi mesi c'è stata una notevole produzione di addons diretti a sconfiggere i numerosi attacchi di tipo SQL Injection aventi come obiettivo il nostro beneamato Nuke. Ne abbiamo testati diversi ma alla fine abbiamo dedicato la nostra attenzione a
NukeSentinel™ : dopo aver testato la versione ed utilizzato con ottimi risultati la versione 1.2.0 abbiamo installato e testato l'ultima release la 2.0.1 (agosto 2004). Abbiamo cercato di condensare le nostre esperienze in questo tutorial che, visto l'argomento sempre - ahimè - in continua evoluzione, non è sicuramente da considerare definitivo, quindi periodicamente subirà aggiornamenti che pubblicheremo man mano che reperiremo le novità.

Cosa fa
NukeSentinel™ è un pacchetto di script "specializzati" per i vari tipi di attacco. Una volta installato e configurato si metterà a guardia del tuo CMS vigilando ed intervenendo in modo automatico o manuale richiedendo il tuo intervento. A seconda di come viene configurato può bloccare subito l'IP dell'attaccante, metterlo alla berlina in homepage e addirittura bombardargli il pc con una scarica di popup che porterà al crash del sistema. Inoltre ad ogni tentativo di attacco potete decidere se ricevere una email con la quale venite informati sull'attività, sul tipo di attacco, su l'IP ed inoltre una serie di informazioni tecniche. Guardando una di queste mail vedrete mittenti e provenienze le più disparate: la prima che ho ricevuto è arrivata da Tokyo, ma chi la mandava? (trovate una raccolta di email campioni alla fine del tutorial). Dovete sapere che esiste una rete mondiale che gestisce allocazione e registrazione dei servizi che supportano globalmente le operazioni in Internet. Attualmente esistono quattro Regional Internet Registries che operano in tutto il mondo. Si tratta di gruppi che comprendono servizi tipo Internet Service Providers, National Internet Registries, e organizzazioni similari.


Le quattro organizzazioni nel mondo


Tra i tanti servizi svolti c'è anche quello di controllo del traffico ed in particolare tracking spam and hacking ossia la tracciatura dello spam e degli attacchi diretti ai siti web. Se volete approfondire questo tema potete leggere questo articolo (purtroppo in italiano non esiste molto materiale) , http://www.telecomitalialab.com/libri/InternetTouch/aree/guadagni2.pdf

Passiamo subito alla fase di installazione. Questa operazione, a prima vista, può sembrare complicata ma vi assicuro che ponendo un po' di attenzione e seguendo il tutorial non avrete problemi.



Installazione
Scaricate l'ultima versione del pacchetto direttamente dal sito ufficiale (non occorre iscrizione) http://www.nukescripts.net/modules.php?name=Downloads (in questo tutorial abbiamo utilizzato la versione 2.0.1)


Scompattate ed otterrete

aprite la cartella



Trovate 4 files .txt che non prenderemo in considerazione e due files che contengono la Guida originale in lingua inglese.

Aprite la cartella html


Trasferite sul remoto seguendo questo schema

Senza aprirla trasferite la cartella sulla root del server remoto. Questa cartella contiene i templates da modificare simili a quelli del forum phpBB. Sono in estensione *.tpl modificabili con editor.
Trasferite il contenuto delle 3 cartelle (case, links, modules) nelle rispettive cartelle sul server remoto
Trasferite block-Sentinel e block-Hacker_Beware.php nella cartella blocks sul server remoto
Aprite la cartella admin e trasferite il file sentinel.png nella stessa images/admin sul server remoto.
Senza aprirla trasferite la cartella sentinel nella cartella images sul server remoto
Se non hai modificato il file originale includes/javascript.php puoi trasferire direttamente questo file che andrà a sovrascrivere l'originale aggiornandolo. Prima di fare l'upload devi rinominarlo da javascript.tmp a javascript.php
Se invece hai già modificato questo file devi apportare manualmente queste modifiche

Sempre in questa cartella trovi 3 files: overlib.js overlib_hideform.js sentinel.php che vanno trsferiti anche essi sulla cartella includes del server remoto
Aprite la cartella e trasferite tutta la cartella Sentinel (senza aprirla) sul server remoto nella cartella language. Ora dovete caricare il file del linguaggio italiano che abbiamo preparato specificatamente per questa versione, seguite queste istruzioni:
Scaricate il file cliccando su questa icona scompattatela ed otterrete questa cartella apritela e troverete il file che dovete trasferire sul vostro server esattamente qui language/sentinel


Procediamo...

Trasferite la cartella Blocked_IPs nella cartella module sul server remoto
Se non hai modificato il file originale header.php puoi utilizzare questo per sovrascrivere ed aggiornare l'originale. In tal caso però devi prima rinominarlo da header.tmp ad header.php
Se invece hai già modificato questo file oppure sei in dubbio in merito a ciò, devi apportare manualmente queste modifiche


Procediamo...

Trasferite questo file sulla root del server remoto solo se dovete fare l'upgrade da NSN IP Banner. Se non siete in questa condizione non trasferite questo file.
Trasferite questo file sulla root del server remoto. Grazie a questo file installerete, aggiornerete o eliminerete automaticamente le tabelle di NukeSentinel(tm) .


L'upload è terminato ma occorre fare ancora delle modifiche su due files:

Aprite il file mainfile.php che trovate nella root del vostro Nuke e subito sotto la linea di apertura aggiungete questa stringa

E' quasi fatta... nel file Your Account rimane da correggere un bug che non permette agli utenti di aggiornare i propri dati, clicca qui per scoprire come fare

 


TRASFERIMENTO DELLE TABELLE SUL DATABASE
Aprite il vostro browser web e loggatevi come Admin. Ora, nella barra degli indirizzi, digitate http://www.tuosito.com/nsnst.php oppure, se dovete fare l'upgrade da NSN IP Banner, digitate http://www.tuosito.com/nsnib.php


Ti apparirà un'immagine come questa:


Se questa è la prima volta che installate Sentinel scegliete Prima Installazione di Nuke Sentinel nel menu a discesa mentre se avete già una versione installata dovrete farne l'upgrade (noi per esempio in questo tutorial eseguiremo l'upgrade dalla versione 1.2.0 alla 2.0.1). Per fare ciò dovremo passare per tutte le opzioni partendo dalla prima ed arrivando all'attuale.

NOTA: Se dovete fare l'upgrade partendo da versioni precedenti alla 1.2.0 è consigliabile effettuare la disinstallazione e poi installare l'ultima versione come Prima Installazione di Nuke Sentinel

Riprendiamo le operazioni...

Nel menu a discesa scegliete la vostra opzione, noi sceglieremo Upgrade tabelle di NukeSentinel™ 1.2.0 to 2.0.0 RC 4 e cliccate sul bottone COMMIT.

Se l'upgrade avverrà con successo vedrete apparire qualcosa di simile a questo:


Ora dovete ripetere l'operazione per l'upgrade del livello successivo e qui potreste avere qualche problema nel senso che potreste trovarvi nella condizione di non poter andare avanti. Per evitare questo problema fate così:

  • uscite dal sito

  • rientrate e digitate nella barra indirizzi di IE http://www.tuosito/nsnst.php

  • procedete con l'operazione per l'upgrade successivo



ripete le fasi descritte qui sopra (uscite dal sito, ecc...) fino ad arrivare all' ultimo upgrade

NOTA IMPORTANTISSIMA
Appena terminate l'installazione cancellate subito, per sicurezza, il file nsnst.php dalla root sul server remoto. In tal modo eviterete che qualche malintenzionato lo possa utilizzare per cancellare Sentinel e crearvi problemi sul sito.

Complimenti! L'installazione è terminata! Prendetevi un momento di relax, gustatevi un buon caffè e preparatevi allo sforzo finale: Amministrazione e Configurazione di NukeSentinel™ .


Cliccate su Vai in Amministrazione NukeSentinel™ e si aprirà una tabella simile a questa:


Questa è la pagina principale, il ponte di comando da cui potrete accedere a tutte le opzioni di amministrazione della vostra sentinella.
Iniziamo a conoscere queste numerose possibilità.

Sei su >> Amministrazione NukeSentinel™ >> SETTAGGI SISTEMA DI AIUTO

Tipo di Sistema di Aiuto
Con questo settaggio puoi scegliere il sistema di aiuto che apparirà quando cliccherai o passerai il mouse su
e . Il settaggio di default è Mouseover.

Mouseover su immagine
Selezionando questa opzione sarà sufficiente passare il mouse su per ottenere l'apertura della finestra contenente l'aiuto relativo. Attenzione perchè in alcuni temi (realizzati in Flash o con files Javascript questa opzioni potrebbe non funzionare correttamente.

Click su immagine
Selezionando questa opzione occorrerà cliccare su per ottenere l'apertura della finestra contenente l'aiuto relativo.

Sei su >> Amministrazione NukeSentinel™ >> STATO URL NUKE


potete scegliere tra due opzioni:

Si
Questo è utile perchè obbliga i tuoi utenti ad accedere al tuo sito solo e sempre attraverso l'URL che avete settato in Preferenze del vostro Nuke.
Per esempio se il vostro server permette che il vostro sito sia raggiungibile sia con http://tuosito.com che con http://www.tuosito.com sicuramente si creeranno problemi di confusione e conflitti di cookies per i vostri utenti che avranno due sezioni aperte per lo stesso sito. Potete osservare questa situazione entrando in qualche sito conosciuto usando sia http://nomesito.com e/o http://www.nomesito.com: in un url loggatevi e poi entrate nell'altro url come utente anonimo (non loggato). Ora se fate un login anche nel secondo url potrete avere conflitti con i cookies generati per lo stesso dominio. Scegliendo questa opzione l'utente che accede da http://tuosito.com verrà reindirizzato su http://www.tuosito.com

No
Scegliendo questa opzione il tuo sito manterrà la configurazione originale prestabilita dal gestore del server.

Sei su >> Amministrazione NukeSentinel™ >> SETTAGGI BOX LATERALE



Questo menu è usato per gestire ciò che viene mostrato nei blocchi laterali di NukeSentinel™ . Se desiderate usare i blocchi laterali di NukeSentinel™ queste sono le opzioni disponibili:

Non mostrato
I links dove potete vedere le informazioni aggiuntive non saranno linkabili. Gli indirizzi IP verranno mostrati come testo normale.

Solo Admin
Verranno mostrati gli IPs con link attivo per le informazioni addizionali solo agli amministratori del sito

Solo Users/Admins
Come sopra ma stavolta potranno accedere ai links anche gli utenti registrati.

Tutti i visitatori
Come sopra ma ora chiunque acceda al sito potrà vedere e linkare i links informativi.

Sei su >> Amministrazione NukeSentinel™ >> MOSTRA MOTIVO




Questo menu è usato per selezionare il motivo per il quale la visualizzazione del blocco laterale non è mostrato:

Non mostrato
Scegliendo questa opzione nessun motivo verrà mostrato

Solo Admin
Scegliendo questa opzione solamente gli amministratori potranno vedere i motivi del blocco

Solo Users/Admins
Scegliendo questa opzione utenti registrati e amministratori potranno vedere i motivi del blocco

Tutti i visitatori
Scegliendo questa opzione tutti potranno vedere i motivi del blocco siano essi visitatori, utenti registrati o amministratori.

Sei su >> Amministrazione NukeSentinel™ >> STATO SITO



Interruttore Sito

Per mette di scegliere se il sito deve essere Abilitato o Disabilitato


Pagina di Default
Questo interruttore permette di selezionare il file di default che sarà mostrato quando terremo il sevizio disabilitato nella opzione precedente

Sei su >> Amministrazione NukeSentinel™ >> STATO DI BLOCCO DEL PROXY


Bloccare Proxy


Blocca tutti gli IPs mascherati dal proprio gestore (es: Fastweb assegna un unico IP a più utenti). La modalità ON bloccherà questi utenti con IP comune.

Pagina di Deafult


Proxy reason
Questo è un file modello che potete editare per mostrare per un utente del proxy che l'accesso non è permesso per questo tipo di connessione. Questa opzione funziona solo se l'opzione Bloccare Proxy è stata abilitata (On).

Site reason
Questo è un file modello che potete editare per mostrare il motivo per il quale l'accesso non è permesso.

Sei su >> Amministrazione NukeSentinel™ >> SETTAGGI AMMINISTRATIVI

Path .htaccess:

In questo campo dovete inserire il percorso del vostro file .htaccess. Ricordate di assegnare a questo file i permessi CHMOD 666

Sei su >> Amministrazione NukeSentinel™ >> CONTATTI ADMINS


Qui dovete indicare l'indirizzo email al quale riceverete le segnalazioni del sistema. Potete inserire vari indirizzi scrivendone però solo uno per linea.

Sei su >> Amministrazione NukeSentinel™ >> AUTENTICAZIONE HTTP ADMINS


Se disponibile, con questa opzione potete obbligare gli amministratori del sito ad effettuare il login via HTTP prima di poter accedere alla pagina di amministrazione del sito (admin.php). L'autenticazione HTTP rappresenta la protezione più sicura. I dettagli per la configurazione di questo servizio variano da server a server. È quindi necessario consultare la documentazione del proprio server nella sezione dedicata all'autenticazione ("authentication"). Contattate pure il vostro amministratore di sistema.

Sei su >> Amministrazione NukeSentinel™ >> AUTOCANCELLAZIONE BLOCCHI


Questa opzione permette di decidere se la cancellazione degli IPs bloccati deve essere automatica ogni volta che Sentinel accede al database. Si setta dai singoli settaggi in configurazione.

Sei su >> Amministrazione NukeSentinel™ >> PROTEZIONE ATTACCHI DOS


Da qui potete abilitare o meno la protezione contro i tentativi di attacco DOS ( Denial of Service Attack Blocker). Non si usano più in quanto ci sono nuovi tipi di attacchi ma è sempre meglio attivarlo...

Sei su >> Amministrazione NukeSentinel™ >> SETTAGGI LISTA PAGINE

IPs per pagina
Quanti IPs desiderate per pagina.


Formato Incolonnamento
Avete quattro opzioni per il formato dell'incolonnamento.


Ordinare per
Scegliete l'ordinamento dei dati.

Torniamo al pannello principale

Amministrazione Sito
Cliccando qui tornate al pannello di amministrazione generale del sito.

Cliccate su Indirizzi IPs Bloccati

Sei su >> Amministrazione NukeSentinel™ >> INDIRIZZI IPs BLOCCATI

Viene mostrata la lista degli IPs bloccati ed una lunga serie di informazioni.



Cliccando sulle icone sulla destra otterrete le seguenti informazioni:

Guarda Cliccando su questa opzione poterete vedere lo storico dell' IP bloccato. Per esempio:


Edita Cliccando su questa opzione potrete editare i dati dell 'IP. Per esempio:


Cancella Cliccando su questa icona cancellerete questo indirizzo IP dal database e quindi gli darete di nuovo accesso al sito.

Sei su >> Amministrazione NukeSentinel™ >> AGGIUNGI INDIRIZZI IPs

Con questa opzione potete aggiungere IPs manualmente utilizzando il form che vedete in basso.



Blocca IP
Potete inserire un IP nel formato xxx.xxx.xxx.xxx per bloccare un IP specifico oppure nel formato formato xxx.xxx. per bloccare un gruppo completo di IPs.

Scade tra giorni
Potete indicare il numero di giorni di blocco oppure usare l'opzione Permanente.
Note
In questo campo potete annotare i motivi del blocco ed altri particolari che riteniate utili.

Motivo del Blocco
Abuse Author: Tentativo di attacco indirizzato alla tabella nuke_authors.
Abuse CLike: Tentativo di attacco utilizzando il comando di Injection Mysql
Abuse Filters - Principalmente per tentativi di attacchi XSS.
Abuse Harvester - Blocco di user agent che usano programmi noti come bots e semelhantes che vengono usati per raccogliere indirizzi di email, immagini e altro
Abuse Other - Qualche altro tipo di blocco non presente nella lista
Abuse Referer - Blocco per tentativi di accesso Anonimi che usano siti porno
Abuse Request - Blocca l'utilizzo di metodi di richiesta quali HEAD, SEARCH. Non usarlo bloccare POST o GET perchè potresti mandare in crash il tuo sito.
Abuse Script - Blocca l'uso di molti tags html che possono essere usati per attaccare il sito
Abuse String - Ti permette di bloccare qualunque stringa che tu possa considerare un tentativo di hacking
Abuse Union - Attacchi che utilizzano comandi di tipo Union per inserimenti nel database

Sei su >> Amministrazione NukeSentinel™ >> CANCELLA TUTTI GLI INDIRIZZI IP


Questa opzione permette di cancellare dal database tutti gli IPs bloccati.

Sei su >> Amministrazione NukeSentinel™ >> CANCELLA BLOCCHI SCADUTI


Cliccando su questa opzione i blocchi scaduti verranno cancellati dalla lista.

Sei su >> Amministrazione NukeSentinel™ >> LISTA ADMIN PROTETTI

Cliccando su questa opzione verrà mostrata la lista degli amministratori con accesso protetto via autenticazione HTTP


Sei su >> Amministrazione NukeSentinel™ >> SCOPRI NUOVI AMMINISTRATORI


Con questa opzione permettete la ricerca e la segnalazione di nuovi amministratori aggiunti al database senza autorizzazione.


Cliccate su Configurazione NukeSentinel


apparirà questo

 


Sei su >> Configurazione NukeSentinel™ >> SETTAGGI ADMIN BLOCKER




In alto vedete un esempio di configurazione per proteggersi da tentativi di attacchi al super admin nella tabella nuke_authors.

Analizziamo ora le varie opzioni:


Attiva
Off: Modulo di Protezione disattivato
E-mail Admin: Invia una e-mail all' (agli) Admin(s) del sito
Reindirizza: Invia l'attaccante in un URL definito precedentemente
Pagina di Default: Invia l'attaccante nella pagina di default
E-mail & Reindirizza: Invia una e-mail all' (agli) Admin(s) del sito e invia l'attaccante in una pagina precedentemente definita
E-mail & Pagina di Default: Invia una e-mail all' (agli) Admin(s) del sito e invia l'attaccante nella pagina di default
E-mail, Blocca & Reindirizza: Invia una e-mail all' (agli) Admin(s) del sito, blocca l'IP dell'attaccante aggiungendolo nella lista .htaccess e nel database, e lo invia in un URL precedentemente definito
E-mail, Blocca, & Pagina di Default: Invia una e-mail all' (agli) Admin(s) del sito, blocca l'IP dell'attaccante aggiungendolo nella lista .htaccess e nel database, e invia l'attaccante nella pagina di default.

Scrivi su htaccess:

(Non disponibile su questo sito)



Le opzioni di questo menu sono:

Si:Scrive l'IP bloccato nell'archivio .htaccess
No: Non scrive l'IP bloccato nell'archivio .htaccess


Reindirizza a


Indica un URL al quale saranno reindirizzati gli IPs bloccati

Tipo di blocco


Potete scegliere tra le seguenti opzioni:
IP Completo (127.2.3.4) : Blocco di IP specifico che verrà addizionato al file .htaccess e al database
1 ottetto (127.2.3. *) : Blocco o Subnet di IP che verrà addizionato al file .htaccess e al database
2 ottetti (127.2. *. *) : Blocco o Subnet di IP che verrà addizionato al file .htaccess e al database
3 ottetti (127. *. *. *) : Blocco o Subnet di IP che verrà addizionato al file .htaccess e al database

Pagina di Default

Da qui potete selezionare il template di blocco specifico a cui inviare l'attaccante. Le pagine potranno corrispondere al tipo di attacco.

Traccia IP

Ci sono due opzioni On e Off.

On: Vengono incluse informazioni dettagliate nella email che viene inviata all'amministratore del sito.
Off: Non vengono incluse informazioni dettagliate nella email che viene inviata all'amministratore del sito.

Motivo del Blocco

In questo box potete scrivere un testo con il motivo per il quale l'IP è stato bloccato.

Durata del Blocco


Potete scegliere tra queste opzioni:
Permanente: Questo tipo di blocco non ha una scadenza. L'IP potrà essere rimosso solo quando l'amministratore lo cancellerà dal database.
Giorni da 1 a 365: Questo tipo di blocco dura per un certo tempo. Il blocco dell'IP scadrà al raggiungimento dei giorni che avete scelto.

Tutti i settaggi degli altri tipi di blocco utilizzano lo stesso schema che abbiamo analizzato.

Esempi di Email ricevute con segnalazione di attacco
A titolo di esempio riproduciamo alcune email che ci sono pervenute da quando abbiamo installato Sentinel. Per problemi di spazio solo la prima email viene mostrata nella sua interezza mentre delle successive viene mostrata solo la parte superiore che contiene le informazioni più importanti. Preparatevi a ricevere un buon numero di queste email specie se il vostro sito ha un buon traffico, noi siamo arrivati a riceverne anche 30 al giorno. Attenzione però perchè alcune segnalano dei falsi attacchi che scaturiscono a causa della sensibilità di Sentinel quando settato a livelli alti. In particolare abbiamo constatato che una delle aree più suscettibili è risultata essere il bloccoMessenger specie quando vengono inseriti messaggi lunghi o con qualche stringa contenente URL.



 


Testo, immagini e loghi (esclusi quelli registrati) sono proprietà intellettuale di Gennaro Cinquegrana
© 2004 www.phpnukefordonkeys.com





Questo Articolo proviene da PHP-Nukefordonkeys.com
http://www.phpnukefordonkeys.com

L'URL per questa storia è:
http://www.phpnukefordonkeys.com/modules.php?name=Sections&op=viewarticle&artid=176