Server di log centralizzato CentOS 5.5



Documenti analoghi
Apache 2, PHP5, MySQL 5

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

CONFIGURARE SAMBA 3 SU SUSE LINUX 9.1/9.2

Configurazione WAN (accesso internet)

ARCHIVIA PLUS VERSIONE SQL SERVER

I tutorial di MadLabs.. Installazione e prima configurazione

Manuale per la configurazione di AziendaSoft in rete

PORTALE CLIENTI Manuale utente

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Guida all installazione di Easy

PHP, MySQL e Linux con RedHat 7.2

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

INSTALLAZIONE JOOMLA

FPf per Windows 3.1. Guida all uso

NOTE TECNICHE DI CONFIGURAZIONE. Giugno 2009

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla!

SOMMARIO COSA SERVE... 2 PRIMA DI INIZIARE... 2 COME PROCEDERE LATO SERVER... 3 COME PROCEDERE LATO CLIENT... 3

Mac Application Manager 1.3 (SOLO PER TIGER)

GateManager. 1 Indice. tecnico@gate-manager.it

Guida all installazione e configurazione di Joomla 1.5

Capitolo 1 Installazione del programma

REGISTRAZIONE. Che applicativi devo scegliere per la registrazione all Osservatorio?...2

HORIZON SQL CONFIGURAZIONE DI RETE

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Xampp. Valeriano Maysonnave - A.A. 2014/2015 -

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

MODEM USB MDC525UP Guida Rapida LINUX

Il web server Apache Lezione n. 3. Introduzione

Quindi: 1: Attivarvi se non lo avete già, un indirizzo con google

Installare Ubuntu su macchina virtuale

Software di gestione della stampante

MANUALE PARCELLA FACILE PLUS INDICE

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Visual basic base Lezione 01. L'ambiente di sviluppo

Migrazione dell account di POSTA CERTIFICATA del GOVERNO

Configurazione Client di Posta Elettronica

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Installazione & Configurazione Php e MySQL su Mac Os X. Php

installazione

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

e/fiscali - Rel e/fiscali Installazione

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

MANUALE UTENTE Fiscali Free

Procedura di abilitazione alla Rete di Lombardia Integrata

Dropbox e' il popolare servizio che permette di sincronizzare file tra terminali differenti. Sfortunatamente

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Guida all'installazione del CMS Joomla

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

1) GESTIONE DELLE POSTAZIONI REMOTE

Servizio di Posta elettronica Certificata (PEC)

Creazione e installazione di un NAS utilizzando FreeNAS

FtpZone Guida all uso

Non sono supportate reti peer to peer, è necessario avere un server dedicato.

Questa guida è scritta per distribuzioni Debian/Ubuntu-like con l'attuale kernel : 2.6.xx. Per verificare l'attuale kernel linux, digitare

Guida all'installazione del CMS PrestaShop

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

1.0 GUIDA PER L UTENTE

Digital Persona Client/Server

Joomla: Come installarlo e come usarlo. A cura di

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

Guida all'installazione del CMS Magento

SHOCKSMS SMS SENZA LIMITI. Invia SMS al tuo elenco di contatti in tempo reale. Basta un pc, una chiavetta internet ed una SIM telefonica

FORMAZIONE PROFESSIONALE

FRANCESCO MARINO - TELECOMUNICAZIONI

Come condividere l accesso internet tramite chiavetta HSPDA di 3 (o altro operatore) con un Ipod Touch via WIFI

FtpZone Guida all uso Versione 2.1

File, Modifica, Visualizza, Strumenti, Messaggio

DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7

Guida TrueCrypt. Marino dott. Domenico Leone Angela. Divisione Sicurezza Dati

6. Predisposizione di un Web server di sviluppo

VADEMECUM TECNICO. Per PC con sistema operativo Windows XP Windows Vista - Windows 7

Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Guida all installazione e all aggiornamento di Virtuemart 2.0.x

Ast-Rubrica 1.4. Manuale. Del 26 Aprile 2009

ISTRUZIONI PER L INSTALLAZIONE DEL PROGRAMMA PER L INVIO AUTOMATICO DELLE FATTURE VIA

su Windows XP con schede D-Link DWL 650+

BACKUP APPLIANCE. User guide Rev 1.0

AGGIORNAMENTO DATI SU PORTALE DOCENTI

GUIDA UTENTE PRIMA NOTA SEMPLICE

Servizio di Posta elettronica Certificata (PEC)

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

D R O P B O X COS È DROPBOX:

XTOTEM offline sul proprio PC

MyFRITZ!, Dynamic DNS e Accesso Remoto

Argo Palm Manuale utente Versione del

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

MANUALE CANTINA 04.01

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

COSTER. Import/Export su SWC701. SwcImportExport

Studio Legale. Guida operativa

Installazione del software Fiery per Windows e Macintosh

GESCO MOBILE per ANDROID

Transcript:

Server di log centralizzato CentOS 5.5 Premessa: Dopo aver girovagato in rete alla ricerca di informazioni e guide, dopo averle provate tutte con scarsi risultati, attingendo qua e là, spulciando i vari messaggi d'errore finalmente il syslog server è pronto e funzionante. Alla fine di questa guida verranno registrati tutti i log senza nessun filtro o distinzione sul server syslog. Obiettivo: Centralizzare i log dei server, avere un'interfaccia ai log raccolti. Macchine: 1 server centos 5.5 fresco, appena installato proprio per diventare il syslog server, installazione di solo server senza gui 1 server debian etch, per questo, essendo una distro "vecchia" ho dovuto trovare un backport di rsyslog, server in produzione 1 server centos 5.2, server in produzione 1 pc windows xp professional, questo per testare i vari agent prima di andare a modificare il registro dei server windows in produzione Predisposizione del server: Attenzione: yum, chkconfig e service sono comandi di CentOS, con altre distribuzioni dovrete utilizzare i relativi equivalenti (a. e yum -> apt-get per debian) La macchina a mia disposizione è un AMD athlon 2400+ con 512MB ram e un HDD da 40GB, installazione dal dvd appena scaricato di CentOS 5.5, nella selezione del software ho lasciato solo Server (quello senza interfaccia grafica, che non serve ai nostri scopi). Ho configurato il server con indirizzo ip statico, questo per semplificarmi la configurazione di tutti i client che dovranno inviare i messaggi senza che debbano risolverne il nome con DNS, selinux disabilitato per evitare eventuali problemi. A questo punto passiamo all'installazione dei pacchetti necessari, per realizzare questo server useremo rsyslog appoggiato a mysql,probabilmente qualche pacchetto sarà già presente: Autenticati come root installare mysql, impostarlo per l'avvio automatico ed avviarlo: yum install mysql-server chkconfig mysqld on service mysql start I pacchetti del server di log nei repository sono alla versione 3.22.x, procediamo a installare dai sorgenti l ultima stable alla data del 28/05/2010 la ver. 5.4.0. Utilizzando mysql come back-end è necessario per la compilazione (oltre all ambiente di sviluppo) anche le librerie mysql: yum install mysql-devel gcc Recuperiamo i sorgenti dal sito ufficiale: http://www.rsyslog.com/downloads-req-viewsdownloadsid-1.phtml

Ora procediamo con la compilazione e l installazione, date un occhiata ai vari flag che ho abilitato e se pensate di non averne bisogno toglieteli, sono abbastanza semplici da capire: tar xzf nomepacchetto cd nomepacchetto./configure CFLAGS="-march=i586 -mcpu=i686 -fomit-frame-pointer -std=c99" --enabletestbench=yes --enable-rtinst=yes --enable-debug=yes --enable-imfile --enable-valgrind --enableklog --enable-mail --enable-diagtools --enable-zlib --enable-omtemplate --enable-omstdout -- enable-omprog --enable-imdiag --enable-mysql make make install A questo punto, se la compilazione è andata a buon fine troveremo i binari in /usr/local/sbin e possiamo passare alla configurazione del demone. Creiamo il database per i log utilizzando il modello che ora troviamo in /mytemp/rsyslog- 5.4.0/plugins/ommysql, fate attenzione alla data di realizzazione di questa guida, con versioni successive di rsyslog il file potrebbe essere in altra posizione e con un altro nome. mysql < /mytemp/rsyslog-5.4.0/plugins/ommysql /createdb.sql Accedere a mysql con utenza root e provvedere ai privilegi per l'utenza di rsyslog mysql -uroot grant all on Syslog.* to syslog@localhost identified by 'nuovapassword'; Ora passiamo ai file di configurazione di rsyslog, sono poche modifiche per avere tutto funzionante, come editor io utilizzo nano, voi utilizzate quello che più vi piace: Copiamodalla cartella dei sorgenti il file di configurazione base e poi lo modifichiamo: cp rsyslog.conf /etc/rsyslog.conf (chmod to 644) nano /etc/rsyslog.conf Dobbiamo aggiungere le seguenti righe (se non presenti) all inizio del file, per fare in modo che tutti i log vengano memorizzati nel db: $ModLoad ommysql *.* :ommysql:127.0.0.1,syslog,syslog,password Se non avete cambiato nulla, Syslog è il nome del db e syslog il nome utente per l accesso.

Ora procediamo fin quasi la fine del file per impostare la ricezione dei log dalle macchine remote, se dovete registrare log da macchine windows sarà necessario abilitare anche il protocollo UDP, in quanto i vari agent che ho testato utilizzano esclusivamente quello per l invio dei log; con macchine linux è possibili inviare anche utilizzando TCP/IP. De-commentare le opzioni alle voci: TCP Syslog Server: UDP Syslog Server: Impostare la porta per tcp 10514, solo per non fare confusione con la porta standard UDP (514). Salvate e chiudete; l ultimo file di configurazione che dobbiamo modificare è: nano /etc/sysconfig/rsyslog (chmod to 644 se non lo è già) Se non è presente, eccovi il contenuto già pronto: # Options to syslogd # -m 0 disables 'MARK' messages. # -rportnumber Enables logging from remote machines. The listener will listen to the specified port. # -x disables DNS lookups on messages recieved with -r # See syslogd(8) for more details SYSLOGD_OPTIONS="-c5 -f /etc/rsyslog.conf" # Options to klogd # -2 prints all kernel oops messages twice; once for klogd to decode, and # once for processing with 'ksymoops' # -x disables all klogd processing of oops messages entirely # See klogd(8) for more details KLOGD_OPTIONS="-x" In /mytemp/rsyslog-5.4.0/slackware/ trovate un esempio di script di avvio per slackware, potete editarlo e sistemare quello che vi serve, io ho preferito recuperare quello del pacchetto 3.22 nei repository di centos (mandatemi un PM se lo volete), ricordatevi di metterlo in /etc/rc.d/init.d/ e di impostare i permessi a 755.

Ora non ci resta che fermare syslog e avviare rsyslog: service syslog stop service rsyslog start Impostare l'avvio automatico del nuovo server di log (rimuovendo l avvio automatico del vecchio): chkconfig syslog off chkconfig rsyslog on Attenzione: chkconfig e service funzionano se lo script di avvio è fatto come si deve per CentOS. Fermiamo il firewall ed andiamo a modificare il file /etc/sysconfig/iptables ed aggiungiamo questa riga: -A RH-Firewall-1-INPUT -p udp -m udp --dport 514 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10514 -j ACCEPT Riavviamo pure il firewall. A questo punto la parte complicata è finita, procediamo con l'installazione dell'interfaccia al db dei log che utilizza apache e php: yum install httpd php php-gd php-mysql.i386 chkconfig httpd on service httpd start Ora il pacchetto vero e proprio: LogAnalyzer di Adiscon che potete trovare qui: http://loganalyzer.adiscon.com/ L'installazione è semplicissima e ve la riassumo in poche righe: Una volta scaricato e scompattato con tar xzf entrate nella cartella creata, copiate il contenuto della cartella src in /var/www/html (io ho creato una sottocartella LogAnalyzer). Dalla cartella contribs (estratta dal tar) copiate insieme ai file precedenti configure.sh e secure.s, dategli i permessi di esecuzione ed lanciate configure.sh (nessuna impostazione da fare qui, viene solo creato un file). Aprite con il browser la cartella dove avet copiato i file ed a questo punto inizia la configurazione vera e propria dell'interfaccia. Sopo poche cose da impostare, procedete senza cambiare nulla fino alla maschera di creazione delle "sorgenti" dei log, qua impostate i seguenti parametri: Name of the Source -> Mettete un nome della sorgente dei log (io l'ho chiamato Rsyslogd) Syslog File -> MySQL native Table Type -> monitorware Database Name, user e password gli stessi che avete utilizzato precedentemente durante la configurazione di mysql Database Tablename -> SystemEvents Procedete fino alla fine. A questo punto il server è pronto!

Configurazione dei client: Per i client linux tutto è semplice e veloce e a dirla tutta avete due possibilità: utilizzare il demone syslog già installato oppure compilare nuovamente il pacchetto, che questa volta ci darà molto meno lavoro da fare: Saltate questo punto se volete utilizzare il demone syslog già in funzione: tar xzf nomepacchetto cd nomepacchetto./configure CFLAGS="-march=i586 -mcpu=i686 -fomit-frame-pointer -std=c99" --enabletestbench=yes --enable-rtinst=yes --enable-debug=yes --enable-imfile --enable-valgrind --enableklog --enable-mail --enable-diagtools --enable-zlib --enable-omtemplate --enable-omstdout -- enable-omprog --enable-imdiag Non serve abilitare mysql in quanto i log verranno inviati al server precedentemente configurato, per il resto ho lasciato le stesse opzioni. make make install Nel file di configurazione dobbiamo inserire solo una riga per l'invio dei log al server: nano /etc/rsyslog.conf (chmod to 644) (in fase di test è meglio inviare tutti i log così è più rapido verificare che tutto funzioni correttamente) *.* @ip_server:514 usando il protocollo UDP e 10514 per utilizzare TCP *.* @@ip_server:10514 usando il protocollo TCP specificare la porta non è obbligatorio ma rende più chiara la lettura in caso di interventi successivi. nano /etc/sysconfig/rsyslog (chmod to 644) nano /etc/rc.d/init.d/rsyslog (chmod to 755) service syslog stop chkconfig syslog off service rsyslog start chkconfig rsyslog on

