Cacti: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
(→‎MySql: typo)
mNessun oggetto della modifica
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]]