public inbox for gentoo-docs-it@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [gentoo-docs-it] Tradotto security/shb-logging.xml
@ 2006-04-10 10:08 99% Cristiano Chiucchiolo
  0 siblings, 0 replies; 1+ results
From: Cristiano Chiucchiolo @ 2006-04-10 10:08 UTC (permalink / raw
  To: gentoo-docs-it

[-- Attachment #1: Type: text/plain, Size: 2 bytes --]



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: shb-logging.xml --]
[-- Type: text/xml; name="shb-logging.xml", Size: 11428 bytes --]

<?xml version='1.0' encoding='UTF-8'?>
<!-- $Header:
/var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/security/shb-logging.
xml,v 1.3 2005/11/25 13:54:03 neysx Exp $ -->
<!DOCTYPE sections SYSTEM "/dtd/book.dtd">

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/1.0 -->

<sections>

<version>1.2</version>
<date>2005-11-25</date>

<section>
<title>Introduzione</title>
<body>
<p>
Dovrebbe essere aggiunto un logging extra per catturare avvertimenti o errori
che potrebbero indicare un attacco in corso o concluso con successo. Gli
aggressori infatti spesso fanno dei controlli prima di attaccare.
</p>

<p>
È inoltre di vitale importanza che i vostri file di log siano facilmente
leggibili e gestibili. Gentoo Linux vi permette di scegliere tra 3 diversi
loggers durante l'installazione.
</p>

</body>
</section>
<section>
<title>Logging: Syslogd</title>
<body>

<p>
Syslogd è il logger più comune per Linux e Unix in generale. Ha alcune funzioni
di log rotation, ma usare <path>/usr/sbin/logrotate</path> in un cron job
(logrotate è configurato in <path>/etc/logrotate.conf</path>) potrebbe rivelarsi
più utile, visto che <c>logrotate</c> ha molte funzioni. Quanto spesso la log
rotation dovrebbe essere eseguita dipende dal carico del sistema.
</p>

<p>
Sotto trovate il file <path>syslog.conf</path> standard, con alcune funzioni
aggiunte. Abbiamo decommentato le righe <c>cron</c> e <c>tty</c> e abbiamo
aggiunto un logging server remoto. Per migliorare ulteriormente la sicurezza
potreste aggiungere il logging in due posti.
</p>

<pre caption="/etc/syslog.conf">
#  /etc/syslog.conf      Configuration file for syslogd.
#
#                       For more information see syslog.conf(5)
#                       manpage.
#                       This is from Debian, we are using it for now
#                       Daniel Robbins, 5/15/99

#
# First some standard logfiles.  Log by facility.
#

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          /var/log/mail.log
user.*                          -/var/log/user.log
uucp.*                          -/var/log/uucp.log
local6.debug                    /var/log/imapd.log

#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err

# Logging for INN news system
#
news.crit                       /var/log/news/news.crit
news.err                        /var/log/news/news.err
news.notice                     -/var/log/news/news.notice

#
# Some `catch-all' logfiles.
#
*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages

#
# Emergencies and alerts are sent to everybody logged in.
#
*.emerg                         *
*.=alert                        *

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
daemon,mail.*;\
       news.=crit;news.=err;news.=notice;\
       *.=debug;*.=info;\
       *.=notice;*.=warn       /dev/tty8

#Setup a remote logging server
*.*                        @logserver

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
# 
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
#daemon.*,mail.*;\
#       news.crit;news.err;news.notice;\
#       *.=debug;*.=info;\
#       *.=notice;*.=warn       |/dev/xconsole

local2.*                --/var/log/ppp.log
</pre>

<p>
Gli aggressori probabilmente cercheranno di cancellare le loro tracce editando o
cancellando i file di log. Potete rendere più difficile questa operazione
salvando i log su uno o più server di logging remoti, su altre macchine. Per
maggiori informazioni su syslogd eseguite <c>man syslog</c>.
</p>

</body>
</section>
<section>
<title>Metalog</title>
<body>

<p>
<uri link="http://metalog.sourceforge.net">Metalog</uri> di Frank Dennis non è
in grado di salvare i log su un server remoto, ma ha i suoi punti di forza nelle
performance e nella flessibilità di logging. Può ordinare i log per nome del
programma, urgenza e funzione (come syslogd), e utilizza espressioni regolari
con le quali si possono lanciare script esterni quando vengono trovati specifici
modelli. È molto buono per eseguire determinate azioni quando se ne presenta la
necessità.
</p> 

<p>
La configurazione standard di solito è sufficiente. Se volete essere avvertiti
via email ogni volta che qualcuno sbaglia a digitare una password, usate uno
dei seguenti script.

<p>
Per postfix:
</p>

<pre caption="/usr/local/sbin/mail_pwd_failures.sh per postfix">
#! /bin/sh
echo "$3" | mail -s "Warning (program : $2)" root
</pre>

<p>
Per qmail:
</p>

<pre caption="/usr/local/sbin/mail_pwd_failures.sh per qmail">
#!/bin/sh
echo "To: root
Subject:Failure (Warning: $2) 
$3
" | /var/qmail/bin/qmail-inject -f root
</pre>

<p>
Ricordatevi di rendere eseguibile lo script eseguendo
<c>/bin/chmod +x /usr/local/sbin/mail_pwd_failures.sh</c>
</p>

<p>
Poi decommentate la riga sotto "Password failures" in
<path>/etc/metalog/metalog.conf</path> in questo modo:
</p>

<pre caption="/etc/metalog/metalog.conf">
command  = "/usr/local/sbin/mail_pwd_failures.sh"
</pre>

</body>
</section>
<section>
<title>Syslog-ng</title>
<body>

<p>
Syslog-ng fornisce alcune delle funzioni di syslog e metalog, ma con una piccola
differenza. Esso può filtrare i messaggi in base al livello e al contenuto (come
metalog), e supporta il remote logging come syslog, gestisce i log di syslogd
(anche i flussi da Solaris), scrive su TTY, esegue programmi, e può funzionare
come logging server. In pratica, è il meglio di entrambi i logger con in più una
configurazione avanzata.
</p>

<p>
Ecco un file di configurazione classico, leggermente modificato.
</p>

<pre caption="/etc/syslog-ng/syslog-ng.conf">
options { chain_hostnames(off); sync(0); };

#source where to read log
source src { unix-stream("/dev/log"); internal(); };
source kernsrc { file("/proc/kmsg"); };

#define destinations
destination authlog { file("/var/log/auth.log"); };
destination syslog { file("/var/log/syslog"); };
destination cron { file("/var/log/cron.log"); };
destination daemon { file("/var/log/daemon.log"); };
destination kern { file("/var/log/kern.log"); };
destination lpr { file("/var/log/lpr.log"); };
destination user { file("/var/log/user.log"); };
destination mail { file("/var/log/mail.log"); };

destination mailinfo { file("/var/log/mail.info"); };
destination mailwarn { file("/var/log/mail.warn"); };
destination mailerr { file("/var/log/mail.err"); };

destination newscrit { file("/var/log/news/news.crit"); };
destination newserr { file("/var/log/news/news.err"); };
destination newsnotice { file("/var/log/news/news.notice"); };

destination debug { file("/var/log/debug"); };
destination messages { file("/var/log/messages"); };
destination console { usertty("root"); };
destination console_all { file("/dev/tty12"); };
destination xconsole { pipe("/dev/xconsole"); };

#create filters
filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(authpriv, mail); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_lpr { facility(lpr); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info..warn) 
        and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };

filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };
filter f_failed { match("failed"); };
filter f_denied { match("denied"); };

#connect filter and destination
log { source(src); filter(f_authpriv); destination(authlog); };
log { source(src); filter(f_syslog); destination(syslog); };
log { source(src); filter(f_cron); destination(cron); };
log { source(src); filter(f_daemon); destination(daemon); };
log { source(kernsrc); filter(f_kern); destination(kern); };
log { source(src); filter(f_lpr); destination(lpr); };
log { source(src); filter(f_mail); destination(mail); };
log { source(src); filter(f_user); destination(user); };
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };

log { source(src); filter(f_debug); destination(debug); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_emergency); destination(console); };

#default log
log { source(src); destination(console_all); };
</pre>

<p>
Syslog-ng è molto facile da configurare, ma è anche molto facile dimenticarsi di
qualcosa nel file di configurazione, dato che è molto grande. L'autore ancora
promette alcune funzioni extra, come la criptazione, l'autenticazione, la
compressione e il controllo MAC (Mandatory Access Control). Con queste opzioni
sarà perfetto per il network logging, dato che l'aggressore non potrà spiare il
log.
</p>

<p>
E syslog-ng ha un altro vantaggio: non ha bisogno di essere eseguito come root!
</p>

</body>
</section>

<section>
<title>Analisi dei log con Logcheck</title>
<body>

<p>
Certo, il solo tenere dei log non risolve i problemi. Una applicazione come
Logcheck può rendere l'analisi regolare dei log molto più semplice. Logcheck è
uno script, accompagnato da un binario chiamato <c>logtail</c>, che è eseguito
dal demone cron e controlla i vostri log in base a un set di regole, alla
ricerca di attività sospette. Poi invia l'output alla casella di posta
dell'utente root.
</p>

<p>
Logcheck e logtail fanno parte del pacchetto <c>app-admin/logsentry</c>.
</p>

<p>
Logcheck utilizza quattro file per filtrare le voci importanti dei log da quelle
non importanti. Questi file sono <path>logcheck.hacking</path>, che contiene
messaggi conosciuti di attacchi di hackers, <path>logcheck.violations</path>,
che contiene modelli indicanti violazioni della sicurezza,
<path>logcheck.violations.ignore</path>, che contiene parole chiave che
dovrebbero ritrovarsi nel file delle violazioni, consentendo alle voci normali
di essere ignorate, e <path>logcheck.ignore</path>, che contiene le voci da
ignorare.
</p>

<warn>
Non lasciate vuoto <path>logcheck.violations.ignore</path>. Logcheck utilizza
<c>grep</c> per analizzare i log, e alcune versioni di esso considerano un file
vuoto come una wildcard. Tutte le violazioni sarebbero così ignorate.
</warn>
<!-- FIXME: Might want to add more details on logcheck here...I have to install
it on Gentoo to figure out how it's configured! -->
</body>
</section>

</sections>

^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2006-04-10 10:08 99% [gentoo-docs-it] Tradotto security/shb-logging.xml Cristiano Chiucchiolo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox