Monitoriamo il Sistema
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" Debian 8 "jessie" |
Come facciamo a scoprire se veniamo infettati da un RootKit? Con il checksum dei binari di sistema, in questa guida vedremo come fare.
Partiamo dal presupposto che per poter mettere in atto quanto diremo da qui in poi abbiamo bisogno o di una macchina con sistema operativo appena installato o dobbiamo essere sicuri al 300% che la nostra macchina non sia compromessa.
Partiamo con lo scaricarci uno di questi due software: AFICK AIDE (si veda fondo pagina per i link).
Il bello di questi programmi e che oltre che calcolare il checksum dei binari , possono controllare gli accessi, i permessi, il numero di link simbolici e tanto altro ancora, per questa guida io mi baserò su AFICK, a noi interessa il file afick.pl
e afick.conf
il suo file di configurazione.
Mettiamo questi due file in /root
e prepariamoci per modificare il file di configurazione, per esempio:
# esempio di file di configurazione database:=./afick warn_dead_symlinks := yes exclude_suffix := wav WAV mp3 avi =/ d+i+p+u+g =/bin p+n+b+m+c+md5 =/sbin p+n+b+m+c+md5 =/usr/sbin p+n+b+m+c+md5 =/usr/bin p+n+b+m+c+md5
dopo aver controllato che la prima riga di afick.pl
contenga la locazione precisa dell'eseguibile Perl, possiamo passare a inizializzare il database dei nostri binari,digitiamo da console quanto segue:
# ./afick.pl -c afick.conf -i
bene, così abbiamo creato il nostro database di sistema, ora facciamo passare un po' di tempo e poi controlliamo come va.
# ./afick.pl -c afick.conf -k
se non abbiamo modificato nessun binari inserito nel file di configurazione dovrebbe apparirci in risposta dal programma:
Hash Database : numero file scanned 0 changed ecc
bene ora proviamo a modificare qualche file, banalmente:
# touch /sbin/lilo # ln-s /sbin/sulogin /usr/sbin/sulogin
ora rieseguiamo il controllo come prima, questa volta in risposta avremmo:
new symbolic link : /usr/sbin/sulogin changed file : /sbin/lilo changed directory :/usr/sbin
seguito dai dettagli delle varie operazioni compiute.
Dal momento che sappiamo che queste modifiche le abbiamo fatte noi, ora dobbiamo riaggiornare il database:
# ./afick.pl -c afick.conf -u
ora sappiamo usare il nostro Monitor di sistema.
Un consiglio che mi sento di darvi è di aggiungere un controllo al db tramite Cron, in base all'uso della macchina, ogni giorno o ogni 2 ore, vedete voi.
Non è finita qui
Credete che questo basti, invece no. Pensate un momento se un hacker riuscisse a penetrare il vostro sistema; anche se il nostro db fosse conservato in una partizione apposita read-only, se l'hacker riuscisse a guadagnare l'accesso come root potrebbe rimontare la partizione in r/w e compromettere il nostro db, quindi come fare diciamo che sarà la base per un prossimo articolo e si chiama RFC e GRSEC
Link
Un consiglio scaricate pure chkrootkit e utilizzatelo insieme a Cron e al tool per il controllo da voi scelto.
Guida scritta da: TheNoise | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |