14/12/2011
Abilitare e configurare il logging dei comandi lanciati da shell sul router Cisco 837
Non finirò mai di ribadire quanto sia importante "registrare" tutto ciò che accade sul nostro router, in modo da avere il pieno controllo su di esso. Tra i log "di vitale importanza" rientrano sicuramente quelli relativi ai comandi lanciati da shell: tale mini-guida ha come scopo principale proprio quello di illustrare la procedura per abilitare e configurare i log citati in precedenza.
Per prima cosa entriamo in modalità enable e successivamente accediamo alla modalità di configurazione del nostro router:
router>ena
router#conf t
Adesso posizioniamoci nell'archivio, ovvero dove verranno salvati i log che ci interessano:
router(config)#archive
Abilitiamo quindi il logging vero e proprio:
router(config-archive)#log config
router(config-archive-log-cfg)#logging enable
e successivamente configuriamolo, imponendogli di spedire i log al nostro logserver, avendo cura però di nascondere le eventuali password che verranno digitate in futuro (hidekyes):
router(config-archive-log-cfg)#notify syslog
router(config-archive-log-cfg)#hidekeys
router(config-archive-log-cfg)#exit
router(config-archive)#exit
Impostiamo il livello dei log da inviare al logserver (in questo caso settandolo su informational):
router(config)#logging trap informational
ed infine salviamo la configurazione:
router(config)#exit
router#copy run start
Da ora in poi il nostro logserver terrà traccia dei comandi lanciati dalla shell del router.
Bye.
PS: se non sapete come abilitare l'invio dei log su un server apposito, potete utilizzare questo post come riferimento.
PPS: il logging level da impostare sul server per poter ricevere i log dei comandi è pari 5 (o superiore).
10:00 Scritto da: nazarenolatella in Networking | Link permanente | Commenti (0) | Segnala | Tag: cisco 837, cisco soho 77, cisco soho 97, log, archive, command, logserver | OKNOtizie |
Facebook
21/03/2011
Monitorare rsyslogd mediante Nagios
Ho già trattato diversi argomenti in cui veniva discussa la corretta configurazione di un logserver basato su sitemi *nix. Ora vedremo come monitorare mediante nagios3 il demone che si occupa della raccolta dei log.
Nella fattispecie, il demone in questione è rsyslogd, evoluzione del più datato syslogd. Esso consente di salvare le informazioni inviate dai vari dispositivi di rete su di un apposito file creato all'occorrenza, in modo da tenere traccia degli eventi più rilevanti.
Ora, tale demone (per default) rimane in ascolto sulla porta 514 ed utilizza per il protocollo UDP per il trasporto. Ciò significa che non è previsto alcun meccanismo di SYN SYN/ACK ACK come invece avviene per il protocollo TCP (molto più affidabile ma allo stesso tempo molto più oneroso in termini di banda).
Detto ciò, vediamo come monitorare lo stato di tale servizio sfruttando nagios3. Per prima cosa scarichiamo questo PERL script.
Successivamente salviamo il file appena scaricato nella directory /usr/lib/nagios/plugins e rinominiamolo in check_syslog:
nightfly@nightbox:/usr/lib/nagios/plugins$ sudo mv check_syslog_02.pl check_syslog
A questo punto rendiamo lo script eseguibile digitando:
nightfly@nightbox:/usr/lib/nagios/plugins$ sudo chmod +x check_syslog
Definiamo il comando attraverso il quale verificheremo il corretto funzionamento di rsyslogd. Per fare ciò occorre creare il file syslogd.cfg il cui contenuto dovrà essere:
# 'check_syslog' command definition
define command{
command_name check_syslog
command_line /usr/lib/nagios/plugins/check_syslog -l '$HOSTADDRESS$' -f '$ARG1$'
}
Posizioniamoci ora nella directory /etc/nagios3/conf.d ed editiamo il file di configurazione relativo al logserver aggiungendo il seguente servizio:
define service{
use generic-service ; Name of service template to use
host_name localhost
service_description Rsyslog
check_command check_syslog!/var/log/syslog
}
A questo punto occorre operare sui permessi di lettura/scrittura associati al file syslog. Per prima cosa posizioniamoci nella directory /var/log e lanciamo un ls -ila | grep syslog:
2097425 -rw-r----- 1 syslog adm 171910 2011-03-21 11:54 syslog
Come possiamo notare il gruppo che ha la possibilita di accedere al file in lettura è adm. Aggiungiamo l'utente nagios al gruppo adm editando il file group presente nella dir /etc:
adm:x:4:nagios
Riavviamo nagios3:
nightfly@nightbox:/etc$ sudo service nagios3 restart
ed abbiamo finito.
A presto.
16:39 Scritto da: nazarenolatella in Networking | Link permanente | Commenti (0) | Segnala | Tag: nagios3, linux, rsyslog, rsyslogd, monitoring, logserver | OKNOtizie |
Facebook
04/01/2011
PIX 501 e logging su una linux box
Un'operazione fondamentale nell'ambito dell'amministrazione di rete o di sistema consiste nella raccolta dei log e nella successiva analisi degli stessi.
Ora, tale raccolta può avvenire localmente (ovvero direttamente sui dispositivi di rete interessati) e/o nell'ambito di server dedicati, detti logserver. E' buona pratica, prima di mettere in produzione uno o più di questi server specializzati nella raccolta dei log, effettuare un hardening del sistema, oltre ad adottare politiche di accesso ristretto. Ciò si rende necessario poichè i log devono rimanere intatti e devono essere protetti da eventuali operazioni di tampering (manomissione, alterazione) messe in atto da un possibile attaccante.
Dopo questa breve premessa, vediamo come abilitare il logging remoto su una linux box e come reindirizzare le informazioni registrate dal nostro firewall (nella fattispecie un PIX 501) verso il logserver stesso.
Linux Box
Per prima cosa occorre accedere in scrittura al file syslogd presente nella directory /etc/default:
nightfly@nightbox:~$ sudo nano /etc/default/syslogd
A questo punto dovremmo visualizzare la seguente stringa:
SYSLOGD=""
alla quale dovremo aggiungere le opzioni -r e -m 0:
SYSLOGD="-r -m 0"
Nella fattispecie, -r abilita il logging remoto mentre -m 0 evita di visualizzare ogni tot minuti (20 per default) entry del tipo -- MARK -- (una sorta di keepalive) all'interno del file di log.
Ora accediamo al file /etc/syslog.conf:
nightfly@nightbox:~$ sudo nano /etc/syslog.conf
ed aggiungiamo la seguente stringa:
local4.4 /var/log/pix.log
dove local4 è il nome usato da syslogd (ovvero il demone che effettua le operazioni di logging) per identificare il firewall, mentre il 4 dopo il . indica il livello di logging che deve essere applicato per il dispositivo di rete in questione. In particolare, i livelli di logging utilizzabili sono i senguenti:
0 - Emergency (emerg)
1 - Alerts (alert)
2 - Critical (crit)
3 - Errors (err)
4 - Warnings (warn)
5 - Notification (notice)
6 - Information (info)
7 - Debug (debug)
Maggiore è il livello di logging, più precise saranno le informazioni salvate. Da notare che ad una maggiore precisione corrisponde un maggior numero di dati registrati, con conseguente saturazione dei file di log in tempi piuttosto brevi (ecco perchè nell'esempio ho scelto il livello 4 e non il livello 7).
Per ciò che concerne la stringa:
/var/log/pix.log
essa specifica il file in cui dovranno essere raccolte le informazioni provenienti dal PIX.
Poichè stiamo utilizzando un file dedicato, è inutile salvare tali informazioni anche su /var/log/syslog. Per fare quindi in modo che ciò non avvenga devo aggiungire la stringa:
local4.none
nelle varie sezioni del file syslog.conf. Ad esempio:
*.*;auth,authpriv.none,local4.none -/var/log/syslog
per la sezione dedicata ai tentativi di autenticazione, oppure:
*.=debug; auth,authpriv.none; news.none;mail.none -/var/log/debug local4.none
per la sezione dedicata alle informazioni di livello 7 (debug), e così via.
Per evitare che il file di log dedicato al PIX raggiunga dimensioni eccessive è buona norma attivare il logrotate. Occorre dapprima creare il file pix nella directory /etc/logrotate.d/
nightfly@nightbox:~$ sudo nano /etc/logrotate.d/pix
ed all'interno di tale file aggiungere le seguenti direttive:
/var/log/pix.log {
rotate 7
daily
compress
missingok
notifempty
}
Nella fattispecie, ogni giorno (daily) verrà generato un nuovo file pix.log, archiviando automaticamente il logfile del giorno precedente. Inoltre, la durata degli archivi è pari ad una settimana (rotate 7), dopodichè essi verranno cancellati.
Riavviamo syslogd per rendere effettive le nuove impostazioni:
nightfly@nightbox:~$ sudo /etc/init.d/sysklogd restart
Verifichiamo che il nostro logserver sia effettivamente in ascolto, digitando:
nightfly@nightbox:~$ sudo nmap -sU localhost
Se visualizzeremo il seguente output:
514/udp open|filtered syslog
significa che la linux box è pronta a ricevere i log provenienti dal PIX.
PIX 501
Non ci resta che abilitare il logging sul PIX, specificando l'indirizzo del logserver:
firewall(config)# logging on
firewall(config)# logging timestamp
firewall(config)# logging trap informational
firewall(config)# logging facility 20
firewall(config)# logging host inside <ip del logserver>
Salviamo le nuove impostazioni mediante il comando
firewall(config)# write mem
ed abbiamo finito. See ya.
Aggiornamento
Se state utilizzando rsyslog anzichè il classico syslog non dovete apportare alcuna modifica al file /etc/default/syslogd, in quanto tale procedura risulta obsoleta. Piuttosto, dovete mettere mano al file /etc/rsyslog.conf:
nightfly@nightbox:~$ sudo nano /etc/rsyslog.conf
ed in seguito decommentare le stringhe:
$ModLoad imudp
$UDPServerRun 514
Riavviate dunque rsyslog digitando:
nightfly@nightbox:~$ sudo service rsyslog restart
ed avete finito.
16:35 Scritto da: nazarenolatella in Networking | Link permanente | Commenti (0) | Segnala | Tag: pix, firewall, logging, logserver, linux | OKNOtizie |
Facebook
















