Domovské stránky Daniela Hrotka

ÚVOD | O MNĚ | O BOHU | ICT | ASTRO | SRANDA | RADIO | Hi-Fi | ODKAZY | KONTAKT

Logovací démon - syslogd


Autorem následujícího návodu je Jiří Bělka.


22. 4. 2006 Daniel Hrotek





Předmluva



Systémové protokolování je možností, jak vyřešit nějaký problém programu nebo jak mít přehled nad tím, kdo se na server přihlašuje a co na něm dělá. Některé programy mají své vlastní LOGy, ale většina je napsána tak, aby spolupracovaly s unixovým systémem logování. Tradičně je logovacím démonem syslogd.

Démon syslogd je na BSD standart, ale už je to takový dědeček. Mezi agilní nástupce patří syslogd-ng, který umí posílat logy přes TCP spojení a umožňuje použití regulárních výrazů, nebo nsyslogd, který umí rovněž TCP plus šifrování přenosu pomocí SSL. I syslogd umí posílat logy na vzdálený systém, ale pouze přes UDP.




Požadavky





Krok 1. - start syslogd



Startování syslogd má jako obvykle na starosti /etc/rc.conf, jeho volby jsou:

syslogd_enable=“YES“ # Run syslog daemon (or NO).
syslogd_program=“/usr/sbin/syslogd“ # path to syslogd, if you want a different one.
syslogd_flags=“-s“ # Flags to syslogd (if enabled).
# syslogd_flags=“-ss“ # Syslogd flags to not bind an inet socket.


Z druhého řádku můžete vidět, že mohou existovat i jiné systémové loggery.

Flag “-s“ udává, že má syslogd běžet v secure módu. Tzn. že nebude přijímat záznamy z jiných systémů. Kdybychom chtěli, aby syslogd přijímal logy od určitých serverů, pozměnili bychom řádek takto:

syslogd_flags=“-s -a 10.0.0.10“

V případě posledního řádku a flagu “-ss“ se nebude syslogd vůbec vázat na síťový soket, tj. bude přijímat záznamy pouze z místního systému.




Krok 2. - popis logování syslogd



Jaké záznamy od programů ukládá syslogd do logů, je definováno v souboru /etc/syslog.conf. Aby syslogd inteligentně zpracovával logy od programů, třídí je dle řetězců v přicházejících zprávách. Řetězce se dělí na příslušenství (facility) a úroveň (level). Nastavením určitého levelu logujete tento level a vyšší.

Abychom mohli dobře pochopit /etc/syslog.conf, následují tabulky vysvětlující tyto pojmy.

Příslušenství - facility Popis
auth bezpečné informace vztahující se k přihlašování - login, su.
authpriv stejné jako auth, přístupné pouze uživateli root
console zprávy vypsané na konzoli
cron zprávy od cronu
daemon zprávy od systémových démonů nemající vlastní příslušenství
ftp zprávy od ftp démonů
kern zprávy od jádra
lpr zprávy od tiskového démona
mail zprávy od mailserveru
mark neprogr. facility, v kombinaci s jiným facility pro vložení
časového razítka do logu (v intervalu 20 min.)
news zprávy od news serveru
ntp zprávy od Network Time Protocol
security zastřešuje zprávy od bezpečnostních programů, např. ipfw/ipf
syslog záznamy od syslogd obsahující všechny facility = kruh!
user sbírá všechny facility, jestliže určitému programu nepřiřadíte právě tuto
uucp zprávy z Unix-to-Unix Copy Protocol
local0 - local7 facility pro definovaný program;
většina programů umožňuje logování přes tuto facility


Úroveň - level (Od nejdůležitějších zpráv dolů)
emerg pád systému; zprávy na všech terminálech
alert zásadní výstraha pro opravu systému
crit hlášení o kritických chybách
err hlášení o chybách, systém však nespadne
warning výstraha
notice informativní upozornění
info hlavní systémové informace
debug zprávy používající se hlavně pro odlaďování programu
none level, která říká, aby se nezapisovaly do logů facility s tímto levelem



Krok 3. - Vysvětlivky a popis /etc/syslog.conf



*.err;kern.debug;auth.notice;mail.crit /dev/console
# záznamy vypisující se na konzole

*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages



# téměř vše do messages:

# look at authpriv


security.* /var/log/security
# všechny security záznamy

auth.info;authpriv.info /var/log/auth.log
# autorisační záznamy, soubor má práva 600

mail.info /var/log/maillog
# záznamy mailserveru mající level info a vyšší

lpr.info /var/log/lpd-errs
# protokolování tiskového démona mající level info a vyšší

cron.* /var/log/cron
# protokolování všech zpráv CRONu

*.emerg *
# protokolování jakýchkoliv zpráv majících level emerge a vyšší kamkoli
#... odmazány zakomentované řádky kvůli místu

!startslip
# protokolování podle názvu programu (startslip)

*.* /var/log/slip.log
# jakékoli úrovně do /var/log/slip.log

!ppp
# protokolování podle názvu programu (ppp)

*.* /var/log/ppp.log
# jakékoli úrovně do /var/log/ppp.log


V případě, že byste chtěli logovat na vzdálený stroj, bude vám stačit pouze řádek:

*.* @10.0.0.100

Na vzdáleném stroji pak nastavíte facility a levely logovacího démona, jako kdyby vše přijímal lokálně. Údaje budou obsahovat jméno serveru, ze kterého přicházejí.

Operační systémy
 povídání o FreeBSD začínáme s FreeBSD FreeBSD - základní kroky Sun Solaris - základní kroky Linux - základní kroky Windows - základní kroky
 
Hrátky s operačními systémy
 FreeBSD router FreeBSD ve firmě FreeBSD porty - jak na ně? vytváření FreeBSD balíčku instalace NetBSD
 
Počítačové sítě
 StarHill esej o bezdrátových sítích pasivní restranslace tvorba sítí typu ethernet Pure-FTPd + SSL + VA Samba a její nastavení Apache SSL - htaccess - PHP DHCP server Nessus
 
Lokalizace
 manuály FreeBSD RONJA Pure-FTPd nastavení Pure-FTPd
 
Software
 Visual Basic Acrobat Reader 5 a FreeBSD logovací démon - syslogd
 
Jednočipy
 programátor PIC
 
Různé
 mé konfigurační soubory