|
|
Riga 1: |
Riga 1: |
| ==Introduzione==
| | Nell ultimo articolo eravamo rimasti ai RootKit , ma se siamo infetti come scoprirlo? |
| [http://www.cacti.net Cacti] è un completo strumento per monitorare il sistema che si poggia su snmpd (lo stesso usato anche da mrtg).
| | con il checksum dei binari di sistema , in questa guida vedremo come fare. |
| Uno dei punti di forza di cacti è l'elevata facilità di configurazione, senza per questo non garantire una elevata flessibilità.
| |
|
| |
|
| ==Installazione==
| | Partiamo dal presupposto che per poter mettere in atto quanto diremo da qui in poi abbiamo bisogno o di una macchina con os appena installato o dobbiamo essere sicuri al 300% che la nostra macchina non sia compromessa. |
| Cacti è già disponibile nei repository Debian, e quindi installabile tramite apt-get...
| | Partiamo con lo scaricarci uno di questi 2 software AFICK AIDE (si veda fondo pagina per i link). |
| Per il suo funzionamento richiede un database [http://www.mysql.com mysql] a cui appoggiarsi per memorizzare i dati e il [http://geekcorp.com/snmpd/ server snmpd] per accedere ai dati da elaborare, oltre a questi programmi, inoltre, è necessario installare (o avere già configurato) il webserver [http://www.apache.org Apache] con l'estensione [http://www.php.net PhP].
| | |
| | Il bello di questi programmi e che oltre che calcore il checksum dei binari , possono controllare gli accessi , i permessi , il numero di link simbolici e tanto altro ancora,per questa guida io mi basero' su AFICK , a noi interessa il file afick.pl e afick.conf il suo file di configurazione. |
| | mettiamo questi 2 file in /root e prepariamoci per modificare il file di conf per esempio: |
|
| |
|
| Se, quindi, queste cose non sono presenti, consiglio di installarle:
| |
| <pre> | | <pre> |
| # apt-get install snmpd mysql-server | | # esempio di file di conf |
| | 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 |
| </pre> | | </pre> |
|
| |
|
| nella sezione ''configurazione'' analizzeremo la configurazione di questi due server.
| | 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: |
|
| |
|
| Ora installiamo cacti (che installerà anche ''apache'', ''php4'', ''php4-mysql'', ''php4-cli'', e altre applicazioni necessarie al suo funzionamento):
| |
| <pre> | | <pre> |
| # apt-get install cacti | | # ./afick.pl -c afick.conf -i |
| </pre> | | </pre> |
|
| |
|
| Durante l'installazione di cacti, verranno poste delle domande (che qui riporto con delle risposte di esempio):
| | bene cosi' abbiamo creato il nostro database di sistema , ora facciamo passare un po di tempo e poi controlliamo come va' |
| * '''MySQL server host name ''': ''localhost'';
| |
| * '''Database name for cacti ''': ''cacti'';
| |
| * '''Cacti database username''': ''cacti'';
| |
| * '''Cacti user password''': ''cactipass'';
| |
| * '''Webserver type''': nel nostro caso selezioniamo ''Apache-SSL'', ma è possibile effettuare la scelta più conveniente per il proprio sistema.
| |
| | |
| {{Box|Nota Bene|durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito}}
| |
|
| |
|
| ==Configurazione==
| |
| ===MySql===
| |
| Se è la prima installazione di MySql sulla macchina, è consigliato cambiare la password di root in quanto, di default, non è impostata:
| |
| <pre> | | <pre> |
| #/usr/bin/mysql | | # ./afick.pl -c afick.conf -k |
| mysql> set password for root@localhost=password('rootpw');
| |
| mysql> exit
| |
| </pre> | | </pre> |
|
| |
|
| Una volta impostata, procediamo con la creazione del database e dell'utente che avrà accesso al database ''cacti'';
| | se non abbiamo modificato nessun binari inserito nel file di configurazione dovrebbe apparirci in risposta dal programma: |
| | |
| <pre> | | <pre> |
| mysql> create database cacti;
| | Hash Database : numero file scanned 0 changed ecc |
| mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipass';
| |
| mysql> flush privileges;
| |
| mysql> exit
| |
| </pre> | | </pre> |
|
| |
|
| Ora non ci resta che sistemare il database, creando le tabelle ed inserendo i dati necessari:
| | bene ora proviamo a modificare qualche file, banalmente: |
| | |
| <pre> | | <pre> |
| # zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u root -p cacti | | # touch /sbin/lilo |
| | # ln-s /sbin/sulogin /usr/sbin/sulogin |
| </pre> | | </pre> |
|
| |
|
| Bene, la configurazione di MySql è terminata.
| | ora rieseguiamo il controllo come prima, questa volta in risposta avremmo: |
| | |
| ===Snmpd===
| |
| La configurazione di snmpd, se cacti è installato sulla stessa macchina che si vuole monitorare, è limitata a dare l'accesso in lettura a snmpd, così da permetterne l'interrogazione da parte di cacti.
| |
|
| |
|
| Per fare questo, modifichiamo il file '''/etc/snmp/snmpd.conf''' con il nostro editor di testo preferito, e facciamo in modo che le righe:
| |
| <pre>
| |
| com2sec paranoid default public
| |
| #com2sec readonly default public
| |
| #com2sec readwrite default private
| |
| </pre>
| |
| diventino:
| |
| <pre> | | <pre> |
| #com2sec paranoid default public
| | new symbolic link : /usr/sbin/sulogin |
| com2sec readonly 127.0.0.1 public
| | changed file : /sbin/lilo |
| #com2sec readwrite default private
| | changed directory :/usr/sbin |
| </pre> | | </pre> |
|
| |
|
| Una volta salvato il tutto, riavviamo snmpd con un semplice:
| | seguito dai dettagli delle varie operazioni compiute. |
| <pre>
| |
| # /etc/init.d/snmpd restart (oppure reload)
| |
| </pre>
| |
|
| |
|
| ===Php===
| | Dal momento che sappiamo che queste modifiche le abbiamo fatte noi |
| Cacti utilizza php sia come estensione di apache, sia come ''cli'' (common line interpreter).
| | ora dobbiamo riaggiornare il database: |
| Per evitare problemi, è necessario controllare che l'estensione per mysql sia abilitata nei seguenti file:
| |
| * '''/etc/php4/cli/php.ini''' per quanto riguarda php4-cli;
| |
| * '''/etc/php4/apache/php.ini''' per quanto riguarda php e apache.
| |
|
| |
|
| La modifica di questi file consiste, in pratica, nella rimozione del ''';''' di commento alla seguente riga:
| |
| <pre> | | <pre> |
| ;extension=mysql.so
| | # ./afick.pl -c afick.conf -u |
| </pre> | | </pre> |
|
| |
|
| ===Cacti===
| | ora sappiamo usare il nostro Monitor di sistema. |
| Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo:
| |
| | |
| http://localhost/cacti (se è stato scelto Apache/Apache2)<br/>
| |
| https://localhost/cacti (se è stato scelto Apache-SSL)
| |
| | |
| per completare l'installazione.
| |
| | |
| Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/>
| |
| Selezioniamo ''New Install'' e controlliamo che i dati riportati siamo corretti, altrimenti è possibile modificarli nel file '''/etc/cacti/debian.php''', dopo di che andiamo avanti;<br/>
| |
| Nella pagina di riepilogo degli eseguibili, controlliamo che siano stati rilevati tutti, altrimenti è necessario installarli manualmente, come '''SNMP Utility Version''' selezioniamo la 2°: ''NET-Smtp .x'';<br/>
| |
| | |
| Ora siamo davanti alla schermata di LogIn.<br/>
| |
| I dati per la prima autenticazione sono:<br/>
| |
| '''Username:''' ''admin''<br/>
| |
| '''Password:''' ''admin''
| |
| | |
| verremo obbligati a cambiare password: facciamolo!!!
| |
| | |
| ==Aggiunta di Monitor==
| |
| Ora il sistema è pronto per essere configurato: dopo aver effettuato il login, infatti, potremo accedere a due aree distinte: ''Console'' e ''Graphs''; la prima rappresenta il centro di controllo, da dove è possibile aggiungere nuovi monitor (''New Graphs'') od aggiungere nuovi computer, router o altro (''Devices'').
| |
| | |
| L'aggiunta è molto intuitiva, per quanto riguarda l'utilizzo dei monitor già presenti, e normalmente non necessita di modifiche se non riguardanti l'aspetto (colori, unità di misura).
| |
|
| |
|
| ==Gestione Utenti==
| | Uun consiglio che mi sento di darvi e di aggiungere un controllo al db tramite cron in base all uso della macchina ogni giorno ogni 2 ore vedete voi. |
| Cacti permette la gestione degli utenti, in modo da rendere possibile la visualizzazione delle statistiche ad utenti anonimi (opzione abilitata di default) tramite la pagina https://localhost/cacti/graph_view.php?action=tree, oltre alla definizione di utenti con facoltà ristrette (limitazioni a determinate aree e/o funzioni).
| |
| Tutte le opzioni sono modificabili tramite la voce ''User Management'' presente nel menù di sinistra della sezione ''Console''. Le opzioni disponibili sono autoesplicative, e di facile gestione.
| |
| L'utente ''guest'' è quello utilizzato per l'accesso anonimo.
| |
|
| |
|
| ==Personalizzazione== | | ==Non � finita qui== |
| Cacti permette una vasta gamma di personalizzazioni, che vanno dall'aggiunta di macchine da monitorare, alla definizione di nuove sorgenti di dati, ottenibili tramite snmp o script ad hoc.
| | 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 la root potrebbe rimontare la partizione in r/w e compromettere il nostro db, quindi come fare diciamo che sara' la base per un prossimo articolo e si chiama RFC e GRSEC |
|
| |
|
| Vediamo nel dettaglio come implementare queste soluzioni.
| |
|
| |
|
| ==Utilizzo Avanzato== | | ==Link== |
| ===Monitorare più macchine===
| |
| Se siamo in una rete dove sono presenti più macchine, risulta utile e comodo avere sotto controllo il loro funzionamento...
| |
| Cacti ci viene in contro anche in questo, permettendo di monitorare diverse macchine (definite ''Devices''), il tutto in modo semplice e molto intuitivo.
| |
|
| |
|
| ====Configurazione della macchina====
| | http://www.afick.sourceforge.net |
| Prenderemo in esame il caso in cui la macchina da monitorare sia un computer con linux (per router, switch ed altri dispositivi simili, si rimanda al manuale specifico).
| | http://www.cs.tut.fi/~rammer/aide.html |
| Per permettere l'accesso al server snmpd, è sufficiente effettuare la modifica che è stata apportata precedentemente alla macchina su cui è stato installato cacti.
| |
|
| |
|
| ====Configurazione di Cacti====
| | Un consiglio scaricate pure chkrootkit e aggiungetelo al cron insieme al tool per il controllo da voi scelto. |
| Per aggiungere un nuovo ''Device'', è necessario seguire i seguenti passi:
| |
| * posizionarsi nella sezione '''console''';
| |
| * selezionare '''Devices''' dalla sezione '''Management''' nella barra di sinistra;
| |
| * selezionare il bottone '''Add''' dalla barra in alto;
| |
| * completare il form inserendo i dati richiesti:
| |
| :; Description : Il nome che si vuole dare al Device;
| |
| :; Hostname : l'indirizzo ip o il [[ FQDN ]] del Device;
| |
| :; Host Template : il tipo di dispositivo (in questo caso ''Linux Local Machine'');
| |
| :; SNMP Options : le opzioni per la connessione al server snmpd del device; sono corretti (nella maggioranza dei casi) i valori di default;
| |
| * nella pagina che segue è possibile selezionare ''Create Graphs for this Host'', per accedere alla sezione dove indicare quali monitor attivare;
| |
| * da quel momento, inizierà il monitoraggio del device appena aggiunto.
| |
|
| |
|
| | http://www.chkrootkit.org |
|
| |
|
| Per aggiungere il device alla ''Visualizzazione ad Albero'', è necessario andare in Console->Graph Trees->Default Tree->Add e aggiungere il device, impostando '''Host''' come ''Tree Item Type''.
| | ---- |
| | Autore: debian |
| | [[Categoria:Sicurezza]] |
| | [[Categoria:Networking]] |