Gnu-linux-e-i-log-parte 3
19 Marzo 2020Tcp / Ip parte 1
25 Marzo 2020
I Log questi sconosciuti, cosa fanno, cosa registrano, ma la cosa più importante tra tutte oltre a dove li trovo e a che servono?
Registri delle applicazioni
Oltre alla miriade di log specifici del sistema, è possibile accedere anche ai diversi log usati da determinate applicazioni. Se si elenca il contenuto della sottodirectory /var/log ,è possibile notare dei file contenenti i nomi di alcune applicazioni installate, come /var/log/apache2 rappresenta il log del server Apache, o /var/log/samba, che contiene i log del server Samba. Questa sezione introduce alcuni esempi specifici dei registri delle applicazioni e le informazioni contenute in essi.
Registro di Apache
I file di registro di apache vengono memorizzati nella cartella /var/log/apache2. All’interno di questa directory sono presenti due differenti file di log, uno contenente le informazioni riguardanti le richieste d’accesso al server (/var/log/apache2/access.log), l’altro per i messaggi d’errore (/var/log/apache2/error.log).
- Posizione: /var/log/apache2/
- Esempio:
- grep “82.211.81.166” /var/log/apache2/access.log | less
- grep “Mac OS X” /var/log/apache2/access.log | less
grep “shutting down” /var/log/apache2/error.log | less
Registro del sistema di stampa CUPS
Anche il Common Unix Printing System (CUPS) registra la propria attività all’interno di un file di log. Nel caso si debba risolvere qualche problema legato al servizio di stampa di Ubuntu, tale registro potrebbe rivelarsi un buon punto di partenza.
- Posizione: /var/log/cups/error_log
- Esempio:
grep reload /var/log/cups/error_log | less
Log di Rootkit Hunter
Il comando rkhunter effettua dei controlli nel sistema per verificare la presenza di backdoor, sniffer, rootkit e altre applicazioni indesiderate.
- Posizione: /var/log/rkhunter.log
- Esempio:
grep WARNING /var/log/rkhunter.log | less
Registro di Samba
Il server Samba è solitamente usato per la condivisione di file fra sistemi compatibili. Samba conserva tre tipi di log differenti nella sottodirectory /var/log/samba:
- log.nmbd : Annota tutti i messaggi relativi al NETBIOS Samba sopra la funzionalità dell’IP
- log.smbd : Annota tutti i messaggi relativi alle funzionalità del SMB/CIFS Samba
- log.[IP_ADDRESS] : Annota i messaggi relativi alle richieste per i servizi dall’indirizzo IP presente nel nome del file, per esempio, log.192.168.1.1.
- Posizione: /var/log/samba
- Esempio:
- grep “master browser” /var/log/samba/log.nmbd | less
- less /var/log/samba/log.nmbd
- grep started /var/log/samba/log.smbd | less
less /var/log/samba/log.192.168.99.99
Registro di X
Il server grafico X memorizza le proprie attività all’interno del file /var/log/Xorg.0.log.
- Posizione: /var/log/Xorg.0.log
- Esempio:
grep freetype /var/log/Xorg.0.log | less
Log non umanamente intellegibili
Tra i vari file presenti in /var/log ve ne sono alcuni destinati ad essere letti da particolari applicazioni, non necessariamente da esseri umani. Quelli che seguono sono degli esempi di questi particolari tipi di registro.
Registro degli accessi falliti
È possibile visualizzare il log degli accessi falliti al sistema tramite il comando faillog.
- Posizione: /var/log/faillog
- Esempio:
faillog
Registro degli ultimi accessi
È possibile esaminare il registro degli utlimi accessi effettuati tramite il comando lastlog.
- Posizione: /var/log/lastlog
- Esempio:
lastlog | less
Registro degli accessi
È possibile esaminare il registro in questione in modo da conoscere gli utenti attualmente loggati nel sistema attraverso il comando who.
- Posizione: /var/log/wtmp
- Esempio:
who
System Logging Daemon
Il System Logging Daemon, o syslogd, è un servizio di sistema che ha il compito di ricevere, reindirizzare (in locale o attraverso la rete) e memorizzare i messaggi di log proveniente dagli altri sottosistemi (servizi, applicazioni etc).
Configurazione
Il file di configurazione /etc/syslog.conf contiene la configurazione del servizio syslogd. La spiegazione del contenuto di tale file esula dagli scopi della presente guida. Consultare la sezione Ulteriori risorse.
Inviare messaggi al registro di sistema
Il comando logger permette di inserire messaggi in uno dei log del sistema (ad esempio /var/log/syslog) in modo arbitrario. Tale comando è uno strumento molto potente che è possibile usare per inserire delle informazioni all’interno del log di sistema quando necessario, oppure all’interno di script amministrativi. Per esempio, se il proprio nome utente è mario e si desidera inserire un messaggio nel syslog a proposito di una modifica effettuata ad un file di configurazione del sistema, si può digitare un commando simile al seguente in un terminale:
logger Ho abilitato il composito nel file /etc/X11/xorg.conf
Nel file /var/log/syslog comparirà una riga simile alla seguente:
Jan 12 23:17:02 localhost mario: Ho abilitato il composito nel file /etc/X11/xorg.conf
È possibile usare il comando in questione all’interno di script, come nell’esempio seguente, in modo da implementare un semplice sistema di logging degli errori:
#
# sample logger error jive
#
logmsg=”/usr/bin/logger -s -t IlMioScript “
# announce what this script is, even to the log
$logmsg “Directory Checker FooScript Jive 1.0”
# test for the existence of Fred’s home dir on this machine
if [ -d /home/fred ]; then
$logmsg “I. La directory Home di Fred è presente nel sistema.”
else
$logmsg “E. Fred non ha una directory Home nel sistema.”
exit 1
fi
Lo script in questione (chkdir.sh), se eseguito su una macchina butters dove l’utente Fred non ha una cartella Home, /home/fred, restituisce i seguenti risultati:
bumpy@butters:~$./chkdir.sh
MyScript: Directory Checker FooScript Jive 1.0
MyScript: E. Fred’s Home Directory was NOT Found. Boo Hoo.
bumpy@butters:~$tail -n 2 /var/log/syslog
Jan 12 23:23:11 localhost IlMioScript: Directory Checker FooScript Jive 1.0
Jan 12 23:23:11 localhost IlMioScript: E. Fred non ha una directory Home nel sistema
È facile notare come i messaggi siano stati inviati sia al terminale che al syslog.
Rotazione dei log
A intervalli di tempo predefiniti, i file di log vengono prima ruotati, ovvero automaticamente rinominati e sostituiti da nuovi file, dunque compressi con gzip, allo scopo di ridurre lo spazio necessario alla loro memorizzazione, mantenendoli però sempre disponibili per controlli futuri.
Il comando logrotate si occupa della rotazione dei file di log. Di norma, logrotate, il cui file di configurazione risiede in /etc/logrotate.conf, viene lanciato a intervalli periodici dal servizio cron.
Parte 1 https://www.afinformatica.it/blog/2020/03/19/gnu-linux-e-i-log-parte-1/
Parte 2 https://www.afinformatica.it/blog/2020/03/19/gnu-linux-e-i-log-parte-2/
Parte 3https://www.afinformatica.it/blog/2020/03/19/gnu-linux-e-i-log-parte-3/