Potete copiare I file /etc/rc.d/init.d/rsyslog e /etc/sysconfig/rsyslog dall instllazione del server; se copiate anche /etc/rsyslog.conf ricordatevi di commentare nuovamente le righe alla fine del file che impostano la ricezione dei log da remoto. Se avete deciso di utilizzare syslog già presente sulla macchina è sufficiente editare /ertc/syslog.conf ed inserire la riga per l invio al server dei log, esattamente come nel file /etc/rsyslog.conf Se avete macchine basate su linux/freebsd,e che quindi hanno di base syslog come a.e. pfsense, è possibile abilitare l invio dei log al server appena installato. Per le macchine windows ci sono diversi agent gratuiti che permettono linvio degli eventi di sistema ad un server, il più noto probabilmente è snare; ne ho testati alcuni, come dicevo in premessa su una macchina XP professional, che hanno svolto abbastanza bene il loro compito, la parte più complicata è la scelta delle facility/priority da inviare al server centrale. Al momento l invio di local7.* mi sembra la soluzione migliore, ma è cosa soggettiva, con Eventlog-To-Syslog (al 01/06/2010 versione 4.2.0) Ecco i link alle pagine ufficiali degli agent che ho provato, fate sempre attenzione alla data di questa guida, se è passato molto tempo le cose potrebbero essere cambiate: SNARE (se non erro 32 e 64bit): http://www.intersectalliance.com/projects/snarewindows/ Eventlog-To-Syslog (32 e 64bit): http://code.google.com/p/eventlog-to-syslog/ Datagram Syslog agent http://www.syslogserver.com/download.html NTSyslog: http://ntsyslog.sourceforge.net/ Installazione di Eventlog-To-Syslog, gli altri agent sono provvisti di un msi installer e/o setup: Scompattare lo zip scaricato, corrispondente alla versione del sistema operativo (32 o 64bit) Copiare in c:\windows\system32\ i file: evtsys.exe e evtsys.dll Start->esegui->cmd (invio)

Andate in c:\windows\system32\ e date il seguente commando: Evtsys i h ip_del_server_log f local7 (invio) Questo install ail servizio, ora (utilizzando la strada breve): Start->esegui->services.msc (invio) Cercate la riga Eventlog-To-Syslog, doppio clic, impostate l avvio automatico dalla casella di selezione, avviate il servizio con l apposito bottone e cliccate OK. Note relative agli adempimenti relativi agli Amministratori di Sistema Registrare tutti i log indistintamente ci pone dalla parte dell eccesso di zelo, infatti è nostro compito registrare SOLO gli accessi dell amministratore di sistema e non di tutti gli utenti, non dobbiamo mantenere nemmeno le operazioni effettuate, pertanto è opportuno realizzare uno script ad hoc per la memorizzazione di quanto richiesto. Anche andando a ridefinire i log da centralizzare avremo registrato una parte di dati che non sono necessari e potrebbero esporci a sanzioni, pertanto per assolvere a quanto richiesto è necessario non memorizzare l intero db per 6 mesi, ma esportare solo la parte dei dati che ci serve e mantenerla mentre viene svuotato il db. Il problema successivo è: come gestire in modo semplice la registrazione dei log in modo che non siano alterabili? (Possibilmente senza intervento umano, aggiungerei). Al momento mi vengono in mente solo 2 soluzioni, una volta effettuata l esportazione dal db: 1 - la si invia con mail certificata (PEC) a se stessi; si ottengono i 2 risultati necessari: la conservazione per almeno 6 mesi (il gestore della PEC deve mantenerne copia per 5 anni) e la certificazione di inalterabilità (sempre grazie al gestore della PEC che deve provvedere a questo per ogni mail). 2 - generare con mkisofs un UDF che lo contenga e giornalmente controllare i file più vecchi da cancellare; UDF è un file system non ri-scrivibile, come sui sistemi WORM, che assolve pienamente a quanto richiesto dal garante.