napló yuniksoida

Xakep, szoba # 063, p. 063-108-1

naplózó rendszer eseményeket részletesen

Jelentkezzen be a Unix-alapú rendszerek, telefonos ps waux, ha ez a Linux vagy BSD, vagy ps -ef, ha bármilyen más Solaris végrehajtása System V Látni fogja számos eljárást, amelyek mindegyike csinál valamit. Például, lehet, hogy crond, inetd, ntpd, sendmail, sshd és számos más démon és feldolgozza a kernel. És ami érdekes - mind hozza a szokásos patakok adatgyűjtő rögzített rendszer. Mit csinál?

Ezt annak érdekében, hogy a fogadó a tulajdonos bármikor megtudhatja, pontosan mi teszi mindegyik, és ha valami nem működik - megtudja, mi az oka. Naplók - a történelem, a rendszer az élet, és néha csak hosszabb szedés / var / log segít kideríteni, hogy miért hirtelen fel a szolgáltatót váltók forgalmat, és hogy egy bohóc egész éjjel vájt minden 65535 porttámogatás.

Hagyományosan a magatartása eseménynaplókban felelős démon syslog. melynek története nyúlik vissza az egyetemre, és ott a Berkeley BSD. Syslogd - valami több, mint egy démon. Meg kell lépni minden démonok futnak a rendszerben, hogy minden tudtak rögzíti az eseményeket. Ez a kölcsönhatás révén történik egy speciális csatlakozó / dev / log. Ezért minden démon, aki el akarja hagyni a memória magát az eseménynaplóban, egyszerűen írni a fájlt bizonyos érveket. A rendszer syslog démon indításakor a inicializáló szkript elején.

Mint minden magára valamit is adó démon syslog saját konfigurációs fájl. Az alapértelmezés az /etc/syslog.conf. Azonban semmi sem akadályozza meg, hogy hívják, amit akar, és futtassa a syslogd a -f /path/to/config.file gombot. Ez a konfigurációs fájl, viszont a figyelmet, de a legfontosabb, amivel meg lehet kezdeni a syslog, tanulhat az ember syslogd. javára a kicsit.

Minden sor syslog.conf két bejegyzés - a szabályok és intézkedések. A szabályozás szerint melyik alrendszer generál egy eseményt, valamint a részletesség szintjét, az intézkedések - mit kell tenni ezeket az eseményeket. Tény, hogy minden egyszerű. Major alrendszerek tizenkét - auth, authPriv, cron, démon, Kern, lpr, e-mail, mark, hírek, syslog, felhasználó, uucp, de a gyakorlatban ez főleg a következők: auth - információk a felhasználó bejelentkezik ( „user Bob ment a második konzol „), authPriv - tájékoztatás emelt szintű jogosultsággal a rendszerben (” user Vasya nem su root a második konzol „), akkor a cron - információk futó ütemezett feladatok (” reggel kilenc, a szokásos módon, a szkript le tűzfal és Inet felhasználók vége „), kern - kernel üzenetek (” a hálózati interfész telt promiscious üzemmódban „), lpr - nyomtatási rendszer üzenetek, m ail - mail rendszer üzenetek stb

A találkozó az alrendszer mondja a nevét. Míg az összes ez a besorolás a nagy egyezmény. Nincs ftpd httpd stb - és ez nem szükséges, mivel ezek a démonok nem érdekel, hogyan és hol kell írni információt. Az általános esetben ez a programozó ajánlat - melyik osztályba tartoznak a démon, és használja a megfelelő érv openlog (3) függvény írásakor.

A részletesség szintje - az információ mennyiségét kell feldolgozni. Nyolc prioritási osztály: debug, info, értesítés, figyelmeztetés, err, crit, jelzés, emerg, minden következő - kevésbé informatív, mint az előző. Azaz szintjén hibakereső démon egy hatalmas üzenetek száma, amely vissza tudja állítani, hogy a munka minden részletében (úgynevezett - debug), észre a szint - a legjobb (démon ugyanis csak releváns üzenetek), emerg - csak a kritikus, hogy a rendszer szintjén.

Végül az akció - ez az, amit meg kell tenni a syslog, üzenetek kezelésére. A tevékenységek magukban foglalhatják: írásban egy fájlba (/var/log/file.log) - a legnépszerűbb, és amelyre naplók tartani, de emellett naplók lehet küldeni a távoli gépen (@loghost felvétel típusát), irányítva más programok szállítószalag küldött, hogy bizonyos felhasználók és / vagy megjelenik a konzolon (/ dev / console). Az átviteli naplók egy távoli gépre utal nem más, mint a küldő őket egy másik gép, amely szintén fut a syslogd, hallgat a 514 / udp port.

Ugyancsak célszerű kombinálni az alrendszerek és a részletesség szintjét, összehasonlítva egy olyan minta fent leírt intézkedések. Rögzíti az egyes vonal config általában így néz ki:

