Multi Tail ed i file di Log

MultiTail by Vanheusden

Immagine presa dal sito del produttore di MultiTail
(http://www.vanheusden.com/multitail/)

Come tenere sotto controllo piu’ file di Log : 

Uno dei comandi piu’ utilizzati dagli amministratori di sistema e’ TAIL , che permette di tenere sotto controllo i log, ossia quei preziosi file di testo nei quali sono presenti innumerevoli quantita’ d’informazioni utili alla corretta gestione di un sistema e del funzionamento dei molti software installati.
Basta infatti, ad esempio, digitare il comando # sudo tail -f /var/log/syslog per poter leggere gli ultimi messaggi che il kernel ha inviato alla console. In alcuni casi pero’ non basta poter controllare un solo file di log per volta finendo cosi’ per aprire piu’ finestre del terminale (una per ogni file di log che si deve controllare) o a dover stabilire piu’ connessioni ssh (nel caso si stia accedendo remotamente ad un sistema).
Una valida alternativa che ci permette di evitare il prolificare di finestre e sessioni e’ multitail , un’utility che ci consente di monitorare contemporaneamente, all’interno della stessa finestra del terminale, piu’ file di log. Il suo utilizzo e’ decisamente semplice, infatti basta ricorrere piu’ volte , all’interno del comando, all’opzione ” -i ” seguita dal nome del file  di log che si vuole controllare per veder comporsi la pagina del terminale con piu’ istanze di tail attive. Ad esempio, digitando :

sudo multitail -i /var/log/syslog -i /var/log/ufw -i /var/log/cups/access.log -i /var/log/samba/log.smbd

la finestra del terminale verra’ divisa in quattro parti (orizzontalmente) e verranno visualizzati contemporaneamente i file precedentemente indicati nel comando. Per uscire da questa visualizzazione e’ sufficiente premere il tasto ” 

Fail2ban – fuori i curiosi

Spesso capita, persino in ufficio, di dover proteggere la propria privacy da curiosi o male intenzionati e fail2ban ha sempre svolto egregiamente il suo compito di guardiano del castello, infatti si tratta di un programma che tiene sotto monitoraggio alcuni file di log e, quando rileva dei tentativi ripetuti & falliti (configurabili) di accedere ad un determinato servizio provvedera’ al blocco dell’host incriminato, a livello d’indirizzo IP, aggiungendolo alle regole di firewall di IPTABLES.

Bene, installiamolo ! :  /$ sudo apt-get install fail2ban

Appena installato il pacchetto saranno gia’ in esecuzione alcune regole abilitate di default come ad esempio quella per bloccare gli IP che falliscono gli accessi SSH ecc….

Fail2ban viene installato in modalita’ demone, sara’ quindi possibile gestirne lo start & stop tramite i comandi

/etc/init.d/fail2ban  start/stop      oppure       service fail2ban  start/stop

I file di configurazione si trovano in /etc/fail2ban, in particolare prestiamo attenzione al file “jail.conf” il quale contiene le configurazioni di base del pacchetto e suo relativo uso. Dal manuale viene consigliato di non modificare i file di conf originari ma di creare una copia locale tramite (es.) : /etc/fail2ban$ sudo cp jail.conf jail.local 

Andremo ora ad impostare all’interno di quest’ultimo file le regole di filtraggio per i vari servizi di nostro interesse.

Ogni regola e’ indicata dal nome della regola, scritta tra parentesi quadre, a cui fanno seguito i parametri che vogliamo impostare, seguiti da un simbolo  ” = ” e dal valore che vogliamo assegnare alla regola, facciamo un esempio lavorando su alcuni parametri di Default e sulla regola di filtraggio del servizio SSH :

[DEFAULT]
ignoreip = 127.0.0.1 192.168.xx.xx
bantime = 600
maxretry = 3
backend = polling
destemail = root@localhost
action = iptables[name=%(__name__)s, port=%(port)s]

…in questo esempio stiamo dicendo al programma di non considerare nei filtri le richieste di autenticazione errate provenienti dall’IP locale (127.0.0.1) e da un IP fidato della nostra rete (192.168.xx.xx). Il secondo parametro imposta il tempo di “ban” ossia la quantita’ di tempo (espressa in secondi) per cui vogliamo che fail2ban tenga nelle regole di Iptables

l’IP da ‘bannare’ / bloccare [600 secondi = 10 minuti], mentre il parametro ‘maxretry’ indica quanti tentativi errati di connessione lasciamo attivi prima di bannare l’IP, le ultime tre righe lavorano insieme, in pratica il polling e’ il metodo di gestione degli allarmi a cui, una volta scattato l’allarme, viene fatta mandare una mail al destinatario sotto indicato.

Passiamo adesso alla sezione del servizio SSH :

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5

i parametri in questo caso sono presto spiegati, la prima riga dice di abilitare il controllo su questo servizio, indicando come porta da monitorare quella del servizio SSH (che come standard ascolta sulla 22) e come demone associa SSHD, indicando il percorso contenente il file di log da cui leggere per verificare i tentativi di accesso; l’ultimo parametro indica il valore del numero di accessi negati da trovare nel file di log prima che l’IP venga bloccato dalle regole di firewall Iptables.

Al termine della configurazione delle regole di nostro interesse sara’ necessario riavviare il servizio cosi’ come indicato precedentemente e magari provare ad accedere da qualche altro PC, sbagliando volontariamente la password di accesso in ssh cosi da poter sperimentare l’effettivo funzionamento dei filtri.

Per verificare il funzionamento dei filtri su di un servizio e’ anche possibile utilizzare il comando del client fail2ban:

  • sudo fail2ban-client status ssh 

dalla versione 8.8 in poi e’ anche possibile “unbannare” ossia togliere dall’esclusione degli accessi un IP precedentemente bloccato tramite il comando : sudo fail2ban-client set ssh unbanip <ip da sbloccare>