Van osztott megfelelő naplózás szintjét alrendszer, és néhány ilyen kombinációk köthető egyetlen akció, pontosvesszővel elválasztva. Megjegyezzük, hogy podsistema1.uroven1 meghatározni a következő bejegyzéseket: „alrendszer 1 log összes esemény 1. szint felett.” Ez logikus, ha figyelembe vesszük, hogy a szintek a nő (itt a „fent” - azt jelenti, kevesebb információ). Például daemon.notice rekord; kern.emerg / var / log / messages határozza meg a bejegyzést a / var / log / messages az összes üzenet szintű értesítést, és mindenek felett a démonok, valamint a kritikus kernel üzenetek (és felette - de semmi felett) . Ha valamilyen démon rögzíteni kell csak az események egy bizonyos szint put „=” :. Mail = debug. Ezen kívül több alrendszerek is szerepel, vesszővel elválasztva, összehasonlítva azokat ugyanazon a szinten: mail, news.crit. Szintén a sablonokat, akkor az ikon „*”, majd miután szokásos jelentése a reguláris kifejezések - „mindent”. * * /var/log/all.log -. Jelzi írni mindent, ami történik a rendszer /var/log/all.log. Speciális karakter, amelynek célja, hogy fordítsa meg a "!":.! Mail = hibakereső azt jelenti, mindent, kivéve debug.

És az utolsó. Ha a vonal „szabály - akció” előzi meg a program nevét, ez a vonal kifejezés csak a fenti program. Ez nagyon hasznos, ha kell „vytsepit” naplókat egy adott program (nem feltétlenül egy démon) egy külön téma feldolgozására (írás egy külön fájlban). Ebben az esetben a program nevét kell kezdődnie, például többek között dialapschikov népszerű következő konfiguráció (összes üzenete ppp írási külön log file) „!”

Bejelentkezés a példákban

Íme néhány példa annak bizonyítására, hogy valójában nagyon egyszerű:

# Minden kritikus rendszer üzeneteket kernel üzenetek megjelenítésére a / dev / console. Ez általában az első fizikai konzol (/ dev / ttyv0 én FreeBSD)

# Továbbá, az összes dolog, hogy a magasabb prioritású, mint írva az üzeneteket

# Minden a biztonsági alrendszer írni üzeneteket külön fájlba

# Minden tekintetében hitelesítés - írja a auth.log

# Minden mailek releváns szinten - a maillog

# Azt akarom, hogy kövesse a munkáját cron - így minden üzenetét külön kell írni

# Minden kritikus üzeneteket írni, mindenütt, ahol lehetséges :), így nem marad észrevétlen

# Minden hozzászólás központilag kialakítva a naplózó szerver

# Minden hozzászólás kedvenc programot szeretnék látni az egyes fájlokat.

Annak érdekében, hogy a syslog démon újraolvassa a konfigurációs, újraindítás nem feltétlenül elég ahhoz, hogy küldjön neki egy jelet bontja:

Linux és FreeBSD:

# Killall -HUP syslogd

NetBSD, OpenBSD és Solaris:

# Pkill -HUP syslogd

# Kill -HUP `sed q / var / run / syslogd.pid`

Küzdő evők disk

Konfigurálják helyesen syslogd - ez fél siker. A fájlok, melyek folyamatosan csatolt információkat, inkább nőni obszcén arányok, és ha nem fordítanak kellő figyelmet erre, egy nap, a / var leesik, visítozó, hogy elfoglalta a 120% -a mennyiség :). Linuxon is, ahol a felosztás partíciókat nem olyan népszerű, és akkor gyakran egy nagy gyökér partíció az egész fs (mauvais ton, nem így soha), ezúttal késleltethető (sokáig), de amikor - jön és a végén a teljes fájl rendszer. Sajnos, a syslog nem kezelték fájl nem termel, ezért elmondom a két legnépszerűbb megközelítés ellenőrzés naplófájlokat: BSD-shny és a Linux.

Minket a forgatás

A legkényelmesebb módja a rotáció - segítségével newsyslog. Fuss a korona óránként egyszer / nap / hó, úgy néz ki, a naplók, keresi az is, hogy jöjjön az ő uralkodása alatt, és létrehoz egy új, üres naplófájlokat fokozatosan archiválás régi neve a naplófájl. hol. - alak, és adott esetben a tömörítés, hogy helyet takaríthat meg. Az alapértelmezett konfigurációs fájl - /etc/newsyslog.conf, az alábbi területeken:

1) a neve a napló - a teljes elérési utat a log fájlt, ami után el kell követni;

2) vladedets: csoport és a hozzáférési jogok - az attribútumok a mentés;

3) Count - mélység inkrementális mentés;

4) az összeg - a maximális fájlméretet;

5) kifejezés - válaszidő szabályokat.

Akkora, mint egy kifejezés lehet egy értéket a „*” - ez azt jelenti, hogy a döntés archiválás alapján készült az a két érv. Tekintsük a következő példát:

/var/log/ppp.log root: hálózat 640 3 100 * Z

Ez a sor azt mondja, hogy meg kell nyomon követni a szakadék ppp.log, az archívumban rendelni a jogot, hogy 640, és a gyökér tulajdonosa, és a csoport - network Egy, a művelet elvégzéséhez legfeljebb három alkalommal, a döntést, hogy végezzen archiválás alapján a fájl mérete - nem kellene haladhatja meg a 100 KB, soha, plusz a teljes borogatás archív (Z billentyű) segédprogram bzip2 (compess / gzip a rendszertől függően).

Newsyslog. kiindulási rendszeresen ütemezett, majd keres nem léphető át, ha ppp.log mérete 100 KB, és ha túllépjük - átnevezni a régi napló ppp.log.0, létrehozva egy új, üres ppp.log; tömöríteni ppp.log.0 a ppp.log.0.bz2 és rendeljen fájl jogok 640, a tulajdonos - gyökér, csoport - hálózat. Ha a méret már új ppp.log ismét meghaladja a 100 KB, a program átnevezi a létező ppp.log.0.bz2 a ppp.log.1.bz2 és hozzon létre egy új ppp.log.0.bz2 ugyanazon algoritmus. És így tovább, amíg a legidősebb naplófájlok nem nevezhető ppp.log.3.bz2 (mi is rámutatott a számláló - 3). Akkor ez eltávolítjuk, és a harmadik lesz a második, stb Ésszerű kérdés: milyen gyakran kell futtatni newsyslog cron? A terheletlen gép, ez lehet tenni minden két vagy három napig, átlagosan szerver - minden nap, egy forgalmas állomás - menj, és óránként egyszer. Newsyslog - nagyon kényelmes és rugalmas eszköz, és az ember newsyslog mondani egy csomó érdekes.

határozat tuksodrayverov

Newsyslog névlegesen jön csomagban Free / OpenBSD, mivel logrotate jelen van a legtöbb Linux disztribúció. Ő is részt vesz az azonos, és hasonló gyakorisággal kezdődik a koronát. A különbség, a szokásos módon, a konfigurációban. Itt a fő konfigurációs /etc/logrotate.conf így néz ki:

napi
forgatni 1
teremt
borogatás
tartalmaznia /etc/logrotate.d

Ez azt jelenti, - hogy vegyenek részt a feldolgozási naplók minden nap, hogy lapátot új naplók egyszer, mielőtt eltávolítaná a régi (inkrementális mentés mélység), hozzon létre egy új, üres log fájlt ugyanazzal a névvel indult tömöríteni a fájlokat. Tömören, igaz? Utolsó alapvető irányelvet - pont nézni az összes extra config található /etc/logrotate.d könyvtárban. Ők valami, amit adott konkrét paramétereket minden démon. Például hozzon létre egy fájlt /etc/logrotate.d/httpd:

Itt már megadott paraméterek forgási apache naplók. Syntax szakasz: az utat, hogy a log fájlt, és merevítők - a paraméterek feldolgozása. Az egyik konfigurációban (mi - httpd), akkor tetszőleges számú ilyen szakaszok. Célszerű létrehozni több konfigurációs fájlok, amelyek mindegyike a forgatást szabályok naplók egy bizonyos démon (tintahal, samba, apache). A mi esetünkben, a feldolgozási paramétereket minden egyes fájl, a következő: hogy vegyenek részt a kezelés heti rendszerességgel (annak ellenére, hogy A működését naponta egyszer futnak), hogy dobja az új log-ötször, majd törölje a régi, tömöríti a fogadott fájlokat, semmi köze a napló, ha úgy üres, és végül, ne ess kétségbe, ha a log fájl nem található.

Végül - a rönkök a menedzsment tanácsok nagy hálózatok. Mivel az információ a rendezvény nagyon fontos a vizsgálat incidensek és az első dolog, ami haksory egy kompromittált talicska - ez dörzsölni naplókat, akkor azt javasoljuk, hogy egy külön log-szerver, ahol amellett, hogy a syslogd semmi nem fog forogni (a régi számítógép is megteszi), és az összes rönk összes gép centralizált küldjön neki, mert most már tudod, hogyan kell csinálni. Csak így tudni fogja a teljes igazságot az események a hálózaton.

A syslog-ng képes feldolgozni naplók reguláris kifejezések (jó szűrés az egyes üzeneteket, a formázás, a protokoll naplózás, stb), és képes átvinni a naplókat egy távoli gépről TCP.

Socklog működik daemontools és okat. Úgy tervezték, azok számára, akik már le is cserélték a bind és Sendmail és qmail a tinydns, és azt akarja, hogy megtalálják a megfelelő helyettesítő syslogd.

Msyslog kínál moduláris felépítésű, hogy megkönnyítse írásban sislogu összes zsetont, beleértve a megőrzése bejelentkezik egy adatbázis, szűrés alapján reguláris kifejezések, stb

Minirsyslogd - kis és biztonságosan démon csak elfogadására naplók távoli számítógépekről a hálózaton keresztül.

Gyakran egy új konfigurációs fájlt, és felejtsd el, míg létre (érintés /var/log/file.log), vagy elfelejti, hogy indítsa újra a syslog.

Néha készít egy log fájlt, hogy felejtse el regisztrálni newsyslogd / logrotate, azzal az eredménnyel, hogy a kezeletlen marad, és növekszik.