Syslog - sieťový syslog. Linuxové protokolové súbory v poradí Ktoré syslog ID má najvyššiu prioritu

Démon vstúpil Unix zavolajte program, ktorý funguje "na pozadie" bez toho, aby ste si vyžadovali ovládanie terminálu a dali vám možnosť vykonávať inú prácu „v popredí“. Démon môže byť spustený buď iným procesom, napríklad jedným zo spúšťacích skriptov systému bez toho, aby vôbec pristupoval k akémukoľvek riadiacemu terminálu, alebo užívateľom z nejakého terminálu, ale v tomto prípade démon "nepreberá" terminálu po dobu jeho práce. Prirodzene vyvstáva otázka, ktoré démony sú vo vašom systéme potrebné a ktoré možno deaktivovať.

Pôvod termínu
V reálnom (teda nepočítačovom) svete výraz (alebo slovo) „démon“ označuje ducha (najčastejšie zlého) alebo „vnútorný hlas“. Stojí za zmienku, že obe tieto hodnoty sa vzťahujú aj na programy démonov Unix. Rovnako ako mytologickí démoni, aj démoni Unix sa skrývajú v zákulisí a snažia sa zostať neviditeľní. A rovnako ako vnútorný hlas alebo naše podvedomie sú vždy „v strehu“, vždy k dispozícii, vždy sa môžu „prejaviť“. Samotné slovo „démon“ predstavuje jednu z týchto počítačových skratiek, ktorého pôvod je rovnako ťažké zistiť, ako rozhodnúť, či na začiatku bolo sliepka alebo vajce. Pravdepodobne tento výraz ("DAEMON") pochádza zo slov "Monitor disku a spustenia" program.

Keď som sa vydal študovať túto problematiku, zašiel som ku kňazovi, ktorý používa počítač s operačným systémom Ubuntu. Pre každý prípad som si zobral disk s Windowsom. Nikdy nevieš... Som priamy človek, nemlátil som sa, hneď som dal všetky informácie. Dlho a podrobne vysvetlené. Na moje veľké šťastie to všetko bral s kľudom, miestami, kým som sa rozprávala, sa aj usmieval, najmä keď rozprával o dôvodoch odmietnutia ubuntu sestriným manželom. Otec, normálny človek, má už 50 rokov, trochu viac sme sa rozprávali, alebo skôr ja, aby som pochopil, že správne osvojil, čo som povedal. Potom mi povedal, že si nepamätám doslova, ale nenapadlo ma to nahrať na diktafón, tak to opíšem vlastnými slovami. Vo všeobecnosti nie je nič zlé na tom, že tento výraz sa používa v Linuxe, hlavnou vecou je viera v Boha.

Úvod do služieb

Démoni, na ktoré odkazuje /etc/init.d, sú navrhnuté tak, aby bežali na Linuxe ako služba alebo služba. Služby sú programy, ktoré sa spúšťajú a zastavujú prostredníctvom init skriptov umiestnených v adresári /etc/init.d. Mnohé z týchto služieb sa spúšťajú počas fázy zavádzania systému. Nástroj / sbin / service poskytuje používateľské rozhranie (interakciu) s inicializačnými skriptami. A tieto skripty samotné poskytujú rozhranie na správu služieb, poskytujúc používateľovi možnosti spustenia, zastavenia, reštartovania, dotazovania sa na stav služby a vykonávania ďalších akcií so službou. Napríklad iniciačný skript služby httpd má nasledujúce možnosti:

/ sbin / service httpd Použitie: httpd (štart | stop | reštart | condrestart | znovu načítať | stav | úplný stav | graceful | pomoc | configtest)

Aktuálny stav všetkých systémových služieb môžete zobraziť pomocou nasledujúcej možnosti obslužného programu:

/ sbin / service --status-all acpid (pid 2481) je spustený ... anacron (pid 2647) je spustený ... atď (pid 2657) je spustený ... auditd (pid 2189) je spustený ...

Informácie o úrovni spustenia týchto služieb, teda o nastavení, na ktorej úrovni spustenia systému sa konkrétna služba spúšťa pri zavádzaní, je možné získať alebo zmeniť pomocou pomôcky chkconfig. Pozrime sa napríklad na aktuálne nastavenia služby protokolovania systému syslog:

/ sbin / chkconfig --list syslog syslog 0: vypnuté 1: vypnuté 2: zapnuté 3: zapnuté 4: zapnuté 5: zapnuté 6: vypnuté

Vidíme, že služba syslog sa spustí automaticky, keď prejdeme na úrovne 2, 3, 4 a 5. Ak chcete zakázať jej spustenie na úrovniach 3 a 4 (mimochodom, nie je to dobrý nápad), môžete použiť nasledujúcu možnosť príkaz chkconfig:

/ sbin / chkconfig --levels 34 syslog off

Pomôcka / usr / bin / system-config-services poskytuje grafické rozhranie pre systémové služby, ktoré vám umožňuje zobraziť a upraviť ich aktuálny stav, ako aj nastaviť ich spustenie na rôznych úrovniach spustenia.

Pozrime sa, ako sa tieto služby a démoni zobrazujú vo výstupe príkazu ps. Tu je rýchly úryvok:

UID PID PPID C STIME TTY TIME CMD root 1 0 0 23:36? 00:00:00 init root 2161 1 0 23:37? 00:00:00 auditovaný koreň 2177 1 0 23:37? 00:00:00 syslogd -m 0 root 2180 1 0 23:37? 00:00:00 klogd -x root 2207 1 0 23:37? 00:00:00 koreň mcstransd 2254 1 0 23:37? 00:00:00 rpc.statd root 2287 1 0 23:37? 00:00:00 rpc.idmapd root 2577 1 0 23:37? 00:00:00 crond root 2631 1 0 23:37? 00:00:00 / usr / sbin / atď root 2654 1 0 23:37? 00:00:00 rhnsd --interval 240

Čo je zaujímavé si tu všimnúť (okrem toho, že som dnes sedel príliš neskoro za počítačom)? Pre každý z démonov je identifikátor rodičovského procesu (PPID) 1. To znamená, že démoni boli spustení init v čase zavádzania.

Tento výsledok možno zreteľnejšie vidieť na výstupe takého užitočného príkazu ako „pstree“, ktorý zobrazuje „strom“ procesov s označením „rodičov“. Tu je malý úryvok z výstupu pstree:

Init- + | -NetworkManager --- 2 * [(NetworkManager)] | -NetworkManagerD | -acpid | -atd | -auditd - + - python | `- (auditd) | -avahi-daemon --- avahi-daemon | -bonobo-activati ​​​​--- (bonobo-activati) | -crond | -cupsd --- cups-polld | -2 * | -dbus -spustiť | -dhcdbd --- dhclient

Viac o démonoch vo vašom systéme

S úvodnými informáciami končíme. Teraz si povedzme o systémových démonoch izolovane a uvidíme, s ktorými z nich môžete bezpečne experimentovať. Tento príspevok je opäť o systéme so systémom Red Hat Enterprise Linux Beta 2 v konfigurácii pracovnej stanice. V závislosti od špecifík vášho systému môžete vidieť viac alebo menej démonov, vrátane tých, ktoré tu nie sú zahrnuté.

Popisy pre každého démona obsahujú odkazy na stránky, kde môžete získať viac informácií, ale aj tak je najlepšie začať sa o démonovi učiť na príslušných manuálových stránkach. O "Reilly má vynikajúci abecedný zoznam príkazov Linuxu a wikipedia.org má tiež sekcie o väčšine týchto démonov. Nezabudnite sa pozrieť na súbory README.

Je to služba ACPI (Advanced Configuration and Power Interface). ACPI je otvorený priemyselný štandard, ktorý definuje akcie správy systému, predovšetkým definíciu zariadenia typu plug-and-play a správu napájania, vrátane akcií, keď sa systém spustí, zastaví a keď prejde do režimu nízkej spotreby.

Pravdepodobne by ste túto službu nemali deaktivovať, pokiaľ to nerobíte na účely ladenia alebo na vyriešenie problémov s hardvérom.

Viac informácií: http://www.acpi.info

Ak používate prenosný počítač, ako to dnes robí veľa ľudí, potom jedným z problémov je, že keď démona cron požiadate, aby niečo urobil, nie ste si vždy istí, že váš počítač bude zapnutý v čase spustenia. naplánované úlohy. Anacron (tento názov pochádza z „anachronistického cronu“, čo znamená niečo ako „zastaraný cron“) tento problém rieši kontrolou, či úlohy boli vykonané v určitom časovom období. Anacron napríklad spustí úlohu, ak nebola spustená po určitý počet dní.

Kedy môžete prestať používať anacron? Ak váš systém beží neustále.
Môžete jednoducho odmietnuť spustiť cron, ak máte spustený anacron? nie; pre anacron môže byť obdobie reštartu úlohy určené iba v dňoch, nie v minútach a sekundách.

Ďalšie informácie:

Je to démon Advanced Power Management (APM) prostredníctvom ovládača v systéme BIOS. Štandard APM a démon apmd boli teraz nahradené ACPI a acpid. Ak váš hardvér podporuje ACPI, nemusíte spúšťať apmd.

Toto je démon na spustenie úloh v určenom čase. Ak ho nepoužívate, je celkom možné ho vypnúť.

Tento démon automaticky pripojí disky a súborové systémy, ktoré sú definované v konfiguračnom súbore. Používanie tohto démona uľahčuje prácu s vymeniteľnými diskami.

Viac informácií: http://freshmeat.net/projects/autofs

Auditovací systém Linuxu pozostáva z protokolov systémových hovorov na úrovni jadra a nástrojov na zhromažďovanie a prezeranie protokolov používateľského priestoru. Démon auditd zapisuje zaprotokolované správy na disk. Auditd je konfigurovateľný a umožňuje vám kontrolovať a spravovať, aké informácie sú uložené na disku.

Mal by audit pokračovať? Informácie z protokolov môžu byť veľmi užitočné pri konfigurácii všetkého, čo súvisí so zabezpečením systému. Napríklad auditd sa používa v protokolovaní udalostí SELinux. Existujú aj pomocné programy, ako napríklad aureport, ktoré vám umožňujú prezerať protokoly auditu. Tu je príklad správy vygenerovanej pomocným programom aureport:

Súhrnná správa
======================

Časový rozsah v denníkoch: 28. 11. 2006 6: 07: 04.800 - 2. 6. 2007 21: 10: 9.957 Vybraný čas pre hlásenie: 31. 12. 1969 19:00:00 - 72. 2. 2007 10: 09.957 Počet zmien v konfigurácii: 285 Počet zmien účtov, skupín alebo rolí: 32 Počet prihlásení: 145 Počet neúspešných prihlásení: 11 Počet používateľov: 2 Počet terminálov: 22 Počet názvov hostiteľov: 11 Počet spustiteľných súborov: 27 Počet súborov: 91 Počet odmietnutí AVC: 688 Počet udalostí MAC: 12 Počet neúspešných systémových volaní: 404 Počet udalostí anomálií: 0 Počet odpovedí na udalosti anomálie: 0 Počet kryptografických udalostí: 0 Počet procesov ID: 14022 Počet udalostí: 70694 Avahi-daemon a avahi-dnsconfd

Webová stránka Avahi to definuje takto: "Avahi je systém, ktorý poskytuje možnosť objavovať služby v lokálnej sieti. To znamená, že akonáhle je váš počítač pripojený k lokálnej sieti, môžete okamžite objaviť dostupné tlačiarne, zistiť, aké zdieľania sú dostupné v sieti zistite, s kým z ostatných používateľov siete môžete hovoriť prostredníctvom chatu atď. Avahi je implementácia protokolu Zeroconf. A Zeroconf je prístup, ktorý umožňuje používateľom vytvárať siete IP bez špeciálnych konfiguračných služieb, ako sú servery DNS.
Najčastejšie sa avahi-daemon používa v spojení s Rhythmboxom, takže môžete vidieť hudobné súbory, ktoré sú zdieľané s ostatnými. Ak nezdieľate hudbu alebo súbory z počítača, môžete tohto démona vypnúť.

Viac informácií: http://avahi.org, http://zeroconf.org

Bluetooth a démoni hidd a pand

Samotné mená vysvetľujú všetko. Ak chcete používať zariadenia bluetooth, spustite tieto služby. Názov aktuálne spusteného démona je hcid (Démon rozhrania hostiteľského ovládača).

Názov skrytého démona pochádza z „Démona zariadenia Bluetooth s ľudským rozhraním“. Poskytuje podporu Bluetooth klávesnice, myši a trackballu. A démon pand udržiava váš počítač pripojený k ethernetovej sieti pomocou Bluetooth.

Viac informácií: http://www.bluetooth.com,

Tento démon podporuje Common ISDN Application Programming Interface. Mal by sa spustiť, ak sa pripájate k hardvérovým komponentom ISDN. Táto služba spúšťa capiinit.

Viac informácií: http://www.capi.org/pages

Nie, nemá to nič spoločné s nočným vysielaním o investíciách do nehnuteľností. Služba conman (a démon príkazu) podporuje správu konzoly. Poskytuje podporu pre viaceré konzolové zariadenia a súčasnú prácu používateľov, podporu pre lokálne sériové zariadenia a vzdialené terminálové servery (cez protokol telnet). Ak spravujete viacero serverov, možno budete potrebovať conman.

Viac informácií: http://home.gna.org/conman/
cpuspeed

Tento démon mení rýchlosť práce centrálna procesorová jednotka s cieľom znížiť spotrebu energie. Ak je CPU nečinný, môžete znížiť rýchlosť, čím sa zníži spotreba energie a na zvýšenie výkonu musíte zvýšiť spotrebu energie. Ak pracujete pre laptop, má zmysel spustiť cpuspeed.

Viac informácií: http://carlthompson.net/Software/CPUSpeed
crond

Tento démon sa používa na automatické spúšťanie úloh. Toto sa vyžaduje na všetkých systémoch Linux a Unix. Nezastavujte ani nezakazujte túto službu.

Viac informácií: http://www.unixgeeks.org/security/newbie/unix/cron-1.html, http://www.linuxhelp.net/guides/cron/

CUPS a cups-config-daemon

Je to démon "Common UNIX Printing Solution". Ako už názov napovedá, ide o tlačový systém, ktorý si poradí s rôznymi formátmi súborov a odlišné typy tlačiarní. Ak chcete tlačiť, spustite tohto démona vo vašom systéme.

Viac informácií: http://www.cups.org, http://www.easysw.com/cups/index.php

Názov tohto démona je skratkou pre „DHcp Client D-Bus Daemon“. Wiki Free DeskTop to definuje takto:

D-Bus je systém zbernice správ, jednoduchý spôsob vzájomnej komunikácie (alebo interakcie) aplikácií. Okrem medziprocesovej komunikácie pomáha D-Bus koordinovať životný cyklus procesu; poskytuje jednoduchú a spoľahlivú implementáciu v kóde schopnosti spúšťať „samostatnú inštanciu“ aplikácie alebo démona, čo vám umožňuje spúšťať aplikácie a démony na požiadanie, keď vznikne potreba príslušných služieb.

Potrebujete spustiť tohto démona? Ak váš systém funguje v sieti (ako by to mohlo byť inak?), Najmä ak sa pohybujete medzi sieťami (napríklad prepínate z káblovej siete na bezdrôtovú), mali by ste spustiť NetworkManager (pozrime sa na NetworkManager nižšie) .

Démon dhcdbd poskytuje rozhranie D-Bus pre dhclient, DHCP klienta od ISC. To umožňuje NetworkManager pristupovať a ovládať dhclient.

Viac informácií: http://www.freedesktop.org/wiki/Software/dbus

Tento démon vám dáva možnosť používať myš v textových aplikáciách ako napr Správca súborov Polnočný veliteľ. To môže byť užitočné, ak často používate konzolu; inak, to znamená, že ak neustále používate X Window System, možno nebudete gpmd nikdy potrebovať.

Nie, toto nie je zlý počítač z filmu Vesmírna odysea z roku 2001. V tomto kontexte HAL znamená Hardware Abstraction Layer. Démon HAL zhromažďuje (pomocou jadra a samotných zariadení) informácie o hardvérových zariadeniach a konzistentným spôsobom ich prezentuje aplikáciám.

Nevypínajte túto službu. Používa to veľa aplikácií.

Ďalšie informácie: "Konfigurácia počítača a hardvéru," od Davida Zeuthena

Tento démon poskytuje podporu pre systém HP Linux Imaging and Printing (HPLIP), ktorý sa používa na tlač, skenovanie a faxovanie na atramentových a laserové zariadenia od spoločnosti HP. HPLIP spolupracuje s CUPS a poskytuje mu prístup k zariadeniam od HP.

Ďalšie informácie:

Je to démon pre relačné databázy v Jave. Svoj názov zdedil po projekte Hypersonic SQL, ktorý už nie je podporovaný. hsqldb je široko používaný v projektoch s otvoreným zdrojovým kódom, ako je OpenOffice.org, ako aj v ukážkach, pretože môže bežať výlučne v pamäti RAM. Vďaka tomu, čo funguje rýchlo. Potrebujete spustiť túto službu? Iba ak máte spustené programy, ktoré ho používajú. Ale v skutočnosti je to veľmi užitočný nástroj a ak ho nepoznáte, oplatí sa si ho pozrieť.

Viac informácií: http://hsqldb.org, http://dba.openoffice.org

Webový server Apache. Používa ho takmer 60 % všetkých webových stránok. Ak chcete udržiavať webovú stránku, spustite Apache. Musím ešte niečo povedať?

Viac informácií: http://httpd.apache.org

ip6tables a iptables

Sú to brány firewall alebo brány firewall. Podľa Wikipédie „Firewall alebo firewall (žargon. Firewall alebo firewall z angl. Firewall) je súbor hardvérových a/alebo softvérových nástrojov, ktoré riadia a filtrujú sieťové pakety prechádzajúce cez ňu na rôznych úrovniach modelu OSI v súlade s tzv. špecifikované pravidlá. firewall je ochrana počítačové siete alebo jednotlivé uzly pred neoprávneným prístupom."

Iptables funguje nastavením pravidiel filtrovania paketov IPv4 vo forme tabuľky jadra. Prichádzajúce a odchádzajúce pakety sú kontrolované podľa týchto pravidiel a tie, ktoré nezodpovedajú pravidlám, sú blokované. Ip6tables robí to isté pre pakety IPv6.

Ktorú z týchto dvoch služieb chcete spustiť? Obaja. Je vždy. Sieť je nebezpečná!

Viac informácií: http://www.netfilter.org, http://www.ipv6.org

IrDA (Infrared Data Association) je priemyselný štandard pre infračervenú bezdrôtovú komunikáciu medzi zariadeniami. Väčšina notebookov je vybavená infračerveným vysielačom kompatibilným s IrDA. Túto službu musíte spustiť iba vtedy, ak sa chystáte organizovať komunikáciu s inými zariadeniami cez infračervené spojenie.

Ďalšie informácie:

nerovnováha

Tento démon je zodpovedný za distribúciu hardvérových prerušení medzi CPU vo viacprocesorových architektúrach symetrických procesorov (SMP), aby sa zlepšil výkon.

Nie je potrebné spúšťať tohto démona na jednoprocesorových systémoch, ovplyvňuje iba viacprocesorové systémy.

Viac informácií: http://www.irqbalance.org

Je to veľmi užitočný démon. Spúšťa sa v čase zavádzania a kontroluje, ktoré hardvérové ​​zariadenia boli pridané alebo odstránené zo systému. Má zmysel spúšťať kudzu v čase zavádzania, aj keď neplánujete pridávať alebo odstraňovať zariadenia často. Pretože skôr či neskôr sa rovnako ocitnete v situácii, keď pridáte zariadenie a očakávate, že ho systém zaznamená. Navyše, keďže kudzu beží v čase zavádzania, nemá negatívny vplyv na výkon systému.

Viac informácií: http://fedora.redhat.com/projects/additional-projects/kudzu

Tento démon dostal svoje meno podľa informačného servera LAN. Lisa poskytuje funkcie podobné tým, ktoré poskytuje služba Network Neighborhood v systéme MS-Windows, to znamená, že poskytuje prístup k serverom vo vašej lokálnej sieti, vrátane serverov CIFS (Common Internet File Systems). lisa beží cez TCP / IP, odosiela požiadavky ICMP na adresy IP v rozsahu, ktorý ste zadali v konfiguračnom súbore, a čaká na odpoveď počítačov.

Viac informácií: http://docs.kde.org/stable/en/kdenetwork/lisa, http://docs.kde.org/userguide/networking-with-windows.html,

lm_sensors

Tento démon monitoruje teploty a napätie na základnej doske. Pre fungovanie monitorovacieho systému je potrebné mať vo výbave vhodné senzory. Spustiť tohto démona má zmysel iba vtedy, ak je poskytnutá hardvérová podpora. Pravdepodobne by ste ho nemali spúšťať na bežných pracovných staniciach. Skôr je potrebný na hi-end serveroch, ktoré vykonávajú kritické funkcie.

Viac informácií: http://www.lm-sensors.org, http://freshmeat.net/projects/lm_sensors

mcstrans

Systémový démon pre preklad kontextu SELinux. Tento démon konvertuje informácie o bezpečnostnom kontexte do ľudsky čitateľnej formy. Môžete zastaviť tohto démona, ale ak áno, uvidíte, že sa informácie SELinux zobrazené pomocou príkazu ls -Z zmenia. Napríklad, keď je démon spustený, uvidíte:

Ls -Z -rw-r - r-- jnovak jsmith user_u: object_r: user_home_t bookmarks.html drwxr-xr-x jsmith jsmith user_u: object_r: user_home_t Desktop -r-xr-xr-x jsmith_home_t jsmith user - r - r-- jnovak jnovak user_u: object_r: user_home_t hello.c

A ak je démon zastavený, uvidíte nasledovné:

Ls -Z -rw-r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 bookmarks.html drwxr-xr-x jsmith jsmith user_u: object_r: user_home_t: s0 Desktop -r-xr-xr-x jsmi object_r: user_home_t: s0 ahoj -r - r - r-- jsmith jsmith user_u: object_r: user_home_t: s0 hello.c

Všimnite si, že ak je démon zastavený, zobrazí sa hodnota bezpečnostného kontextu "s0". Mctrans v tomto prípade vynuloval kontext. Ostatné hodnoty bezpečnostného kontextu sa skonvertujú z alfanumerických hodnôt na ich názvy.

Viac informácií: http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com

mdmonitor a mdmpd

Tieto dva démony sa používajú v redundantnom poli lacných / nezávislých diskových (RAID) úložných systémov. Mdmonitor spúšťa, zastavuje a reštartuje mdadm (monitorovanie a správa viaccestných zariadení), softvérovú službu monitorovania a správy RAID. Túto službu musíte spustiť iba vtedy, ak má váš systém zariadenia RAID.

Viac informácií: http://www.linuxdevcenter.com/pub/a/linux/...12/05/RAID.html

messagebus

Je to démon systémovej zbernice správ D-BUS. Vysiela systémové udalosti a udalosti, ako sú zmeny v tlačovom fronte alebo pridanie alebo odstránenie zariadení (všimnite si, že to nie je to isté ako kudzu, pretože takéto udalosti sa môžu vyskytnúť kedykoľvek počas prevádzky systému, nielen vo fáze zavádzania ).

Viac informácií: http://www.freedesktop.org/software/dbus

netplugd a ifplugd

Tieto démony konfigurujú ethernetové zariadenia, keď je pripojený sieťový kábel, a deaktivujú tieto zariadenia, keď je kábel odpojený. Kedy to potrebujete? Napríklad na notebookoch tak, že váš sieťové pripojenia obnoví sa iba vtedy, keď je pripojený sieťový kábel.

Upozorňujeme, že podpora pre netplugd bola ukončená a teraz je nahradená ifplugd.

Viac informácií: http://0pointer.de/lennart/projects/ifplugd

NetworkManager a NetworkManagerDispatcher

Démon NetworkManager automatizuje prepínanie medzi sieťovými pripojeniami. Tento démon je užitočný pre používateľov notebookov, ktorí prepínajú medzi bezdrôtovým pripojením WiFi a pripojením Ethernet. Démon NetworkManagerDispatcher automaticky spúšťa skripty na vykonávanie potrebných operácií (napríklad skripty na nastavenie špecifických smerov smerovania pre pakety), keď NetworkManager zmení stav siete.

Viac informácií: http://www.gnome.org/projects/NetworkManager

Je to démon, ktorý funguje ako server názvov domén. Mali by ste ho spustiť iba vtedy, ak je váš počítač serverom DNS pre vašu sieť.

Viac informácií: http://www.dns.net/dnsrd

Démon nfsd poskytuje podporu pre sieťový komunikačný protokol nfs, ktorý sa používa na poskytovanie prístupu k sieťové zdroje v sieťach TCP/IP. Musíte ho spustiť, ak poskytujete iným používateľom prístup k vašim súborovým systémom pomocou protokolu nfs.

Ďalšie informácie:

Toto je cachovací démon pre službu názvu. Udržuje tabuľku skupín a hesiel pre spustené programy a potom vytvára zapamätaný výsledok pri ďalšej požiadavke na služby, ktoré sú inak príliš pomalé, ako napríklad NIS alebo LDAP. Ak máte tieto služby spustené, mali by ste spustiť aj nscd.

Je to démon, ktorý podporuje Network Time Protocol. Nastavuje systémový čas a synchronizuje ho s časom nastaveným internetovými servermi, ktoré udržiavajú referenčný čas. Ak je váš systém pripojený k internetu (nie?), tak tento démon bude sledovať správne nastavenie systémového času na vašom počítači.

Viac informácií: http://www.ntp.org

Démon oddjobd spúšťa službu com.redhat.oddjob na systémovej zbernici. Každá príležitosť poskytnutá oddjobd je poskytovaná ako samostatná metóda D-Bus. Oddjobd poskytuje podporu na vykonávanie privilegovaných operácií pre neprivilegované aplikácie.

Tento démon by ste mali spustiť iba vtedy, ak používate aplikácie, ktoré to vyžadujú, ako napríklad Conga.

Viac informácií: http://people.redhat.com/nalin/oddjob/oddjob.html,

Tento démon podporuje virtuálne súkromné ​​siete (VPN). Spúšťací skript tohto démona hovorí nasledovné:

OpenVPN je robustná a vysoko flexibilná aplikácia na tunelovanie, ktorá využíva možnosti šifrovania, autentifikácie a certifikácie knižnice OpenSSL na bezpečné tunelovanie siete IP cez jeden port UDP.

Ak je váš systém hostiteľom VPN, pravdepodobne by ste mali spustiť OpenVPN.

Viac informácií: http://openvpn.net

pcscd (PC / SC Smart Card Daemon) je démon pre vývojové prostredie pcsc-lite (softvér na prístup k inteligentnej karte) a (založené na jave) MuscleCard. Zabezpečuje komunikáciu s čítačkami čipových kariet a samotnými čipovými kartami.

(Inteligentná karta je malá doska s plošnými spojmi, ktorá obsahuje buď pamäťový modul, alebo mikroprocesor s pamäťovým modulom. Muscle je skratka pre Movement for the Use of Smart Cards in the Linux Environment.

Viac informácií: http://www.smartcardalliance.org, http://pcsclite.alioth.debian.org, http://www.linuxnet.com/musclecard/index.html

Démon portmapper spravuje pripojenia RPC (vzdialené volanie procedúry). Prevádza čísla programov RPC na čísla portov TCP / IP (alebo UDP / IP). Portmapper najčastejšie používajú NFS a NIS.

Takže ak váš systém závisí od NIS alebo NFS, nevypínajte démona portmap.

Viac informácií: http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

Je to agent prenosu pošty (dopravy). Ak váš systém nekomunikuje s e-mailovým systémom, nemusíte túto službu spúšťať.

Viac informácií: http://www.postfix.org

Tento démon (démon zisťovania smerovača) nájde trasy v lokálnej podsieti. Spúšťa sa v čase zavádzania na pridanie predvolených trás do smerovacích tabuliek.

Viac informácií: http://www.informit.com/articles/article.asp?p=23951&rl=1

restorecond

Toto je démon zo SELinuxu. Restorecond monitoruje vytváranie súborov (pre súbory uvedené v /etc/selinux/restorecond.conf) a zabezpečuje, že súbory majú správny kontext súboru pre zadanú politiku, a tiež definuje predvolený kontext súboru SELinux.

Nevypínajte túto službu. Vyžaduje sa pre SELinux.

Viac informácií: http://fedoraproject.org/wiki/SELinux/Understanding, http://danwalsh.livejournal.com/

Tento démon pravidelne kontroluje, aké operácie by sa mali vykonávať sieťové rozhranie Red Hat (webové rozhranie siete Red Hat) a spúšťa ich. Tieto operácie zahŕňajú inštaláciu, odstránenie alebo aktualizáciu softvéru, reštartovanie systému, inštaláciu konfiguračných súborov atď.

Viac informácií: https://www.redhat.com/rhn/

rpcgssd, rpcidmapd a rpcsvcgssd

Démony rpcgssd a rpcsvcgssd slúžia na zabezpečenie cez RPC. Rpcidmapd konvertuje používateľské mená na čísla UID a GID.

Ak používate NFS alebo NIS, mali by ste mať spustených týchto démonov.

Ďalšie informácie:

readahead_early a readahead_later

Démon readahead zaisťuje, že spúšťacie programy sa načítajú do pamäte pred ich použitím, čo skracuje čas zavádzania.

saslauthd

Toto je démon autentifikačného servera SASL. SASL (Simple Authentication and Security Layer) pridáva možnosti autentifikácie k protokolom založeným na vzdialených pripojeniach.

Viac informácií: http://asg.web.cmu.edu/sasl

poslať mail

Je to server SMTP (Simple Mail Transfer Protocol). Sendmail preposiela poštu z jedného systému do druhého, to znamená, že je to Mail Transport Agent. Ak používate poštové servery ako Thunderbird alebo Evolution, nemusíte spúšťať sendmail.

Viac informácií: http://www.sendmail.org

riešenie problémov

Toto je démon na riešenie problémov SELinux. Setroubleshooter je jednou z veľkých nedávnych inovácií v SELinux. Setroubleshooter poskytuje používateľom spätnú väzbu v reálnom čase o zlyhaniach SELInux AVC (Access Vector Cache). Okrem toho je táto spätná väzba poskytovaná vo vhodnom formáte.

Viac informácií: https://hosted.fedoraproject.org/projects/setroubleshoot

Tento démon monitoruje hodnoty senzorov SMART (Self-Monitoring, Analysis and Reporting Technology) nainštalovaných v mnohých typoch jednotiek, napríklad v pevných diskoch SCSI-3. Démon monitoruje normálnu prevádzku takýchto zariadení a vykonáva autotest. Ak váš hardvér podporuje technológiu SMART, musíte túto službu spustiť.

Ďalšie informácie:

spamassin

Tento démon používa program Apache SpamAssassin na kontrolu nevyžiadanej pošty. Zvyčajne beží v spojení so serverom agenta doručovania pošty (MDA). Ak na prístup k pošte používate klientske programy ako Thunderbird alebo Evolution, nemusíte spúšťať spamassassin.

Viac informácií: http://spamassassin.apache.org

Toto je démon pre otvorený protokol ssh. Ssh nahrádza nezabezpečené programy rsh a rlogin a poskytuje šifrované spojenia medzi hostiteľmi v nezabezpečených sieťach. Ak používate pripojenia k iným systémom cez otvorený internet, musíte použiť ssh a spustiť tohto démona.

Viac informácií: http://www.ssh.com, http://www.openssh.com

syslog je štandardný systém protokolovania Linuxu. Nevypínajte ho.

Viac informácií: http://www.syslog.org

Tento démon je súčasťou balíka Samba. Umožňuje používateľom domény Windows pripojiť sa ako používatelia Unix k serverom Unix. Tento démon by sa mal spustiť, keď máte čo do činenia so zmiešanou sieťou počítačov Windows a Linux / Unix.

Viac informácií: http://www.samba.org/samba/docs/man/Samba-...on/winbind.html, http://www.samba.org

Toto je server písiem. Tento démon načítava fonty do pamäte, takže grafické aplikácie bežia rýchlejšie, ako keby bolo potrebné načítať fonty z pevného disku. Táto služba sa musí spustiť, aby sa zlepšil výkon aplikácií vo vašom systéme.

Viac informácií: http://linuxreviews.org/howtos/xfree/xfs

Táto služba spája klienta NIS s doménou NIS. Písmená „yp“ v jeho názve pochádzajú zo „žltých stránok“, pretože zoznamy NIS sú ako telefónne zoznamy žltých stránok. Túto službu musíte spustiť iba vtedy, ak váš systém používa NIS (Network Information Service) na poskytovanie prístupu k rozpočtom používateľov a názvom systémov.

Viac informácií: http://www.linux-nis.org

yum-updatesd

yum-updatesd monitoruje dostupnosť aktualizácií softvéru a odosiela upozornenia na tieto aktualizácie e-mailom, d-bus alebo systémovými správami a môže tiež produkovať automatická aktualizácia ON. Správy D-bus prijíma utilita „puplet“ (aktualizátor balíkov), ktorá informuje používateľa o dostupnosti aktualizácie a zároveň používateľovi umožňuje aktualizáciu nainštalovať.

Viac informácií: http://linux.duke.edu/projects/yum, http://www.redhat.com/magazine/024oct06/features/fc62

Vďaka ZOOL pre informácie uvedené na webovej stránke http://www.centrlan.ru/node/17929

Zdroj neuvedený

Každý zo začínajúcich používateľov Linuxu skôr či neskôr narazí na nejaké problémy pri nastavovaní a organizovaní fungovania svojho systému. A každý z nováčikov takmer určite počul od skúsenejších používateľov radu: "Pozrite sa do denníkov." Táto rada je dobrá, ale začiatočník stále potrebuje vedieť: čo sú guľatiny a kde ich nájsť! Pokúsim sa vám teda v tomto článku povedať, čo a kde hľadať.

V programátorskom slangu sú „protokoly“ protokoly práce, ktoré sú udržiavané samotným operačným systémom a nezávisle mnohými programami. Slovo „log“ sa v tomto zmysle často používa ako synonymum slova „protokol“. Existujú dve hlavné situácie, v ktorých je potrebné analyzovať protokol: keď niečo v systéme nefunguje tak, ako sme očakávali (vyriešenie problému), a keď existuje podozrenie, že systém bol napadnutý nejakým narušiteľom a je potrebné zistiť, čo sa presne stalo, ako sa to stalo a čo je potrebné urobiť, aby sme sa vysporiadali s následkami invázie.

Jedným z najznámejších prípadov použitia protokolových súborov na detekciu vniknutia útočníka je príbeh o zadržaní známeho hackera Kevina Mitnicka špecialistom na počítačovú bezpečnosť Tsuomo Shimomura. Tu je jeden odsek z článku, ktorý popisuje, ako sa to stalo.

"Na Vianoce, keď bol Shimomura na dovolenke lyžovať v Nevade, sa niekto (už vieme kto) vlámal do jeho super zabezpečeného domáceho počítača v Solana Beach v Kalifornii a začal kopírovať jeho súbory - stovky utajovaných súborov. zo San Diega. Superpočítačové centrum, kde Shimomura pracoval, si všimlo zmeny v systémových „log“ (log) súboroch a rýchlo si uvedomilo, čo sa deje. do záložného počítača v San Diegu. Študent zavolal Shimomura a ten sa ponáhľal domov urobiť inventúru ukradnutého tovaru ."

Nebudem tu rozprávať celý príbeh, pre nás je dôležité poznamenať len to, že analýza protokolov fungovania systému slúžila ako základ pre úspešnosť vyšetrovania protiprávneho konania. Podrobnejší popis, ako takéto vyšetrovania prebiehajú, nájdete v článku. Aby ste však mohli použiť výsledky protokolovania, musíte pochopiť, ako sa protokoly vytvárajú, kde sú uložené a čo sa z nich dá extrahovať. Tento článok je venovaný zváženiu všetkých týchto otázok.

Ako sa generujú správy pre protokol

Musíme začať tým, že pri vytváraní programov v jazyku C majú programátori možnosť v prípade potreby vložiť volanie špeciálnych funkcií openlog, setlogmask, syslog a closelog zahrnuté v štandardnej knižnici C. Tieto funkcie sa používajú na odosielanie správ o určitých udalostiach počas vykonávania programu špeciálnemu systémovému démonovi syslogd vedenie systémového protokolu. Funkcia openlog nadviaže spojenie s démonom syslogd, funkcia syslog vygeneruje špecifickú správu, ktorá sa má zapísať do protokolu, a funkciu closelog zatvorí otvorený odkaz.

Správy generované funkciou syslog, pozostávajú z viacerých polí oddelených medzerami. Každá správa začína poľom PRI, ktorý zakódoval informácie o kategórii zariadenia a úrovni závažnosti alebo priorite správy.

Kategória (zariadenie) je informácia o tom, do ktorej triedy daná správa patrí. Kategória je zakódovaná číslom od 0 do 23. Existujú nasledujúce kategórie (sú definované v súbore /usr/include/sys/syslog.h):

Stôl 1.

Číselná hodnotaSymbolDešifrovanie
0 kern Správy jadra
1 užívateľ Určené pre rôzne správy z používateľských programov. (Správy z používateľských programov)
2 poštou Správy z poštového systému.
3 démon Správy od tých systémových démonov, ktoré na rozdiel od FTP alebo LPR nemajú špecifické kategórie.
4 auth Všetko, čo súvisí s autorizáciou používateľa, ako je prihlásenie a su (zabezpečenie / prístupové práva)
5 syslog Logovací systém môže zaznamenávať správy sám od seba.
6 lpr Správy z tlačového systému.
7 správy Správy zo spravodajského servera. (Netové správy, USENET)
8 uucp Správy z protokolu kopírovania UNIX-to-UNIX. Toto je súčasť histórie UNIX a s najväčšou pravdepodobnosťou to nikdy nebudete potrebovať (hoci stále sa časť pošty doručuje cez UUCP).
9 cron Správy zo systémového plánovača.
10 authpriv To isté ako auth, ale správy v tejto kategórii sa zapisujú do súboru, ktorý môže čítať len niekoľko používateľov (možno je táto kategória zvýraznená, pretože správy, ktoré do nej patria, môžu obsahovať otvorené používateľské heslá, ktoré by nemali vidieť neoprávnené osoby, a preto protokolové súbory musia mať príslušné povolenia).
11 ftp Prostredníctvom tejto kategórie môžete nakonfigurovať váš FTP server na zaznamenávanie jeho akcií.
od 12 do 15 - Vyhradené pre systémové použitie.
od 16 do 23miestne0 - miestny7 Kategórie vyhradené na použitie správcom systému. Kategória local7 sa zvyčajne používa pre správy generované počas fázy zavádzania systému.

Kategória auth má zastarané synonymum bezpečnosť ktorý sa neodporúča používať. Okrem toho existuje špeciálna kategória značka(nemá digitálny ekvivalent), ktorý je priradený k jednotlivým správam generovaným samotným démonom syslogd... Táto kategória sa používa na vkladanie špeciálnych značiek do protokolu v určenom časovom intervale (štandardne každých 20 minút), čo umožňuje napríklad s 20-minútovou presnosťou vedieť, kedy je váš počítač zamrznutý.

Všimnite si, že kategória vo všeobecnosti nemá nič spoločné s názvom programu, ktorý posiela správy démonovi. syslogd... Ako sa hovorí, každá náhoda je čistá náhoda. Niektoré programy môžu navyše generovať správy rôznych kategórií. Napríklad démon telnetd v prípade neúspešných pokusov o protokolovanie generuje správy kategórie authpriv a v ostatných prípadoch kategorizuje svoje príspevky démon.

Druhý parameter, na základe ktorého sa tvorí hodnota poľa PRI, je úroveň alebo priorita správy (priorita), teda informácia o miere dôležitosti správy. Štandardne je nastavených 8 úrovní závažnosti (tiež sú definované v súbore /usr/include/sys/syslog.h), ktoré sú zakódované číslami od 0 do 7:

Tabuľka 2

Číselná hodnotaSymbol Dešifrovanie
0 vynoriť sa(starý názov PANIK) Pohotovosť. Systém je nefunkčný.
1 upozorniť Úzkosť! Vyžaduje sa okamžitý zásah.
2 krit Závažná chyba (kritický stav).
3 chybovať(starý názov ERROR) Chybná správa.
4 pozor(starý názov WARN)Pozor.
5 upozorniť Informácie o nejakej bežnej, ale dôležitej udalosti.
6 Info Oznámenie.
7 ladenie Správy generované počas ladenia.

Lúka PRI správa sa tvorí nasledovne: číselná hodnota kategórie sa vynásobí 8 a pripočíta sa k číselnej hodnote priority, výsledné číslo sa uzatvorí do lomených zátvoriek a zapíše sa do poľa.

Sledovanie poľa PRI V správe sú zahrnuté nasledujúce polia:

  • ČASOVÁ ZNAČKA- čas vytvorenia správy,
  • MENO HOSŤA- názov hostiteľa alebo IP adresa v desiatkovej sústave,
  • MSG- ľubovoľný text správy - nejaký textový (informačný) reťazec v kóde US-ASCII (0x20 - 0x7e).

Čas (miestny!) Zapisuje sa vo formáte: 13. február 21:12:06. Ak je číslo dňa jednociferné, potom sa pred neho umiestni ďalšia medzera (nie 0!). Pozor na absenciu ročníka a zóny v dátume, s čím treba pri organizovaní počítať dlhodobé skladovanie log súbory. Aby bol čas v správe správny, musí byť synchronizovaný (napríklad pomocou protokolu NTP).

Názov hostiteľa je súčasťou správy, aby nedošlo k zámene správ od rôznych hostiteľov, keďže, ako bude ukázané nižšie, protokolovanie možno vykonať na jednom z vyhradených počítačov v sieti. Názov hostiteľa je jednoduchý sieťový názov počítača bez zadania domény. Ak má počítač niekoľko rozhraní s rôznymi adresami IP, potom možno ako názov hostiteľa alebo adresu použiť ktorékoľvek z nich.

Text správy ( MSG) zvyčajne obsahuje štítok ( TAG), ktorý ukazuje na program alebo proces, ktorý vydal túto správu, a na telo správy ( OBSAH). Štítok môže obsahovať latinské písmená a čísla. Typicky sa ako označenie používa jednoduchý názov programu, niekedy za ním nasleduje identifikátor procesu, uzavretý v hranatých zátvorkách. Telo správy je oddelené od štítku špeciálnymi znakmi – v Linuxe sú to zvyčajne dvojbodka a medzera.

Spracovanie správ Syslogd

Všetky správy boli vygenerované jednotlivé programy pomocou funkcie syslog odoslané cez zásuvku / dev / log systémový démon syslogd kto je zodpovedný za spracovanie týchto správ. Musím povedať, že v skutočnosti sú v systéme spustení dvaja logovací démoni - syslogd a klogd... Oba démoni sú súčasťou balenia sysklogd, ktorej najnovšiu verziu nájdete na webovej stránke.

Démon klogd zodpovedný za zaznamenávanie udalostí vyskytujúcich sa v jadre systému. Potreba samostatného démona klogd sa vysvetľuje skutočnosťou, že jadro nemôže používať štandardnú funkciu syslog... Faktom je, že štandardné knižnice (vrátane knižnice, v ktorej sa funkcia nachádza syslog) sú určené len pre bežné aplikácie. Keďže aj jadro potrebuje podobné funkcie, obsahuje vlastné knižnice, ktoré nie sú dostupné pre aplikácie. Preto jadro používa vlastný mechanizmus generovania správ. Démon klogd je navrhnutý tak, aby organizoval spracovanie týchto správ. V zásade môže takéto spracovanie vykonávať úplne nezávisle a nezávisle od syslogd, napríklad zapísaním týchto správ do súboru, no vo väčšine prípadov sa použije predvolené nastavenie klogd kde sú všetky správy z jadra preposielané rovnakému démonovi syslogd.

Aby ste sa uistili, že démoni syslogd a klogd bežiaci na vašom systéme, spustite príkaz ps -ax | grep log... Tento príkaz mi dal nasledujúci výsledok:

$ ps -ax | grep log 569? S 0:00 syslogd -m 0 574? S 0:00 klogd -x 1013? S 0:00 prihlásenie - kos 1191? S 0:00 kalarmd --login Prvé dva riadky označujú, že v systéme bežia logovací démoni.

Démon spracováva správy syslogd spočíva v tom, že neustále sleduje vzhľad správ a každý prijatý záznam porovnáva s pravidlami, ktoré sú v súbore /etc/syslog.conf... Každé pravidlo je zapísané ako riadok súboru /etc/syslog.conf pozostávajúce z dvoch polí. Ľavé pole ("selektor") určuje jednu alebo niekoľko šablón, podľa ktorých sa vyberajú správy. Šablóny sú oddelené bodkočiarkou (pozri príklad súboru nižšie /etc/syslog.conf). Pravý okraj ("akcia") určuje poradie, v akom budú vybrané správy spracované. Polia sú oddelené jednou alebo viacerými medzerami alebo tabulátormi.

Každá šablóna v poli "selektor" má tvar "category.level" (teda "zariadenie.priorita"). Hodnoty poľa „kategória“ môžu byť:

  • jeden z konvenčných názvov kategórií uvedených v tabuľke 1,
  • niekoľko takýchto mien (v tomto prípade sú oddelené čiarkami)
  • alebo znak * (čo znamená "všetky kategórie").

Hodnoty poľa "úroveň" môžu byť:

  • jeden z podmienených názvov úrovne uvedených v tabuľke 2,
  • znak * (zaznamenajte všetky správy tejto kategórie bez ohľadu na úroveň),
  • alebo slovo žiadny(nenahrávať správy v tejto kategórii).

Zadanie konkrétnej hodnoty v poli "úroveň" sa interpretuje ako "všetky hodnoty tejto úrovne a vyššej". Ak potrebujete zaznamenať správy iba jednej úrovne, musíte pred zadanú hodnotu vložiť znak rovnosti ("="). Ak chcete zaznamenať správy všetkých úrovní, okrem uvedenej úrovne, potom sa pred názov úrovne umiestni výkričník ("!"). Súčasné umiestnenie týchto dvoch značiek sa interpretuje ako „nezaznamenávať správy špecifikovanej úrovne alebo vyššej“.

Veľké a malé písmená v poli "selektor" sa nelíšia. Môžete použiť aj čísla (pozri /usr/include/syslog.h). Okrem kategórií uvedených v tabuľke 1, značka(bežné časové pečiatky) a bezpečnosť(zastarané synonymum pre auth). Okrem hodnôt priority uvedených v tabuľke 2 môžete použiť varovať(synonymum pre pozor), chyba(synonymum pre chybovať), panika(synonymum pre vynoriť sa).

Keď sa kategória a úroveň prijatej správy zhoduje s jednou zo šablón poľa „selektor“ nejakého reťazca, syslogd spracuje záznam v súlade s akciou uvedenou v poli „akcia“ tohto riadku.

Pole „akcia“ môže obsahovať

  • musí byť zadaný názov bežného súboru (súbor denníka) a úplná cesta k súboru počnúc koreňovým adresárom „/“ a ak zadaný súbor neexistuje, syslogd vytvára to,
  • názov potrubia - FIFO; v tomto prípade sa pred názov umiestni zvislá čiara ("|") a pred spustením je potrebné vytvoriť samotný kanál syslogd tím mkfifo,
  • smerovanie na terminál alebo konzolu (ako zariadenie: / dev / tty1),
  • odkaz na vzdialený hostiteľ (pred ktorým je symbol @),
  • alebo zoznam užívateľov (oddelených čiarkami), na ktorých terminály sa bude posielať správa podľa tohto pravidla. Namiesto zoznamu používateľov môžete vložiť hviezdičku (*), čo znamená, že správy sa budú odosielať všetkým používateľom pracujúcim v tento moment v systéme.

Pole „akcia“ najčastejšie stále obsahuje názov súboru denníka. Okrem toho môžete pred názov súboru vložiť znamienko mínus ("-"), čo znamená, že systém môže súbor uložiť do vyrovnávacej pamäte a nevyprázdniť ho po každom zápise správy na disk. To samozrejme urýchľuje prácu, najmä ak sa do protokolu zapisuje veľa veľkých správ, ale môže to viesť k strate niektorých správ v prípade neočakávaného zlyhania systému, teda presne vtedy, keď sú takéto správy obzvlášť potrebné. . Môžete tiež zadať tlačiareň - / dev / lp0 ako zariadenie v poli "akcia". Túto možnosť „akcie“ je vhodné použiť v prípadoch, keď ide o obzvlášť dôležité systémy. Protokoly, ktoré sú vytlačené, nemôžu hackeri vymazať ani zmeniť, takže je to dobré využitie pre starú ihličkovú tlačiareň.

Okrem riadkov s pravidlami v súbore /etc/syslog.conf môže obsahovať prázdne riadky a riadky komentárov začínajúce znakom #. Viac o štruktúre súborov /etc/syslog.conf môžete si prečítať manuálovú stránku syslog.conf, kde nájdete niekoľko príkladov položiek pravidiel v tomto súbore. Všimnite si, že pri zadávaní párov "category.level" v súbore syslog.conf nemôžete použiť číselné hodnoty uvedené v tabuľkách 1 a 2, povolené sú len ich konvenčné názvy.

Ak sa správa zhoduje so vzormi dvoch alebo viacerých riadkov, bude spracovaná podľa každého z týchto pravidiel (to znamená, že spracovanie správy sa nezastaví pri prvom úspechu). To znamená, že pre jednu správu je možné vykonať ľubovoľný počet akcií. Preto môžete zapísať správu do súboru denníka a odoslať ju používateľovi (užívateľom) alebo vzdialenému hostiteľovi.

Okrem toho, ak je v poli "selektor" uvedených niekoľko párov "category.level" (oddelených bodkočiarkou), potom nasledujúce páry môžu zrušiť akciu predchádzajúcich. Príklad takéhoto zrušenia môžete vidieť v zozname súborov nižšie /etc/syslog.conf: Všetky správy s úrovňou rovnou alebo vyššou ako info sa zapisujú do súboru / var / log / správ, ale správy z kategórií mail, authpriv a cron sa preskočia (nezapíšu sa).

Výpis 1. Súbor /etc/syslog.conf zo systému postaveného na základe distribučnej súpravy Red Hat Linux 7.1 (práve som preložil do ruštiny komentáre obsiahnuté v tomto súbore a vybral tučným písmomčiary pravidiel).
# Vytlačte všetky správy z jadra do konzoly. # kern. * / dev / konzola# Zapisovať všetky správy na informačnej úrovni alebo vyššej, # okrem e-mailových správ obsahujúcich dôverné # overovacie správy a správy cron. * .info; mail.none; authpriv.none; cron.none / var / log / messages# Zapisujte správy obsahujúce dôverné # overovacie informácie do samostatného súboru bez ohľadu na ich úroveň. authpriv. * / var / log / secure# Všetky správy poštového systému by sa tiež mali zaznamenávať oddelene. mail. * / var / log / maillog# Zaznamenajte akcie démona cron. cron. * / var / log / cron# Núdzové správy by mali okamžite dostať # všetci používatelia systému * .emerg *# Správy od spravodajských služieb na úrovni kritu a vyššej by sa mali zapisovať do samostatného súboru. uucp, news.crit / var / log / spooler# Správy zobrazené počas fázy zavádzania by sa mali skopírovať do súboru boot.log local7. * /var/log/boot.log
Ako vidíte, väčšina správ sa jednoducho zapíše do rôznych protokolových súborov umiestnených v adresári / var / log alebo jeho podadresárov a hlavný systémový protokolový súbor v Red Hat Linuxe je súbor / var / log / správy... Nie sú v ňom zahrnuté iba správy z kategórií mail, authpriv a cron (pre ktoré sú vyčlenené samostatné súbory). Pozrime sa na tento súbor a na jeho príklade zvážime, čo je zapísané v protokolových súboroch.

Log súbor / var / log / správy

Samozrejme, tu nie je možné povedať o obsahu každého riadku tohto súboru. Aby si čitateľ urobil predstavu o tom, aké informácie možno nájsť v protokole, uvádzame samostatné riadky správ s veľmi krátkymi komentármi.

Každý riadok v protokolovom súbore obsahuje jeden záznam správy pozostávajúci z nasledujúcich polí správy oddelených medzerami:

  • dátum v štandardnom textovom formáte (pole ČASOVÁ ZNAČKA z príspevku syslog),
  • názov hostiteľa (pole MENO HOSŤA z príspevku syslog)
  • text správy (polia TAG a OBSAH z príspevku syslog)

Po prvé, stojí za zmienku, že ak váš počítač nefunguje nepretržite, ale v noci sa vypína, potom v tomto súbore nájdete záznamy niekoľkých „pracovných cyklov“, počnúc spustením počítača a končiac jeho vypnutím. Takýto cyklus začína správou o spustení logovacích démonov (to je pochopiteľné, pred ich spustením sa správy nezaznamenali):

17. september 08:32:56 kos3 syslogd 1.4-0: reštart. 17. septembra 08:32:56 kos3 syslog: syslogd uspel 17. septembra 08:32:56 jadro kos3: klogd 1.4-0, zdroj denníka = / proc / kmsg spustený. 17. septembra 08:32:56 jadro kos3: Kontrola /boot/System.map-2.4.2-2 17. septembra 08:32:56 kos3 syslog: spustenie klogd bolo úspešné

  • - Ktorá verzia jadra sa používa: 17. septembra 08:32:56 jadro kos3: Verzia Linuxu 2.4.2-2 ( [e-mail chránený]) (gcc verzia 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) # 1. nedeľa 8. apríl 20:41:30 EDT 2001
  • - S akými parametrami bolo jadro spustené: 17. septembra 08:32:56 jadro kos3: Príkazový riadok jadra: auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2
  • - Informácie o type procesora a množstve pamäte RAM: 17. septembra 08:32:56 jadro kos3: Zistený procesor 1594,849 MHz. 17. septembra 08:32:56 jadro kos3: Pamäť: 125652k / 130560k k dispozícii (1365k kód jadra, 4200k rezervované, 92k dáta, 236k init, 0k highmem) 17.september 08:32:56 I CPU ker2K1 cache:56 kos:3 , L1 D vyrovnávacia pamäť: 8 kB 17. septembra 08:32:56 jadro kos3: CPU: vyrovnávacia pamäť L2: 256 kB 17. septembra 08:32:56 jadro kos3: CPU: Intel (R) Pentium (R) 4 CPU 1,60 GHz krokovanie 02
  • - Informácie o diskovej pamäti (vrátane informácií o geometrii disku, štruktúre diskových oddielov a použitých prerušeniach): 17. septembra 08:32:56 jadro kos3: hda: MAXTOR 6L020J1, jednotka ATA DISK 17. septembra 08:32:56 jadro kos3: hdc: SAMSUNG CD-ROM SC-148C, ATAPI CD / DVD-ROM mechanika Sep 17 08:32:56 kos3 kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Sep 17 08:32:56 kos3 kernel: ide1 at 0x177- 0x376 na irq 15. september 17 08:32:56 kos3 jadro: hda: 40132503 sektorov (20548 MB) s 1819 kiB vyrovnávacou pamäťou, CHS = 2498/255/63, UDMA (100: 08. september 56, časť 17: kosker 56: 3. časť: kontrola: 17. september 08:32:56 kos3 jadro: hda: hda1 hda2 hda3 hda4< hda5 hda6 hda7 >17. septembra 08:32:56 jadro kos3: Disketová jednotka (jednotky): fd0 je 1,44 M
  • - Informácie o periférii: 17. september 08:32:56 jadro kos3: usb-uhci.c: USB UHCI na I/O 0x1820, IRQ 11. september 17 08:32:56 jadro kos3: usb-uhci.c: Zistené 2 porty september 17 08:32:56 jadro kos3: ttyS00 na 0x03f8 (irq = 4) je 16550A Sep 17 08:32:56 jadro kos3: ttyS01 na 0x02f8 (irq = 3) je 16550A 26350A Sep 16350 : eth0: Ethernetový adaptér založený na Intel (R) 8255x 17. september 08:32:56 jadro kos3: Adaptér Intel (R) PRO / 100 Fast Ethernet – načítateľný ovládač, ver 1.5.6 sep 17 08:32:56 jadro kos3: PCI: Nájdené IRQ 11 pre zariadenie 02: 08.0
  • - Informácie o spustení jednotlivých služieb a služieb: 17. septembra 08:32:56 jadro kos3: NET4: Linux TCP / IP 1.0 pre NET4.0 17. septembra 08:32:56 jadro kos3: IP Protokoly: ICMP, UDP, TCP, IGMP 17. septembra 08:32:56 jadro kos3: NET4: Unix doménové sockety 1.0 / SMP pre Linux NET4.0. 17. septembra 08:32:56 jadro kos3: parport0: štýl PC na 0x378 (0x778) 17. septembra 08:32:56 jadro kos3: parport0: irq 7 zistené 17. septembra 08:32:42 kos3 rc.sysinit: Zapnutie používateľa a skupinové kvóty pre lokálne súborové systémy: úspešné 17. september 08:32:43 kos3 rc.sysinit: Povolenie odkladacieho priestoru: úspešné 17. september 08:32:44 kos3 init: Vstup na úroveň spustenia: 3. september 17 08:32:45 kos3 kudzu: Aktualizácia / etc / fstab uspel 17. september 08:32:55 kos3 kudzu: uspel 17. september 08:32:55 sieť kos3: Nastavenie parametrov siete: úspešné 17. september 08:32:55 sieť kos3: Zvýšenie rozhrania lo: úspešné 17. september 08 : 32:56 sieť kos3: Rozhranie eth0 je aktivované: úspešne 17. september 08:32:56 tabuľka kláves kos3: Načítava rozloženie klávesnice: 17. septembra 08:32:56 tabuľka klávesov kos3: Načítava systémové písmo: 17. september 08:32:56 kos3 náhodné : Inicializuje generátor náhodných čísel: úspešne 17. september 08:32:41 kos3 rc.sysinit: Konfigurácia parametrov jadra: úspešná 17. september 08:32:41 kos3 rc.sysinit: Nastavenie predvoleného písma (cyr-sun16): úspešné september 17 08:32:41 kos3 rc.sysinit: Aktivácia swapovacích oddielov: úspešná 17. september 08:32:41 kos3 rc.sysinit: Nastavenie názvu hostiteľa kos3: úspešné 17. september 08:33:03 kos3 xinetd: spustenie xinetd úspešné 08. september: 17. 33:05 kos3 gpm: spustenie gpm úspešné 17. september 08:33:05 kos3 crond: úspešné spustenie crond 17. september 08:33:06 kos3 xfs: počúvanie na porte 7100 17. september 08:33:06 kos3 xfs: spustenie xfs úspešné
  • - Informácie o pripájaní súborových systémov: 17. septembra 08:32:56 jadro kos3: VFS: Pripojený root (súborový systém ext2) len na čítanie. 17. septembra 08:32:56 jadro kos3: Pridanie swapu: 265032 k swap-space (priorita -1) 17. septembra 08:32:56 jadro kos3: MSDOS FS: Použitie kódovej stránky 866 17. septembra 08:32:56 MSDOS kernel kos3 : IO znaková sada koi8-r 17. september 08:32:41 kos3 rc.sysinit: Pripojenie súborového systému USB: úspešné 17. september 08:32:41 kos3 rc.sysinit: Úspešná kontrola koreňového súborového systému 17. september 08:32:41 kos3 rc.sysinit : Opätovné pripojenie koreňového súborového systému v režime čítania a zápisu: úspešné 17. septembra 08:32:41 kos3 rc.sysinit: Pripojenie súborového systému proc: úspešné 17. septembra 08:32:41 kos3 fsck: /: čisté, 30407/160000 súborov, 95410/3199 bloky 17. septembra 08:32:42 kos3 fsck: / HOME: čistý, 6573/432864 súborov, 689090/863722 blokov 17. septembra 08:32:42 kos3 fsck: / usr: čistý, 55105/329968 súborov, 68959 blokov, 68852 súborov 17 08:32:42 kos3 rc.sysinit: Kontrola súborových systémov bola úspešná
  • - Hlásili sa niektoré chybové hlásenia: 17. september 08:32:42 pripojenie kos3: pripojenie SMB zlyhalo 17. september 08:32:42 pripojenie kos3: Odoslanie paketu zlyhalo na 10.104.129.245 (137) ERRNO = sieť je nedostupná 17. september 08:32: 42 kos3 mount: mount: / dev / sda4: neznáme zariadenie 17. september 08:32:59 kos3 mount: chyba pri pripájaní k 192.168.36.20:139 (Žiadna trasa k hostiteľovi) Sep 17 08:32:59 kos3 mount: mount: / dev / sda4: neznáme zariadenie
  • - Správy o prihlasovaní používateľov: 17. september 08:33:14 prihlásenie kos3 (pam_unix): relácia otvorená pre používateľa kos PRIHLÁSENÍM (uid = 0) 17. sep 08:33:14 kos3 - kos: PRIHLÁSIŤ SA NA tty1 BY kos 17. september 08 :41:39 kos3 su (pam_unix): chyba overenia; prihlasovacie meno = kos uid = 500 euid = 0 tty = ruser = rhost = používateľ = root
  • - A nakoniec správy zaznamenané pri vypnutí počítača, napríklad: 17. september 10:30:07 kos3 rc: Zastavenie tabuľky kľúčov: úspešné 17. september 10:30:07 server písiem kos3: ukončenie 17. september 10:30:08 kos3 xfs: zastavenie xfs úspešné 17. september 10:30:08 kos3 gpm: zastavenie gpm úspešné 17. september 10:30:08 kos3 xinetd: Ukončenie ... 17. september 10:30:10 kos3 rpc.statd: Zachytený signál 15, un - registrácia a výstup. 17. septembra 10:30:11 jadro kos3: Protokolovanie jadra (proc) sa zastavilo. 17. septembra 10:30:11 jadro kos3: Ukončenie démona protokolu jadra. 17. september 10:30:12 kos3 syslog: zastavenie klogd úspešné 17. september 10:30:12 kos3 odchod na signál 15

    Záznamy v iných protokolových súboroch uvedených v súbore majú približne rovnakú štruktúru. /etc/syslog.conf.

    Logger a tailf príkazy

    Z predchádzajúceho popisu môžeme usúdiť, že vydávanie všetkých správ pre systémové protokoly by mal programátor nastaviť už vo fáze tvorby programu. Nie je to celkom pravda. Používateľ má tiež možnosť poslať správu démonovi syslogd... Na to má Linux príkaz drevorubač, ktorý zabezpečuje odoslanie správy z príkazového riadku (sh, bash atď.). Je súčasťou balíka util-linux. Prirodzene, tento príkaz je primárne určený na poskytovanie možností protokolovania, keď používateľ vytvára rôzne druhy skriptov shellu. Dá sa však spustiť aj priamo z príkazového riadku, napríklad na zoznámenie sa s možnosťami logovacieho systému. Formát spustenia príkazu: logger [-isd] [-f súbor] [-p PRI] [-t TAG] [-u socket] Parametre príkazového riadku majú nasledujúci význam:

    • -i- v správe uveďte číslo procesu
    • -s- duplicitná správa pre stderr
    • -d- pri odosielaní správ použiť režim datagramu (namiesto bežného streamovania)
    • -f názov súboru- uložiť správu do určeného súboru (štandardne sa používa / var / log / správy)
    • -p zariadenie.úroveň- nastaviť kategóriu a prioritu správy (štandardne: user.notice)
    • -t TAG - nastavte pole TAG
    • -u zásuvka- poslať správu do určeného soketu namiesto volania syslogd
    • MSG- Text správy

    Posielajte viac správ pomocou programu drevorubač a obdivovať výsledok v súbore / var / log / správy(pokiaľ ste, samozrejme, nezmenili predvolené nastavenie).

    Mimochodom, existuje veľmi zaujímavý spôsob zobrazenia správ zapísaných do súboru / var / log / správy tím drevorubač... Táto metóda je založená na použití špeciálny program chvostík... Otvorte okno terminálu, získajte práva superužívateľa (pomocou príkazu su) a spustite príkaz v tomto okne
    tailf / var / log / správy
    Potom prepnite na iný terminál a spustite príkaz tam logger ľubovoľný_text... Vaša správa sa okamžite zobrazí v okne, kde je spustený program chvostík... To znamená, že pomocou tohto programu môže správca systému sledovať zaznamenávanie nových správ do protokolu v reálnom čase. Je pravda, že správca systému pravdepodobne nebude mať čas sledovať správanie systému týmto spôsobom (pokiaľ nejde o núdzové situácie). Preto boli vyvinuté špeciálne programy na analýzu protokolov. Ale o nich trochu nižšie, ale teraz prejdime k otázke, ako zorganizovať dohľad nad vzdialeným počítačom (pamätáte si, ako ste chytili útočníka Shimomura?).

    Prihlásenie do siete

    Ako už bolo spomenuté, správy denníka môže odosielať démon syslogd vzdialenému hostiteľovi. Ale niekto to tam musí akceptovať. Ukazuje sa, že to robí ten istý démon syslogd beží na tomto vzdialenom hostiteľovi. Presnejšie, syslogd na akomkoľvek počítači môže počúvať nielen na / dev / log soket (čím prijíma správy z lokálnych zdrojov), ale aj na porte 514 / UDP, ktorý zabezpečuje prijímanie (a následné zapisovanie) správ z iných počítačov v lokálnej sieti. do lokálneho súboru). To poskytuje možnosť vytvoriť „log server“, čo môže byť veľmi výhodné pre správcu systému (všetky udalosti v sieti sú monitorované na jednom mieste) a tiež zvyšuje bezpečnosť siete, pretože správy o penetrácii hacker na jedného zo sieťových hostiteľov nemôže byť týmto hackerom okamžite odstránený z protokolu.

    Na nastavenie tohto „sieťového protokolovania“ je však potrebné určité úsilie navyše.

    Po prvé, keďže port 514 / UDP sa používa na odosielanie a prijímanie správ cez sieť, musí byť dostupný na oboch počítačoch (klient aj server). Ak to chcete urobiť, v súbore / etc / služby linka musí byť prítomná na oboch počítačoch
    syslog 514 / udp
    Ak takýto riadok v / etc / služby chýba, syslogd nemôže prijímať správy ani ich odosielať do siete, pretože nemôže otvoriť port UDP. Ak táto situácia nastane, syslogd okamžite zastaví písanie akýchkoľvek správ, dokonca aj do lokálneho denníka. Navyše, ako ukazuje príkaz ps, zostáva v pamäti a dokonca ukladá správy do niektorých vyrovnávacích pamätí, pretože ak reťazec " syslog 514 / udp " obnoviť v súbore / etc / služby na klientovi, potom sa v protokole stále zobrazujú aspoň niektoré „chýbajúce“ správy (po reštarte syslogd).

    Po druhé, pri spustení démona syslogd server musí mať možnosť -r ktorý poskytuje možnosť vzdialeného protokolovania (v predvolenom nastavení je to démon syslogdčaká iba na správy z lokálneho soketu). Ako a kde nastaviť túto možnosť bude popísané nižšie, v časti o spustení démona. syslogd.

    No a do tretice treba podľa toho opraviť nastavenia v súboroch. /etc/syslog.conf na oboch počítačoch. Napríklad, ak chcete presmerovať všetky správy na protokolovací server, musíte zapísať do súboru na klientskom počítači /etc/syslog.conf riadok ako tento:
    *. * @meno hosťa
    Ak počas štartu démona syslogd server bude nedostupný (napríklad je momentálne odpojený od siete) alebo ho nebude možné nájsť podľa názvu (služba DNS nefungovala správne) syslogd vykoná ďalších 10 pokusov o nájdenie servera a iba ak potom server nenájdete, zastaví pokusy a odošle zodpovedajúcu správu.

    Ak má vaša sieť viacero domén, ktoré obsluhuje jeden protokolovací server, potom sa nečudujte, že protokol na serveri bude obsahovať celé mená klientov (vrátane domény). Pravda, pri štarte syslogd môžete použiť možnosti -s zoznam_domén alebo -l zoznam hostiteľov, ktoré zabezpečujú, že protokol nahradí plne kvalifikované názvy hostiteľov ich krátkymi názvami (bez určenia domény).

    Po úprave možností spustenia a súboru nezabudnite /etc/syslog.conf reštartujte démona, pretože na rozdiel cron, sysklogd neprečíta konfiguračné súbory automaticky.

    Možnosti spustenia démona Syslogd

    Keďže sme sa v predchádzajúcej podsekcii dotkli otázky nastavenia parametrov pre spustenie démona syslogd, pozrime sa na túto problematiku bližšie. Ako už bolo spomenuté, oba protokolovacie démony sa spúšťajú vo fáze inicializácie systému, konkrétnejšie prostredníctvom skriptu /etc/rc.d/init.d/syslog(pre ktoré, ako aj pre skripty na spustenie iných služieb, sa vytvárajú symbolické odkazy v adresároch /etc/rc.d/rc?.d/). Na nastavenie parametrov spustenia však nie je potrebné tento skript upravovať, pretože od verzie 7.2 v distribúcii Red Hat sa možnosti spustenia oboch démonov načítavajú zo samostatného konfiguračného súboru / etc / sysconfig / syslog... Tu je krátky zoznam možných parametrov pre démona syslogd.

    Parametre spustenia syslogd:

    • - zásuvka- Určuje ďalší soket, na ktorom bude démon počúvať syslogd... Môžete zadať až 19 soketov (môže byť špecifikovaných viac, ale musíte prekompilovať balík). Táto voľba sa používa, keď nejaký iný démon (napríklad ftp alebo http) beží v obmedzenom prostredí (robia chroot).
    • -d- Režim ladenia. V tomto prípade démon neprejde do pozadia a odošle všetky správy aktuálnemu terminálu.
    • -f názov_konfiguračného_súboru Určuje názov alternatívneho konfiguračného súboru, ktorý sa použije namiesto predvoleného /etc/syslog.conf.
    • -hŠtandardne v sysklogd prenos správ prijatých cez sieť do iného počítača je zakázaný. Deje sa tak, aby sa predišlo nekonečným prenosom správ po kruhu. Voľba -h vám umožňuje zmeniť obvyklé správanie a zabezpečiť, aby sa správy prijaté od vzdialených hostiteľov prenášali po sieti (a postarajte sa o možné zacyklenie sami).
    • -l zoznam hostiteľov- Určuje zoznam hostiteľov, ktorých mená by sa nemali zaznamenávať s uvedením celého názvu domény (FQDN - Full Qwalified Domain Name); mená v zozname sú oddelené dvojbodkami.
    • -m minút Začalo sa bez tejto možnosti sysklogd pravidelne (každých 20 minút) zaznamenáva správy kategórie značka, teda len časové pečiatky. S možnosťou -m môžete buď zmeniť interval medzi značkami, alebo úplne zrušiť vydávanie takýchto správ, pre ktoré musíte nastaviť nulový interval: -m 0.
    • -n Nechoďte do pozadia; táto možnosť je potrebná, keď je syslogd spustený a riadený procesom init.
    • -p zásuvka Určuje alternatívny soket UNIX (namiesto predvoleného počúvania / dev / log). Poznámka: možnosť -ašpecifikuje ďalšie zásuvky a -p- alternatíva!
    • -r Povoliť prijímanie správ od vzdialených hostiteľov. Hovorili sme o tom v predchádzajúcej časti, takže detaily vynechávam.
    • -s domain-list Určuje zoznam domén, ktorých názvy nie je potrebné zaznamenávať spolu s názvom hostiteľa (to znamená, že pre tieto domény sa namiesto úplného názvu domény (FQDN) zaznamenajú iba názvy hostiteľov). Názvy v zozname sú oddelené dvojbodkami. Názov domény, kde sa nachádza server syslogd), nie je potrebné ho v tomto zozname uvádzať (predvolene je jeho názov odstránený).
    • -v Zobraziť verziu a ukončiť.
    • -X Zakázať určiť názov hostiteľa podľa jeho adresy, zabráni zablokovaniu pri práci na rovnakom hostiteľovi so serverom DNS.

    Po spustení démona syslogd vytvorí sa stavový súbor / var / lock / subsys / syslog nulovú dĺžku a súbor s ID procesu /var/run/syslogd.pid.

    Pomocou príkazu
    kill -SIGNAL `cat / var / run / syslogd.pid`
    môžete poslať démonovi syslogd jeden z nasledujúcich signálov:

    • SIGHUP - reštart démona (reinicializácia); všetky otvorené súbory sa zatvoria, démon sa spustí odznova a znova načíta svoj konfiguračný súbor.
    • SIGTERM - vypnutie.
    • SIGINT, SIGQUIT - ak je povolený režim ladenia (možnosť -d), signály sú ignorované, v opačnom prípade - ukončenie.
    • SIGUSR1 - povoliť / zakázať režim ladenia (funguje iba vtedy, ak bol démon spustený prepínačom -d).

    Démon klogd nemá menej možností spustenia ako syslogd, ale nebudeme ich tu uvádzať s odkazom na príslušnú manuálovú stránku (používateľ by sa nemal podieľať na nastavovaní klogd, je lepšie ho ponechať v takom stave, v akom ho vyrobili vývojári distribučnej súpravy).

    Súbor Dmesg a príkaz dmesg

    Ako je uvedené, súbory denníka uvedené v súbore /etc/syslog.conf zvyčajne sa nachádza v adresári / var / log a jeho podadresáre. Ak sa však pozrieme do tohto adresára, nájdeme tam niekoľko súborov, ktoré v /etc/syslog.conf neboli spomenuté. Poďme sa pozrieť na ich účel. A začnime so súborom dmesg.

    Najprv treba spomenúť, že Linux má príkaz s rovnakým názvom. Ak porovnáte výstup tohto príkazu (keď je spustený bez parametrov) s obsahom súboru / var / log / dmesg, zistíte, že sú si veľmi podobné, aj keď nie identické (prepojte výstup príkazu do súboru dmesg2 a porovnávať súbory dmesg a dmesg2). Presnejšie spis / var / log / dmesg jedna k jednej sa zhoduje so začiatkom výstupu, ktorý dostaneme príkazom dmesg... Ako vyplýva z jadra, existuje kruhový buffer, do ktorého sa zapisujú správy od kernel logging daemon. Správy, ktoré sú zapísané do tejto vyrovnávacej pamäte počas procesu načítania a tvoria obsah súboru / var / log / dmesg... Zdá sa, že tento súbor sa generuje na konci zavádzania systému.

    Ak sa znova pozriete na vyššie uvedený zoznam súborov /etc/syslog.conf potom uvidíte, že všetky príspevky v kategórii kern sa vydávajú aj do konzoly. Ale tam rýchlo prebehnú po obrazovke a sotva ich máte čas prečítať a pochopiť. Ale sú uložené v súbore / var / log / dmesg a teda sú k dispozícii na pokojné pochopenie (ak sa proces sťahovania úspešne dokončil). Po ukončení procesu zavádzania pokračuje zapisovanie správ z jadra do kruhovej vyrovnávacej pamäte. Keď je príkaz vykonaný dmesg, zobrazí sa aktuálny stav vyrovnávacej pamäte. Preto výstup tohto príkazu obsahuje viac správ ako súbor / var / log / dmesg: vo výstupe tohto príkazu tiež vidíte správy, ktoré jadro vydáva po ukončení procesu zavádzania.

    Všetky správy od / var / log / dmesg nájdete v súbore / var / log / správy, len tam sa striedajú so správami z iných programov. Je tu len jeden podstatný rozdiel: v súbore dmesgčas a zdroj správy (názov hostiteľa a kategória správy) nie sú špecifikované. Hostiteľ je tu vždy „miestny“ a začiatok odpočítavania je určený posledným reštartom počítača.

    Lastlog, wtmp a utmp súbory

    Okrem súboru dmesg v katalógu / var / log / existujú ďalšie dva súbory, ktoré nie sú spomenuté /etc/syslog.conf, ale priamo súvisí s protokolovaním – ide o súbory lastlog a wtmp... Ale pohľad na ne je rovnaký, ako sme sa pozerali na súbor / var / log / správy nedáva zmysel - ničomu nebudete rozumieť. Faktom je, že informácie v týchto súboroch sú zaznamenané v špeciálnom formáte a musia sa prezerať pomocou špeciálnych softvérových nástrojov. Najprv však treba povedať pár slov o účele týchto súborov.

    Súbor lastlog uchováva informácie o poslednom používateľovi prihlásenom do systému. Neviem, či ste si všimli, že keď zadáte používateľské meno a heslo, na obrazovke sa zobrazí nasledujúca správa:

    Localhost login: kos Heslo: Posledné prihlásenie: Stred 9. okt 19:25:53 na tty1 Tieto tri riadky generuje obslužný program Prihlásiť sa, ktorá po určení, že používateľ má právo na prihlásenie, pristupuje k súboru / var / log / lastlog, odtiaľ získa informácie o predchádzajúcom úspešnom prihlásení používateľa, vytlačí ich na obrazovku a potom aktualizuje záznam v súbore lastlog... Túto správu môžete potlačiť vytvorením prázdneho súboru .hushlogin vo svojom domovskom adresári. Neodporúča sa to však robiť, skôr naopak, mali by ste venovať osobitnú pozornosť obsahu tejto správy, aby ste nepremeškali prípady, keď sa do systému dostal niekto iný pod vaším menom.

    Na rozdiel od súboru / var / log / lastlog ktorý obsahuje záznamy doby posledný prihlasovacie údaje každého používateľa v súbore / var / log / wtmp sa pamätajú všetky prihlásenia a odhlásenia používateľov od vytvorenia tohto súboru. Ako v spise lastlog, záznamy v / var / log / wtmp sú vyrobené v špeciálnom formáte, takže ich možno prezerať iba pomocou špeciálnych príkazov. Ale predtým, než budeme hovoriť o týchto príkazoch, povedzme, že existuje ďalší súbor obsahujúci záznamy o protokolovaní používateľov - toto je súbor / var / spustiť / utmp... Tento súbor obsahuje informácie o tom, ktorý používateľ je aktuálne prihlásený do systému.

    Teraz môžete hovoriť o tom, ako zobraziť informácie o používateľoch, ktorí momentálne alebo predtým pracujú v systéme. Hlavným príkazom je príkaz posledný... Vypíše všetky záznamy zo súboru / var / log / wtmp Okrem toho je uvedené meno používateľa, označenie terminálu, z ktorého používateľ pracoval, čas vstupu používateľa do systému a čas odhlásenia, ako aj trvanie relácie používateľa v systéme. Ak bola práca používateľa prerušená iba z dôvodu vypnutia systému, namiesto času odchodu používateľa sa používa slovo „down“ (tieto riadky môžu ľahko určiť čas vypnutia systému). Čas reštartu sa zobrazuje v samostatných riadkoch začínajúcich slovom „reboot“.

    tím lastb ako tím posledný ale zobrazuje informácie o neúspešných pokusoch o prihlásenie používateľa. Treba však poznamenať, že tento príkaz bude fungovať iba vtedy, ak súbor existuje. / var / log / btmp... Žiadny z programov, o ktorých sa tu hovorí, však nevytvára súbory denníka, takže ak sa niektorý z nich vymaže, nahrávanie sa skončí.

    tím lastlog formáty a výstupy obsahu súboru / var / log / lastlog... Polia budú používateľské meno, názov terminálu, z ktorého sa používateľ prihlásil, a čas posledného prihlásenia do systému. Štandardne (keď je príkaz zadaný bez parametrov) prvky súboru / var / log / lastlog sa zobrazia v poradí podľa identifikačných čísel používateľov. Ak zadáte parameter -u login-name, zobrazí sa len informácia o čase posledného prihlásenia zadaného užívateľa. Zadaním parametra -t days získate len záznamy z posledných dní. Ak sa používateľ do systému vôbec neprihlásil, namiesto názvu terminálu a času posledného prihlásenia sa zobrazí reťazec „** Nikdy sa neprihlásil **“.

    Pri vykonávaní príkazu lastlog na pomalom počítači sa v niektorých prípadoch môže zdať, že príkaz zasekol. Stáva sa to v dôsledku skutočnosti, že aj keď sú v systéme zaregistrovaní iba dvaja používatelia (root a používateľ), v súbore / var / log / lastlog stále je priestor pre čo najviac používateľov, ktorí môžu na systéme pracovať. Preto v spise / var / log / lastlog medzi číslami ID používateľov prihlásených do systému môžu byť veľké medzery. Pretože pri prezeraní takýchto intervalov program nezobrazuje informácie na obrazovke a objavuje sa dojem „zamrznutia“.

    Ak chcete zobraziť informácie o tom, kto práve pracuje v systéme, použite príkazy w, SZO a používateľov... tím používateľov používa sa, keď chcete len vedieť, ktorý z používateľov práve pracuje v systéme, ale nezaujíma vás, z ktorého terminálu sa pripojil a čo robí. Ak chcete vedieť, kto sa z akého terminálu prihlásil, použite príkaz SZO... Tento príkaz vypíše informácie zo súboru / var / spustiť / utmp... Môžete vytvoriť výstup údajov zo súboru / var / log / wtmp(alebo akýkoľvek iný súbor, pre ktorý to dáva zmysel), ak zadáte názov tohto súboru na príkazovom riadku. Vo výstupe však stále uvidíte iba používateľské meno, označenie terminálu, z ktorého sa používateľ prihlásil, čas prihlásenia a ak je prihlásený zo vzdialeného počítača, názov tohto počítača.

    Výrazne viac informácií zobrazí príkaz w... V jeho výstupe uvidíte aktuálny čas, ako dlho systém beží, koľko používateľov momentálne v systéme pracuje a priemernú záťaž systému za poslednú minútu, 5 a 15 minút. Potom pre každého používateľa vytlačí:

  • používateľské meno,
  • názov terminálu,
  • názov vzdialeného hostiteľa
  • čas, ktorý uplynul od prihlásenia,
  • čas, počas ktorého sa tento terminál nepoužíva (čas nečinnosti),
  • celkový čas strávený všetkými procesmi spustenými z tohto terminálu (graf JCPU),
  • čas, počas ktorého beží posledný z procesov spustených používateľom (graf PCPU),
  • informácie o tom, ktorý program práve vykonáva užívateľ (vo forme príkazového riadku na spustenie príkazu so všetkými parametrami).

    Ako už bolo spomenuté, príkaz w výstup informácií uložených v súbore utmp... Mimochodom, sprievodca muž uvádza, že bežným používateľom by mal byť zakázaný prístup k zápisu do súboru utmp keďže mnohí systémové programy(z nejakého nevysvetliteľného dôvodu) závisia od jeho integrity. Ak povolíte ľubovoľnému používateľovi zapisovať do súboru utmp, riskujete, že si pomýlite systémové štatistické súbory a vykonáte zmeny v systémových súboroch.

    Protokoly iných programov

    Okrem súborov, ktoré sme už opísali, existujú ďalšie protokolové súbory, ktoré vytvárajú samostatné programy. Najtypickejším príkladom sú protokoly démonov. samba, ftpd alebo httpd ktoré sú vedené v samostatných súboroch. Niektoré z týchto programov vytvárajú svoje protokoly v podadresároch adresára / var / log / iní uchovávajú protokoly inde. A štruktúra týchto súborov sa môže výrazne líšiť od štruktúry súborov vytvorených systémom. syslog... Napríklad dám niekoľko riadkov z denníka servera Apache bežiace na mojom počítači: 192.168.36.21 - - "GET / ve / papers / new / log / HTTP / 1.1" 200 1774 "-" "Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0 . 0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/back.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0 ) Gecko / 20020530 "192.168.36.21 - -" GET /icons/folder.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /icons/text.gif HTTP / 1.1 "304 -" - "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 192.168.36.21 - -" GET /ve/papers/new/log/protok_lovim.htm HTTP / 1.1 "200 46597" http: // linux / ve / papers / new / log / "" Mozilla / 5.0 (X11; U ; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /bugtraq.css HTTP / 1.1 "404 279" http: // linux / ve / papers / new / log / protok_lovim .htm "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /img/bug1.gif HTTP / 1.1 "404 280" http : // linux / ve / papers / new / lo g / protok_lovim.htm "" Mozilla / 5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 "192.168.36.21 - -" GET /img/title.gif HTTP / 1.1 "404 281" http: //linux/ve/papers/new/log/protok_lovim.htm "" Mozilla /5.0 (X11; U; Linux i686; ru-RU; rv: 1.0.0) Gecko / 20020530 „Ako môžete vidieť, štruktúra tohto súboru denníka sa výrazne líši od toho, čo sme videli v systémových denníkoch.

    Server Samba okrem hlavného operačného protokolu servera vytvára v podadresári / var / log / samba množstvo protokolových súborov pre rôzne prípady, najmä samostatné súbory pre každého z používateľov, ktorí môžu využívať zdroje poskytované týmto serverom. Z jedného takéhoto súboru sú prevzaté tieto dva záznamy:

    Smbd / service.c: make_connection (550) linux (192.168.36.10) pripojiť sa k verejnej službe ako používateľ kos (uid = 500, gid = 500) (pid 1366) smbd / service.c: close_cnum (550) linux (192.1 36.10) uzavreté pripojenie k servisnej verejnosti Tieto príklady ukazujú, že ak viete trochu čítať v angličtine a rozumiete štruktúre záznamov, môžete získať veľa užitočných informácií z protokolových súborov. Len to musí byť extrahované z celých ložísk "odpadu" - obrovských sekvenčných protokolových súborov, čo je netriviálna úloha. Preto boli vyvinuté špeciálne softvérové ​​nástroje na analýzu protokolov.

    Nástroje na spracovanie protokolov

    Bolo vyvinutých veľa rôznych programov a skriptov na analýzu protokolov. obmedzím sa stručný popis dva takéto prostriedky: logwatch a vzorkovník.

    logwatch je skript v jazyku Perl, ktorý je súčasťou štandardnej distribúcie Red Hat Linux. Práve počas prípravy tohto článku bola na stránke vývojára uvoľnená verzia 4.1 tohto programu (a je ním Kirk Bauer).

    Hlavnou myšlienkou tohto programu je, že protokolový súbor prechádza cez filter, ktorý extrahuje z protokolu všetky riadky (t. j. správy), ktoré spĺňajú dané kritérium. Výsledky sa odošlú e-mailom zadanému používateľovi (predvolený je root). Filtre môžu byť napísané v akomkoľvek programovacom jazyku, ale autor balíka preferuje Perl. Filtre by mali byť napísané tak, aby čítali dáta z stdin a výsledok vypisovali do stdout.

    Hlavný spôsob použitia logwatch spočíva v zahrnutí odkazu na hlavný skript ( /etc/log.d/scripts/logwatch.pl) do adresára /etc/cron.daily, čo spôsobí každodenné spustenie logwatch s predvolenými parametrami. Odkazu je pridelený názov, ktorý začína na „00“ (napr. 00-logwatch), takže skript sa spustí pred logrotate.

    Skript však môžete spustiť aj z príkazového riadku. Samozrejme, ak ste nezmenili parameter výstupu informácií, výsledok jeho práce by ste mali hľadať v poštovej schránke superužívateľa. Ak chcete tieto výsledky vidieť na obrazovke, musíte nastaviť parameter príkazového riadka --tlač- vydať správu stdout.

    Všeobecný formát spustenia skriptu:

    /etc/log.d/scripts/logwatch.pl [--detailúrovni ] [--súbor denníka skupinové denníky ] [--služba názov služby ] [--print] [--mailto adresa ] [--uložiť Názov súboru ] [--archív] [--rozsah dátum-interval ]

    Predvolené parametre sú uložené v súbore /etc/log.d/logwatch.conf, komentáre, ktoré vám umožňujú pochopiť význam parametrov príkazového riadka:

    • LogDir - adresár, ku ktorému sa berú do úvahy názvy súborov;
    • MailTo - komu poslať správu;
    • Tlač - namiesto odoslania správy poštou ju vystavte na stdout;
    • Uložiť - namiesto odoslania správy poštou ju uložte do určeného súboru;
    • Archívy – spracovávajú nielen aktuálne verzie protokolov, ale aj staré kópie vytvorené logrotate;
    • Rozsah - spracovať zadaný časový interval: Všetko, Dnes, Včera (včerajší kalendárny deň);
    • Detail - úroveň podrobnosti správy: od 0 do 10 alebo Nízka, Stredná, Vysoká;
    • Služba – všetko alebo názov filtra z /etc/log.d/scripts/services/ (možno zadať viacero filtrov);
    • LogFile – Všetko alebo názov skupiny denníkov (možno zadať viacero skupín).

    Viac informácií o skripte logwatch nájdete v.

    Tento článok popisuje ďalší skript na spracovanie súborov denníka, ktorý je súčasťou distribúcie Mandrake Linux. Tento skript sa nazýva vzorkovník("Simple WATCHer") a je tiež napísaný v jazyku Perl.

    Riadenie práce vzorkovníkštandardne vykonávané pomocou jedného konfiguračného súboru $ HOME / .swatchrc... Tento súbor obsahuje vzorový text (vo forme regulárneho výrazu), ktorý vzorkovník vyhľadá súbory denníka. Po každom takomto vzore nasleduje akcia, ktorá vzorkovník by mal trvať, ak nájde text, ktorý sa zhoduje so vzorom.

    Môžete napríklad chcieť dostať varovanie pri každom pokuse o útok na váš webový server pretečením vyrovnávacej pamäte pre veľmi dlhý názov súboru. A viete, že v takýchto prípadoch v súbore denníka /var/apache/error.log zobrazí sa správa so slovami „Názov súboru je príliš dlhý“. V tomto prípade do vášho súboru .swatchrc musí sa vložiť táto poznámka:

    Watchfor / Názov súboru je príliš dlhý / mail [e-mail chránený], predmet = BufferOverflow_inttempt

    Podrobnejší popis programu tu nebudem uvádzať. vzorkovník... Venuje sa jej nadšený článok a samotný program nájdete na stránke. Chcel by som len poznamenať, a vzorkovník a logwatch implementovať pomerne primitívny algoritmus na spracovanie protokolových súborov, ktorý sa scvrkáva na vyhľadávanie daného znakového reťazca (podpisu) v protokole. Medzitým, po prvé, prítomnosť takejto linky často ešte nenaznačuje votrelca a po druhé, kompetentný útočník sa môže postarať o to, aby vymazal stopy ich aktivít. Ďalšou zjavnou nevýhodou recenzovaných produktov je, že fungujú v „oneskorenom režime“, keďže sa spúšťajú iba podľa plánu. A boj proti votrelcom sa musí vykonávať „v reálnom čase“ a okamžite reagovať na pokusy preniknúť do systému. Preto komerčné produkty ponúkajú monitorovacie systémy, ktoré pracujú neustále a implementujú „inteligentné“ algoritmy na analýzu protokolov. Tieto algoritmy sú založené na štatistickej analýze toku správ a identifikácii štatisticky významných odchýlok systému od jeho normálneho správania.

    Na záver tejto časti by som rád poznamenal, že webová stránka SecurityLab.ru (http://www.securitylab.ru/tools/?ID=22111) obsahuje zoznam odkazov na stránky rôznych softvérových nástrojov na spracovanie protokolov. so stručným popisom týchto nástrojov. Môžete experimentovať s rôznymi programami a vybrať si ten, ktorý vám vyhovuje.

    Rotujúce protokolové súbory

    Samozrejme pochopíte, že ak je systém intenzívne využívaný, súbory denníkov rýchlo rastú. Čo znamená plytvanie miestom na disku. A nastáva problém „skrotenia“ protokolov. Red Hat Linux rieši tento problém pomocou skriptov. logrotate ktorý sa nachádza v adresári /etc/cron.daily, a preto ho spúšťa démon cron denne. Tento skript vám umožňuje spracovať viac ako len systémové protokoly syslog, ale aj akékoľvek iné programy.

    Skript logrotate monitoruje rast log súborov a zabezpečuje takzvanú rotáciu týchto súborov, ak presiahli určenú veľkosť (alebo po uplynutí určeného časového intervalu). Rotácia nie je nič iné ako postupné kopírovanie predchádzajúcich verzií archívnych súborov, niečo také:

  • správy.2 -> správy.3
  • správy.1 -> správy.2
  • správy.0 -> správy.1
  • správy -> správy.0
    a vytvorenie nového súboru správ na zaznamenávanie nasledujúcich správ.

    Zoznam súborov, ktoré má skript spracovať logrotate a parametre tohto spracovania určujú konfiguračné súbory, ktorých môže byť viacero. Názvy konfiguračných súborov sa nastavujú v príkazovom riadku spúšťania skriptu (parametre spúšťania pozri nižšie). V systéme Red Hat Linux sú predvolené konfiguračné súbory pre logrotate použitý súbor /etc/logrotate.conf, ktorý môže vyzerať asi takto:

    Týždenná rotácia 4 vytvorenie kompresie zahŕňa /etc/logrotate.d / var / log / wtmp / var / log / lastlog (mesačné vytvorenie 0664 root utmp rotácia 1)

    Tento súbor je ako každý konfiguračný súbor pre skript. logrotate pozostáva z niekoľkých sekcií. Prvá časť definuje globálne parametre (jeden na riadok), ktoré nastavujú predvolené parametre pre všetky protokoly. Nasledujúce časti definujú lokálne parametre pre sériu protokolových súborov. Názvy týchto súborov sú uvedené v prvom riadku sekcie a potom sa nastavia lokálne parametre v zložených zátvorkách, ktoré sú účinné len pri spracovaní špecifikovaných súborov (tiež jeden parameter na riadok). Názvy protokolových súborov môžu byť citované podľa pravidiel shellu, ak obsahujú medzery alebo iné špeciálne znaky. Môžete zadať viacero názvov súborov alebo vzorov názvov súborov oddelených medzerami (vzory sa tiež riadia pravidlami prostredia). Spracovanie každej sekcie sa považuje za jednu akciu. Riadky začínajúce znakom „#“ sú komentáre. Lokálne parametre majú prednosť pred globálnymi parametrami.

    V uvedenom príklade konfiguračného súboru sú najprv popísané globálne parametre a potom v samostatnej časti parametre pre spracovanie súborov / var / log / wtmp a / var / log / lastlog. Okrem toho je medzi globálnymi parametrami uvedený odkaz na adresár /etc/logrotate.d, do ktorého každý balík zapisuje lokálne parametre pre svoje protokoly.

    V časti globálne parametre je v prvom rade špecifikovaný jeden z nasledujúcich parametrov, ktoré určujú kritérium pre rotáciu súboru:

  • denne- zmena verzií v sérii prebieha denne,
  • týždenne- zmena verzie prebieha týždenne,
  • mesačne- zmena verzie prebieha mesačne,
  • veľkosť byte - zmena verzie nastane, ak veľkosť protokolu prekročila určený počet bajtov; môžete použiť prípony "k" - kilobajty - a "M" - megabajty)

  • a parametrom zahŕňajú nasleduje názov iného (dodatočného) konfiguračného súboru alebo dokonca názov adresára. V druhom prípade sa všetky súbory v zadanom adresári okrem podadresárov, špeciálnych súborov a súborov s príponami zo zoznamu výnimiek považujú za konfiguračné súbory pre skript. logrotate(smernica zahŕňajú nemožno použiť v sekcii, ktorá špecifikuje parametre spracovania pre skupinu súborov).

    Parameter točiť sa číslo možno nájsť medzi globálnymi aj lokálnymi parametrami a určuje, koľko starých verzií by sa malo zachovať; ak je číslo 0, tak sa nevytvoria archivované verzie protokolu.

    Ak je parameter nastavený komprimovať potom sú staré verzie komprimované pomocou gzip a ak je špecifikované nocompress- nezmršťujú sa. Parameter komprimovaťcmd umožňuje určiť, ktorý kompresný program sa použije (štandardne gzip) a uncompresscmd nastaví dekompresný program (predvolene ungzip). možnosti kompresie nastavuje parametre kompresného programu; predvolená hodnota je "-9", t.j. maximálna kompresia pre gzip. Pomocou parametra kompresný text môžete zmeniť príponu pre komprimované súbory a parameter rozšírenie prípona určuje príponu, ktorá sa má pridať k názvom súborov počas rotácie (pred príponou kompresie).

    Medzi kľúčové slová nachádzajúce sa v konfiguračných súboroch patria slová postrotovať a predrotovať ktoré slúžia ako otvorené zátvorky na zahrnutie skriptov shellu do konfiguračných súborov. Všetky riadky konfiguračného súboru od riadku postrotovať k čiare koncový skript sa vykonávajú ako príkazy shellu po procese zmeny verzie súboru denníka. Podľa toho všetky riadky z riadku predrotovať k čiare koncový skript sa vykonajú pred rotáciou súborov denníka. Pomocou týchto skriptov môžete organizovať rôzne postupy na spracovanie protokolových súborov počas rotácie.

    Pomocou iných parametrov konfiguračného súboru môžete prepísať prístupové práva k protokolovým súborom (ak tento parameter nie je zadaný, použijú sa atribúty starého protokolového súboru); uviesť, komu sa majú posielať správy o chybách v prevádzke systému protokolovania; poslať archívnu kópiu denníka určenému používateľovi; nastavte adresár, do ktorého sa budú protokoly presúvať pri zmene verzie (adresár sa musí nachádzať na rovnakom fyzické zariadenie ako / var / log) alebo zadajte zoznam prípon vylúčení pre adresár zahŕňajú... Podrobný popis týchto vlastností a parametrov (ako aj tých, ktoré neboli uvedené) nájdete pod príkazom muž logrotovať.

    Ako už bolo spomenuté, ďalšie konfiguračné súbory logrotate možno zadať v príkazovom riadku pri spustení skriptu. Pre konfiguračné súbory alebo adresáre môžete zadať ľubovoľný počet názvov. Názvy súborov a adresárov v tomto zozname sú jednoducho oddelené medzerami. Poradie názvov v zozname je dôležité, pretože parametre uvedené v nasledujúcom konfiguračnom súbore prepíšu hodnoty parametrov špecifikovaných v predchádzajúci súbor... Poradie súborov v konfiguračnom adresári nie je definované.

    Okrem toho je možné v príkazovom riadku pri spustení zadať nasledujúce parametre:

    • -d- režim ladenia, nevykonávajú sa žiadne skutočné zmeny,
    • -f- vykonať zmeny, aj keď logrotate nevidí potrebu - používa sa pri zmenách v zozname spracovaných protokolov,
    • mužské hodinky
    • Mick Bauer, „Paranoidný tučniak: vzorka: Automatizované monitorovanie denníka pre ostražitých, ale lenivých“
    • RFC 3164. C. Lonvick, protokol BSD Syslog, august 2001.
    • RFC 3195. D. New, M. Rose, Spoľahlivá dodávka pre syslog, november 2001.
    • Za. S. Lapshansky, "Démon monitoruje systém"
    • Denis Kolisničenko,

    Protokol syslog a podporný softvér zaisťujú, že sa informácie o udalosti zapíšu do systémového denníka (záznamy, systémová konzola), ako aj prenesú na protokolovací server cez sieť, roztriedia a spracujú v závislosti od zdroja a závažnosti správ. Tento článok popisuje protokol syslog, jeho implementáciu v systémoch Solaris a Linux (syslogd), Cisco IOS a pomocné nástroje: logrotate, logwatch.

    Systémovými komponentmi sú generátor správ (zariadenie alebo proces), výmenný protokol, zberač správ (kolektor, server syslog), relé (relé, prijíma správy z jedného alebo viacerých generátorov a prenáša do jedného alebo viacerých kolektorov alebo ďalších relé). Generátor (resp. relé pri prenose) nevie, či je prijímač relé alebo kolektor, môže preniesť jednu správu viacerým prijímačom, dokáže správu spracovať sám (napríklad zápisom do súboru).

    Protokol syslog neposkytuje žiadnu ochranu proti spoofingu správ. Ešte horšie, použitie protokolu UDP umožňuje útočníkom posielať správy v mene akéhokoľvek hostiteľa. Lokálna sieť musí byť chránená clonou (IOS ACL, ipchains) pred prijímaním paketov s falošnými lokálnymi adresami (hoci to nebráni odosielaniu falošných správ zvnútra lokálnej siete) a pred prijímaním paketov zvonku na porte 514 / udp. Sú známe prípady preplnenia disku falošnými správami.

    Protokol syslog a UDP neposkytujú garantované doručenie (správy sa môžu stratiť pri preťažení siete alebo môžu byť zachytené, poškodené správy sú bez varovania vymazané), správna sekvencia doručenia (správa o ukončení procesu môže prísť pred správou o jeho spustení) , prednostné doručenie.

    Správy nie sú dôverné, pretože sa prenášajú vo forme čistého textu.

    Ak pri konfigurácii generátora správ zadáte nesprávnu adresu kolektora alebo relé, nebudú sa zobrazovať žiadne chybové hlásenia - správy budú vymazané (alebo zapísané do denníka niekoho iného;).

    Prostriedky ochrany proti zacykleniu prenosu správ nesprávne nakonfigurovanými relé nie sú k dispozícii.

    RFC 3195 navrhuje nový protokol cez TCP (syslog-conn, 601), aby sa zabezpečilo doručenie v správnom poradí. Implementácia mi nie je známa. Obrovská zmes XML, príkazov a návratových kódov v štýle SMTP a MIME hlavičiek (BEEP) zabalených do štandardných správ syslog. Používajú sa dva režimy - RAW (analóg aktuálneho protokolu UDP) a COOKED (správy sú štruktúrované podľa polí). BEEP umožňuje autentifikáciu, integritu a dôvernosť (SASL, TLS).

    RFC syslog-sign navrhuje zabezpečiť autentifikáciu, objednávanie, integritu správ a detekciu chýbajúcich správ generovaním špeciálnych správ obsahujúcich digitálny podpis bloku predchádzajúcich správ pri zachovaní štandardného protokolu a formátu syslog a pomocou UDP. Používa SHA1, OpenPGP DSA.

    Port 514 / UDP sa používa na príjem správ. Odporúča sa tiež použiť zdrojový port 514 na odosielanie správ. Správa je textový reťazec a nemôže byť dlhšia ako 1024 bajtov, inak je možné ju skrátiť alebo dokonca zahodiť. Dokonca aj chybná správa odoslaná na port 514 by sa mala považovať za správu syslog. Ak však relé odovzdá správu ďalej, potom k nej musí pridať štandardné hlavičky (súčasne ju prípadne orezať na 1024 bajtov) - USER, NOTICE, jej lokálny čas a jednoduchý názov zdroja správy.

    Správa začína poľom PRI, ktoré zakódovalo zariadenie a úroveň závažnosti správy. Za ním nasleduje čas (TIMESTAMP), medzera, názov hostiteľa alebo IP adresa v desiatkovej sústave (HOSTNAME), medzera, ľubovoľný text správy (MSG) v US-ASCII (0x20 - 0x7e).

    Názov hostiteľa (jednoduchý, nie FQDN!) sa zapíše tak, ako ho pozná generátor správ. Ak má zariadenie niekoľko rozhraní s rôznymi IP adresami, potom ktorékoľvek z nich môže byť použité ako názov hostiteľa alebo adresa.

    Text správy (MSG) zvyčajne obsahuje značku (TAG), ktorá identifikuje program alebo proces, ktorý správu vydal, a telo správy (CONTENT). Štítok môže obsahovať latinské písmená a čísla. Začiatok tela správy je identifikovaný prvým špeciálnym znakom, zvyčajne dvojbodkou alebo hranatou zátvorkou. Napríklad Cisco IOS používa ako označenie poradové číslo správy, za ktorým nasleduje dvojbodka, a Unix používa jednoduchý názov programu (telo správy začína číslom procesu v hranatých zátvorkách a dvojbodkou).

    syslogd prijíma správy z portu 514 / UDP a z lokálnych zdrojov (socket / dev / log), smeruje ich v závislosti od zdroja správ a úrovne závažnosti. Umožňuje výstup správ do protokolu, výstup do konzoly, do terminálu, odosielanie na iný server. Zavádza sa ďalší zdroj typu MARK (bežné značky, informácie)

    Každý riadok denníka obsahuje jeden záznam správy pozostávajúci z polí oddelených medzerami:

    • dátum v štandardnom textovom formáte (pole TIMESTAMP zo správy syslog)
    • názov hostiteľa (fqdn alebo skratka, pole HOSTNAME zo správy syslog)
    • text správy (polia TAG a CONTENT zo správy syslog)

    Parametre spustenia:

    • -a prídavná-počúvacia-zásuvka (užitočné pre démonov, ktorí vykonávajú chroot; môže ich byť niekoľko)
    • -d(režim ladenia)
    • -f názov-konfiguračného-súboru (predvolené, /etc/syslog.conf)
    • -h(zmeniť obvyklé správanie, pri ktorom sa správy prijaté od vzdialených hostiteľov nepreposielajú, aby sa zapísali na vzdialený hostiteľ, aby sa predišlo zacykleniu)
    • -l zoznam hostiteľov (zoznam hostiteľov, ktorých mená by sa nemali písať ako FQDN; oddelené dvojbodkami)
    • -m minút (interval pre bežné dočasné nahrávky; štandardne - 20; ak je 0, nerobte to vôbec)
    • -n
    • -p načúvacia zásuvka (predvolené: / dev / log)
    • -r(povoliť prijímanie správ zo vzdialených hostiteľov; firewall by mal byť mierne otvorený; syslog pre 514 / udp by mal byť definovaný v / etc / services)
    • -s zoznam domén (odstrániť názvy špecifikovaných domén z názvov hostiteľov; oddelené dvojbodkami; predvolene je doména, ktorá sa zhoduje s doménou servera syslog, skrátená)
    • -v
    • -X(zakázať určenie názvu hostiteľa podľa jeho adresy, zabráni zablokovaniu pri práci na rovnakom hostiteľovi so serverom DNS)

    Použité súbory:

    • /etc/syslog.conf- konfiguračný súbor (zmenený pri štarte parametrom -f)
    • / dev / log- zásuvka, z ktorej sa čítajú lokálne správy (zmenené pri spustení parametrom -p)
    • /var/run/syslogd.pid- ID procesu

    Reakcia na signály:

    • SIGHUP - reinicializácia (zatvorí všetky súbory, znova načíta konfiguračný súbor)
    • SIGTERM - vypnutie
    • SIGINT, SIGQUIT - ukončenie, ak je ladenie vypnuté
    • SIGUSR1 - povoliť / zakázať ladenie (iba pri použití prepínača -d)

    Beží ako root. Nezmení povolenia súboru. Ak je nútený vytvoriť súbor, urobí to s oprávneniami 644. Ak je potrebné obmedziť prístup k protokolu, príslušný súbor je potrebné vytvoriť manuálne (alebo zmeniť oprávnenia). Vytvára špeciálne problémy logrotate.

    Ide o súbor pravidiel smerovania správ. Každé pravidlo pozostáva zo selektora a akcie oddelených tabulátormi (Solaris 5 na starších systémoch) alebo medzerami (Linux). Po prijatí správy, ktorá sa má zapísať do protokolu (z klogd, z lokálneho alebo vzdialeného programu), syslogd skontroluje každé pravidlo, či sa správa zhoduje so vzorom určeným selektorom. V prípade potreby sa vykoná akcia špecifikovaná v pravidle. Za jednu správu m. bol vykonaný ľubovoľný počet akcií (t. j. spracovanie správy sa nezastaví pri prvom úspechu).

    Selektor má dve časti oddelené bodkou: zdroj správy a závažnosť. Veľké a malé písmená sú rovnaké. Môžete použiť aj čísla (pozri /usr/include/syslog.h). Okrem zdrojov definovaných v syslog.3 môžete zadať značka(bežné časové pečiatky) bezpečnosť(zastarané synonymum pre auth). Okrem úrovní závažnosti definovaných v syslog.h môžete použiť varovať(synonymum pre pozor), chyba(synonymum pre chybovať), panika(synonymum pre vynoriť sa). Správy s úrovňou rovnajúcou sa alebo vyššou ako je špecifikovaná vo selektore a so zdrojom, ktorý sa rovná tomu špecifikovanému v selektore, sa považujú za platné. Hviezdička pred bodom zodpovedá akémukoľvek zdroju, za bodom - akejkoľvek úrovni. Slovo žiadny za bodkou - žiadna úroveň pre daný zdroj. V jednom selektore môžete zadať viacero zdrojov (oddelené čiarkami). Na jednom riadku je možné zadať viacero voličov. Sémantika nie je jasná: ak používate pozitívne selektory, potom logické ALEBO ak je negatívny ( žiadny a výkričník), potom logické A.

    V novom syslogd (linux) môže úrovni predchádzať znamienko rovnosti - selektoru budú zodpovedať iba správy so zadanou úrovňou (nie však najvyššou); výkričník - správy s úrovňou rovnou alebo vyššou sa nezhodujú; výkričník a rovná sa nebudú zodpovedať správam s úrovňou rovnajúcou sa zadanej úrovni.

    Ako akciu môžete určiť:

    • bežný názov súboru (úplná cesta od koreňového adresára), mínus pred názvom zakáže synchronizáciu záznamov
    • pomenované kanály - fifo (pred názvom je umiestnená zvislá čiara), samotný kanál by mal byť vytvorený pred spustením syslogd pomocou príkazu mkfifo
    • terminál alebo konzola
    • @hostname (odovzdať správy pre vzdialené protokolovanie)
    • zoznam užívateľov (oddelených čiarkami), na ktorých terminály bude správa odoslaná
    • hviezdička na odoslanie správy na všetky terminály (stena)

    Pri analýze konfiguračného súboru syslogd porovnáva adresu loghost(definované v / etc / hosts, nie cez DNS) s adresou vášho počítača a ak sa zhoduje, definuje premennú LOGHOST... Súbor syslog.conf potom prechádza cez makroprocesor m4 (1). V zásade sa to používa na to, aby sa rovnaký konfiguračný súbor dal použiť na hostiteľoch klienta a servera (z hľadiska syslogu).

    Postup spustenia a zastavenia: /etc/init.d/syslog(odkazy naň z adresárov /etc/rc?.d). Číslo procesu je uložené v /etc/syslog.pid.

    klogd číta správy jadra (buď cez / proc / kmsg alebo systémové volania), určuje úroveň, prekladá adresy príkazov na názvy programov a posiela správu syslogd.

    Parametre spustenia:

    • -c úroveň(správy tejto úrovne a menej závažné sa budú odosielať do syslogu a závažnejšie správy sa budú odosielať do konzoly; predvolene - 7; nemožno zadať 0)
    • -d(režim ladenia)
    • -f Názov súboru (prihláste sa do zadaného súboru namiesto syslog)
    • -i(znovu načítajte symboly modulov v už spustenom klogd, musia sa použiť vždy, keď sa modul načíta alebo uvoľní; dúfajme, že súčasné verzie insmod, rmmod a modprobe to urobia sami)
    • -Ja(znova načítajte symboly jadra a modulov v už spustenom klogd)
    • -k Názov súboru (použite určený súbor ako tabuľku symbolov jadra namiesto /boot/System.map)
    • -n(neprechádzať na pozadí; vyžaduje sa spustiť z init)
    • -o(jednorazový režim - zaznamenajte všetky správy nahromadené vo vyrovnávacej pamäti jadra a ukončite)
    • -p(pre každý prípad znova načítajte tabuľku symbolov modulu v čase prekladu adresy - jadro to nemusí byť schopné)
    • -s(používajte iba systémové volania a neprechádzajte na / proc / kmsg, aby ste získali pôvodné správy)
    • -v(zobraziť verziu a dokončiť)
    • -X(neprevádzajte adresy na mená)
    • -2 (Správy o zlyhaní jadra - Ups! - sa vydávajú dvakrát: pred konverziou adries na mená - pre ksymoops - a potom)

    Úrovne správ jadra (určené číslom v lomených zátvorkách a prevedené na závažnosť syslog, nezmenené na výstupe súboru):

    • KERN_EMERG - 0 (systém je nepoužiteľný)
    • KERN_ALERT - 1 (okamžite je potrebné vykonať akciu)
    • KERN_CRIT - 2 (kritické podmienky)
    • KERN_ERR - 3 (chybové stavy)
    • KERN_WARNING - 4 (výstražné podmienky)
    • KERN_NOTICE - 5 (normálny, ale významný stav)
    • KERN_INFO - 6 (informatívne)
    • KERN_DEBUG – 7 (správy na úrovni ladenia)

    Reakcia na signály:

    • SIGINT, SIGKILL, SIGTERM a SIGHUP - vypnutie
    • SIGTSTP - zastavenie protokolovania
    • SIGCONT - životopis, prípadne výber iného
    • zdroj správ (/ proc / kmsg alebo systémové volania)
    • SIGUSR1 - Znovu načítať symboly modulov
    • SIGUSR2 - Znovu načítajte symboly jadra a modulov

    Číslo procesu je uložené v /var/run/klogd.pid.

    Inicializácia protokolovania: openlog- je uvedená štandardná predpona pridaná ku všetkým nasledujúcim správam (zvyčajne názov programu, číslo procesu v hranatých zátvorkách a dvojbodka); zdroj a možnosti. closelog- ukončenie ťažby dreva. syslog- protokolovanie (určuje zdroj, závažnosť a formát reťazca ako v printf).

    logrotate(verzia 3.2-1 / 3.3.2-1 / 3.5.9) - Boj proti rastúcim protokolom: rotácia (verzia), kompresia, mazanie a odosielanie poštou. Beží denne pomocou cronu ( /etc/cron.daily/logrotate) a umožňuje spracovať protokoly, ak presiahnu určenú veľkosť alebo v určenom časovom intervale. Umožňuje spracovávať nielen protokoly syslog, ale aj akékoľvek iné programy. Parametre:

    • [-d](režim ladenia, nevykonávajú sa žiadne skutočné zmeny)
    • [-f](urobte zmeny, aj keď logrotate nevidí potrebu - používa sa pri zmenách v zozname spracovaných protokolov)
    • [-s statefilename ] (v tomto súbore je medzi spustením štandardne uložený aktuálny stav protokolov - /var/lib/logrotate.status)
    • configfilenames (mená oddelené medzerami; na poradí záleží; ak je zadaný názov adresára, potom sa každý súbor v ňom považuje za konfiguračný súbor; RH používa súbor /etc/logrotate.conf a adresár /etc/logrotate.d)

    Konfiguračný súbor definuje globálne parametre (jeden na riadok), ktoré nastavujú predvolené parametre pre všetky protokoly. Pre každú dávku spracovaných protokolov sú špecifikované lokálne parametre: je špecifikovaný základný názov súboru, za ktorým nasledujú lokálne parametre v zložených zátvorkách, jeden na riadok. Ak obsahuje medzery alebo iné špeciálne znaky, môže byť názov súboru citovaný podľa pravidiel shellu. Môžete zadať viacero názvov súborov alebo vzorov názvov súborov oddelených medzerami (vzory sa tiež riadia pravidlami prostredia). Spracovanie každej sekcie sa považuje za jednu akciu. Riadky začínajúce znakom „#“ sú komentáre. Parametre špecifikované v nasledujúcom konfiguračnom súbore prepíšu hodnoty parametrov špecifikovaných v predchádzajúcom súbore. Lokálne parametre majú prednosť pred globálnymi parametrami. Poradie súborov v konfiguračnom adresári nie je definované.

    Parametre:

    • komprimovať | nocompress(staršie verzie sú komprimované alebo nekomprimované pomocou gzip)
    • komprimovaťcmd(nastaví komprimačný program, štandardne gzip)
    • uncompresscmd(predvolene nastaví dekompresný program - ungzip)
    • kompresný text(nastaví príponu pre komprimované súbory)
    • možnosti kompresie(nastavuje parametre komprimačného programu; predvolená hodnota je "-9", t.j. maximálna kompresia pre gzip)
    • copytruncate | nocopytruncate(zvyčajne sa stará verzia premenuje a vytvorí sa nová verzia protokolu; pri nastavení tohto parametra logrotate skopíruje protokol do nového súboru a potom skráti starý; používa sa, ak ho program vytvárajúci protokol nemôže zatvoriť; urobia sa záznamy medzi kopírovaním a skrátením sa stratia; Pomôže však, ak program, ktorý vytvorí protokol, namiesto režimu pripojenia jednoducho zapíše do súboru pomocou interného ukazovateľa?)
    • vytvoriť [ prístupové práva vlastník skupina] | nocreate(ihneď po premenovaní starej verzie denníka a pred zavolaním postrotovať vytvorí sa nový protokol so zadanými atribútmi - oprávnenia sa nastavia v osmičke, ako v chmod.2; ak atribúty nie sú špecifikované, prevezmú sa zo starého protokolu)
    • denne(zmena verzie v sérii sa vyskytuje denne)
    • delaycompress | nodelaycompress(niektoré programy neuzavrú protokol okamžite, v takom prípade by mala byť kompresia odložená na ďalší cyklus)
    • chyby email (komu posielať hlásenia o chybách)
    • rozšírenie prípona (nastaví príponu pridanú k názvom súborov pri otáčaní pred príponou kompresie)
    • prázdny | bez upozornenia(zmeniť verzie, aj keď je súbor prázdny; toto je predvolené nastavenie)
    • zahŕňajú Názov súboru | názov-adresára (textovo nahradiť súbor alebo všetky súbory zo zadaného adresára; podadresáre, špeciálne súbory a súbory s príponami zo zoznamu výnimiek nie sú zahrnuté; nemožno ich použiť v sekcii)
    • poštou adresa | nomail(keď si zmena verzie vyžiada vymazanie starého protokolu a jeho odoslanie na zadanú adresu)
    • mailfirst(odoslať nie zmazanú verziu denníka, ale prvú)
    • maillast(odoslať vymazanú verziu denníka; toto je predvolené nastavenie)
    • missok | nomissingok(neodosielať chybové hlásenia, ak protokol chýba)
    • mesačne(zmena verzie prebieha mesačne)
    • olddir adresár | noolddir(počas zmeny verzie sa protokol presunie do určeného adresára; mal by byť na rovnakom fyzickom zariadení)
    • postrotovať koncový skript sa po procese inovácie vykonávajú ako príkazy shellu)
    • predrotovať(všetky ďalšie riadky až po riadok koncový skript sa vykonajú pred procesom inovácie)
    • točiť sa číslo (koľko starých verzií si ponechať; ak 0, tak žiadnu)
    • veľkosť byte (zmena verzie nastane, ak veľkosť protokolu prekročí zadané číslo; môžete použiť prípony "k" - kilobajty - a "M" - megabajty)
    • zdieľané skripty | nosharedscripts(vykonávať príkazy predrotovať a postrotovať iba raz pre všetky súbory popísané v časti)
    • tabuext [+ ] zoznam prípon (špecifikuje zoznam výnimiek prípon pre zahŕňajú; ak je uvedené znamienko plus, potom pridanie, inak nahradenie; predvolené hodnoty: .rpmorig, .rpmsave, .rpmnew, ", v", .swp a "~")
    • týždenne(zmena verzie sa vyskytuje týždenne)

    Pri dodávke RH /etc/logrotate.conf popisuje globálne parametre a parametre pre / var / log / wtmp a / var / log / lastlog a odkazuje na adresár /etc/logrotate.d, do ktorého každý balík zapisuje lokálne parametre pre svoje protokoly.

    logwatch je rámec pre písanie programov (nazývaných filtre) na extrahovanie užitočných informácií z mnohých, veľkých a rôznorodých protokolov (nielen syslog). „Balík“ obsahuje niekoľko filtrov určených pre Red Hat Linux (nejaká starodávna verzia, keďže namiesto xinetd sa spomína inetd), ale budete si ich musieť prispôsobiť konkrétnej situácii sami. Poslednú zmenu urobil autor v septembri 2000, takže na ďalší vývoj netreba čakať.

    Filtre môžu byť napísané v akomkoľvek programovacom jazyku, ale autor balíka preferuje perl. Filtre by mali byť napísané tak, aby čítali dáta z stdin a výsledok vypisovali do stdout. Pred volaním filtra sa nastavia premenné prostredia: LOGWATCH_DATE_RANGE, LOGWATCH_DETAIL_LEVEL, LOGWATCH_TEMP_DIR, LOGWATCH_DEBUG. Hlavný program je tiež napísaný v jazyku perl: /etc/log.d/scripts/logwatch.pl(/etc/log.d/logwatch, / usr / sbin / logwatch a /etc/cron.daily/00-logwatch sú symbolické odkazy naň).

    Adresár /etc/log.d/conf/logfiles/ obsahuje konfiguračné súbory skupín protokolov, v ktorých sú uložené záznamy o udržiavaných službách. Každá skupina je popísaná v samostatnom súbore názov skupiny.conf, v ktorom sú nastavené:

    • LogFile = názov súboru obsahujúceho protokol alebo vzor názvu; možno zadať viacero mien alebo vzorov; mená m. vo vzťahu k LogDir
    • Archív = názov súboru vytvoreného logrotate archivovanej verzie denníka alebo vzor pomenovania; možno zadať viacero mien alebo vzorov; mená m. vo vzťahu k LogDir
    • názvy filtrov ( iba raz, aj keď druhý je zobrazený!) od /etc/log.d/scripts/shared/ ako
      *filter-name = parametre , napríklad na filtrovanie denníka podľa dátumu, ak je napísaný v štandardnom formáte syslog, použite riadok:
      * ApplyStdDate =

    Adresár /etc/log.d/conf/services/ obsahuje konfiguračné súbory pre služby, ktorých záznamy protokolu logwatch spracuje. Každá služba je popísaná v samostatnom súbore názov služby.conf, v ktorom sú nastavené:

    • LogFile = názov skupiny denníka
    • názvy filtrov z /etc/log.d/scripts/shared/ ako
      *filter-name = parametre pred servisným filtrom
    • $prostredie-názov-premennej = význam

    Adresár /etc/log.d/scripts/logfiles/ obsahuje filtre na spracovanie skupín protokolov: pri spracovaní skupiny protokolov všetky súbory v adresári /etc/log.d/scripts/logfiles/ názov skupiny používané ako filtre.

    Adresár /etc/log.d/scripts/services/ obsahuje filtre na spracovanie záznamov konkrétnych služieb.

    Adresár /etc/log.d/scripts/shared/ obsahuje všeobecné filtre používané v konfiguračných súboroch skupiny protokolov:

    • applystddate - filtruje protokol podľa požadovaného dátumu, ak je napísaný vo formáte syslog (tu a v súkromných filtroch podľa dátumu vložte LANG = pred dátum volania, inak sa Mar nijako nezhoduje s Mar;)
    • expandrepeat - zmení riadky "poslednej opakovanej správy" na zodpovedajúci počet riadkov správy z predchádzajúceho riadku
    • onlycontains - ponechá len tie riadky protokolu, ktoré obsahujú zadaný reťazec (v úvodzovkách som dal okolo "$ *")
    • onlyservice - extrahuje z protokolu vo formáte syslog riadky súvisiace so zadanou službou (názov služby sa odovzdá ako parameter)
    • remove - ponechá len tie riadky protokolu vo formáte syslog, ktoré neobsahujú zadaný riadok ( Vložil som úvodzovky okolo "$ *" a odstránil som1, odober2 atď. keďže som nerozumel, ako určiť niekoľko podvzorov pre egrep v jednom riadku; mimochodom, parametre sú nahradené do shellu, takže nie je možné použiť ani špeciálne znaky)
    • removeheaders - odstránenie štandardných polí (dátum, čas, názov hostiteľa, štítok služby a číslo procesu)
    • removeservice - extrahuje z denníka riadky vo formáte syslog, ktoré nesúvisia so zadanou službou (ako parameter sa odovzdá názov služby)

    Predvolené parametre sú uložené v súbore /etc/log.d/conf/logwatch.conf (/etc/log.d/logwatch.conf má naň symbolický odkaz), komentáre, v ktorých vám umožňujú pochopiť význam parametre:

    • LogDir - adresár, ku ktorému sa berú do úvahy názvy súborov
    • MailTo – komu poslať správu
    • Tlač - namiesto odoslania správy poštou ju vystavte na stdout
    • Uložiť – namiesto odoslania hlásenia poštou ho uloží do zadaného súboru
    • Archívy - použite verzie protokolov generovaných logrotate
    • Rozsah – uvažovaný časový interval: Všetko, Dnes, Včera (včerajší kalendárny deň)
    • Detail – úroveň podrobnosti správy: od 0 do 10 alebo Nízka, Stredná, Vysoká
    • Služba – všetko alebo názov filtra z /etc/log.d/scripts/services/ (je možné zadať viacero filtrov)
    • LogFile – všetko alebo názov skupiny denníka (možno zadať viacero skupín)

    Parametre spustenia:

    • -- detail úrovni (úroveň podrobnosti správy: vysoká, stredná alebo nízka)
    • --logfile skupinové denníky (spracúvať iba protokoly tejto skupiny; skupina je určená symbolickým názvom v konfiguračnom súbore; je možné zadať viacero skupín)
    • --servis názov služby (spracovať iba tie záznamy v protokoloch, ktoré sa týkajú tejto služby; služba je špecifikovaná symbolickým názvom v konfiguračnom súbore; je možné zadať viacero služieb; názov Všetky spracovanie záznamov hovorov pre všetky služby)
    • --tlač(oznámte stdout)
    • --mailto adresa (zaslať správu na uvedenú adresu)
    • --uložiť Názov súboru (zapíšte správu do určeného súboru)
    • --archívy(spracovať nielen aktuálne verzie protokolov, ale aj staré kópie vytvorené pomocou logrotate)
    • --rozsah dátum-interval (spracujte iba tie záznamy v protokoloch, ktoré sa týkajú daného časového intervalu: včera, dnes, Všetky)

    Hlavným použitím je zahrnutie súboru 00-logwatch (začínajúceho na "00" na spustenie pred logrotate) do adresára /etc/cron.daily, čo spôsobí, že sa logwatch spustí denne s predvolenými možnosťami.

    Bohužiaľ, všetky filtre sú navrhnuté tak, aby sa protokoly zapisovali na tom istom hostiteľovi, na ktorom beží služba.

    Všetky záznamy sa uchovávajú na jednom počítači (ak máte paranoidné sklony, môžete zaznamenávať záznamy na dvoch serveroch naraz).

    Zhoda medzi formálnym názvom zdroja a skutočným zariadením alebo programom:

    • local0 - Cisco
    • local3 - ftp (existuje špeciálny názov zdroja, ale Solaris 2.5 ho nepozná)
    • local4 - vyhradené pre účtovníctvo
    • local5 - POP3 / IMAP
    • local6 - tac_plus>

    Na serveri by mala byť otvorená obrazovka pre port 514 / udp (môžete obmedziť zdrojové adresy paketov, ale pomôže to len pri nehodách). Spustenie syslogd (parametre v /etc/rc.d/init.d/syslog alebo / etc / sysconfig / syslog) sa musia spustiť pomocou kláves "-r -m 0" (a tiež "-x", ak je rovnaký počítač spustený server DNS). Spustite klogd s prepínačmi "-2 -c 1". Nastavenie Syslog.conf:

    • * .crit - správy úrovne závažnosti CRIT a vyššej by mali byť odoslané na terminály a zapísané do samostatného súboru (chmod 600), vaše správy by mali byť odoslané na záložný server; sendmail považuje správy o problémoch s prijímaním pošty za kritické
    • kern - vytvorenie súboru kern pre všetky úrovne správ (chmod 600)
    • mail - vytvorte poštový súbor pre správy všetkých úrovní (bez synchronizácie)
    • auth, authpriv - vytvorte bezpečný súbor pre správy všetkých úrovní (chmod 600)
    • novinky - v adresári news vytvorte samostatný súbor pre každú úroveň závažnosti (ladenie bez synchronizácie)
    • cron - vytvorte súbor cron pre správy všetkých úrovní (cron v RH 6.2 a Solaris 2.5 nemôže používať syslog)
    • local0 - vytvorte samostatný súbor pre každú úroveň závažnosti v adresári cisco (chyba a nižšie bez synchronizácie)
    • local3 - v adresári ftp vytvorte samostatný súbor pre každú úroveň závažnosti (informácie a ladenie bez synchronizácie)
    • local5 - vytvorte súbor imap.log pre správy všetkých úrovní
    • local6 - vytvorte súbor tac_plus.log pre správy všetkých úrovní
    • local7 - súbor boot.log (správy pri spustení systému a spustení alebo zastavení syslogd a klogd)
    • všetky správy úrovne INFO a vyššej, ktoré sa nedostali do niektorého z vyššie definovaných súborov, zapíšte do súboru správ (chmod 600)

    Na klientskych počítačoch nakonfigurujte syslog tak, aby sa všetky správy odosielali na server syslog, chybové hlásenia boli duplikované v / var / log / syslog, správy o kritickom stave boli duplikované do konzoly, používateľských terminálov. Na počítačoch s linuxom sa tiež vypisujú zavádzacie správy do lokálneho súboru (local7, boot.log). Záložný server syslog by mal prijímať kritické správy zo siete a zapisovať ich do súboru (diera na obrazovke, spúšťací prepínač „-r“).

    logrotate: uchovávať navždy, meniť verzie tak zriedka, ako je to možné (mesačne, okrem chobotnice), ukladať do samostatných adresárov (okrem chobotnice) a komprimovať (v oneskorenom režime, okrem ftpd, linuxconf, sendfax), posielať mi chyby a zmazané súbory. Zhoda parametrov pre syslog.

    Umiestnenie symbolu zvislej čiary (|) pred názov súboru vám umožní použiť fifo (prvý dovnútra - prvý von, prvý prišiel - prvý vyšiel) príp pomenovaná fajka ako príjemca správ. Pred spustením (alebo reštartovaním) syslogd musíte vytvoriť fifo pomocou príkazu mkfifo. Niekedy sa fifos používajú na účely ladenia.

    Terminál a konzola

    Terminál ako / dev / konzola.

    Vzdialený stroj

    Ak chcete posielať správy inému hostiteľovi, pred názov hostiteľa uveďte symbol @. Upozorňujeme, že správy sa nepreposielajú z prijímajúceho hostiteľa. (aby toto priradenie fungovalo na klientovi a serveri v súbore / etc / služby riadok musí byť napísaný syslog 514 / udp a port UTP 514 je otvorený)

    zoznam používateľov

    Zoznam používateľov, ktorí dostávajú správy, oddelených čiarkami (ak je používateľ prihlásený). To často zahŕňa používateľa root.

    Všetci registrovaní užívatelia

    Ak chcete upozorniť všetkých registrovaných používateľov príkazom steny, použite symbol hviezdičky (*).

    Príklad nekomplikovaného syslog.conf:

    # Výstup všetkých správ jadra do konzoly. # kern * / dev / konzola # Všetky protokoly na informačnej úrovni alebo vyššej, okrem e-mailových správ, a # nezapisujú overovacie správy a správy démonov cron! * .info; mail.none; authpriv.none; cron.none / var / log / messages # Zapisujte správy obsahujúce dôverné # overovacie informácie do samostatného súboru, bez ohľadu na ich úroveň. authpriv. * / var / log / secure # Všetky správy z poštového systému by sa tiež mali zapisovať do samostatného súboru. mail. * - / var / log / maillog # Zapisovať správy plánovača do / var / log / cron cron * / var / log / cron # Núdzové správy by mali byť prijaté okamžite # všetci používatelia systému * .emerg * # Uložiť správy novinky o na úrovni kritu a vyššej do samostatného súboru. uucp, news.crit / var / log / spooler # Uložiť zavádzacie správy do boot.log local7. * /var/log/boot.log

    Rovnako ako u mnohých konfiguračných súborov je syntax nasledovná:

    • riadky začínajúce # a prázdne riadky sú ignorované.
    • Symbol * možno použiť na označenie všetkých kategórií alebo všetkých priorít.
    • Špeciálne kľúčové slovo none znamená, že pre túto akciu by sa nemalo vykonávať žiadne protokolovanie.
    • Spojovník pred názvom súboru (ako / var / log / maillog v tomto príklade) znamená, že protokol by sa nemal synchronizovať po každom zázname. V prípade zlyhania systému môžete stratiť informácie, ale zakázaním synchronizácie sa zlepší výkon.

    V syntaxi konfiguračného súboru môžete zadať prioritu podpísať! uviesť, že opatrenie by sa nemalo uplatniť, z tejto úrovne a vyššie... Podobne možno uprednostniť znamenie = uviesť, že pravidlo sa vzťahuje len na danú úroveň, príp != na označenie, že pravidlo platí pre všetky úrovne okrem tejto. Niektoré príklady sú uvedené nižšie (veľa ďalších príkladov možno nájsť v man syslog.conf):

    # Pošlite všetky správy jadra do / var / log / kernel. # Pošlite všetky kritické a vyššie správy na vzdialený počítač sysloger a do konzoly # Pošlite všetky informácie, upozornenia a varovné správy na / var / log / kernel-info # kern. * / Var / log / kernel kern.crit @sysloger kern .crit / dev / console kern.info; kern.! err / var / log / kernel-info # Poslať všetky správy poštového systému okrem informačnej úrovne na / var / log / mail. mail. *; mail.! = info / var / log / mail

    Pokúsil som sa čo najjasnejšie ukázať prácu syslogd v diagrame:

    Spustenie démona syslogd

    Logovací démon sa spúšťa vo fáze inicializácie systému pomocou skriptu /etc/rc.d/init.d/syslog na nastavenie parametrov spustenia však nie je potrebné tento skript upravovať - ​​od verzie 7.2 sa možnosti spustenia načítajú zo samostatného konfiguračného súboru / etc / sysconfig / syslog (/ etc / default / syslogv debiane).

    Tu sú niektoré možné Možnosti spustenia démona syslogd:

    • -a / priečinok / zásuvka- špecifikovanie ďalšej zásuvky na počúvanie (nezabudnite najskôr vytvoriť zásuvku)
    • -d- režim ladenia. V tomto prípade démon neprejde do pozadia a posiela všetky správy na aktuálny terminál;
    • -f názov-konfiguračného-súboru... Určuje názov alternatívneho konfiguračného súboru, ktorý sa má použiť namiesto predvoleného súboru /etc/syslog.conf;
    • -l zoznam hostiteľov- nastavenie zoznamu hostiteľov, ktorých mená sa nemajú zaznamenávať s uvedením celého názvu domény (FQDN - Full Qwalified Domain Name);
    • -m minút- sysklogd spustený bez tejto možnosti zaznamenáva správy kategórie značiek (časové pečiatky) každých 20 minút. Pomocou voľby -m môžete buď zmeniť interval medzi značkami, alebo úplne zrušiť vydávanie takýchto správ;
    • -p zásuvka- nastavenie alternatívneho UNIX socketu (namiesto počúvania v predvolenom nastavení / dev / log);
    • -r- povolenie prijímať správy od vzdialených hostiteľov;
    • -X- zákaz určovania názvu hostiteľa podľa jeho adresy, aby sa zabránilo zamrznutiu pri práci na rovnakom hostiteľovi so serverom DNS.
    • -v- ukázať verziu a dokončiť prácu

    Po spustení démona syslogd sa vygeneruje stavový súbor / var / lock / subsys / syslog nulovú dĺžku a súbor s ID procesu /var/run/syslogd.pid.

    Pomocou príkazu
    kill -SIGNAL `cat / var / run / syslogd.pid`

    možno poslať na démona syslogd jeden z nasledujúcich signálov: VZDYCHNUTIE- reštartovanie démona; SIGTERM- dokončenie práce; SIGUSR1- povoliť / zakázať režim ladenia.

    V systéme v skutočnosti bežia dvaja logovací démoni - syslogd a klogd... Oba démoni sú súčasťou balenia sysklogd.

    Démon klogd zodpovedný za zaznamenávanie udalostí, ktoré sa vyskytli jadro systému... Potreba samostatného démona klogd je spôsobená tým, že jadro nemôže používať štandardnú funkciu syslog. Ide o to, že štandardné knižnice C (vrátane knižnice, ktorá obsahuje funkciu syslog) sú určené len na použitie konvenčné aplikácie... Keďže jadro potrebuje aj funkciu protokolovania, obsahuje vlastné knižnice, ktoré nie sú dostupné pre aplikácie. Preto jadro používa vlastný mechanizmus generovania správ.

    Démon klogd je navrhnutý tak, aby organizoval spracovanie týchto správ. V princípe môže toto spracovanie robiť úplne nezávisle a nezávisle od syslogd, napríklad zapisovaním týchto správ do súboru, no vo väčšine prípadov sa používa predvolené nastavenie klogd, ktoré posiela všetky správy z jadra rovnakému démonovi syslogd.

    Automatická rotácia (aktualizácia celých súborov) a archivácia protokolov

    Postupom času má súbor denníka tendenciu rásť, najmä pri intenzívnej práci akejkoľvek služby. V súlade s tým musíte mať možnosť kontrolovať veľkosť protokolov. Toto sa robí s príkazy logrotatečo sa zvyčajne robí cron démon... O práci cronu budem hovoriť v nasledujúcich článkoch. hlavným cieľom príkazy logrotate je pravidelne zálohovať protokoly a vytvárať nové čisté protokoly. Uchováva sa viacero generácií protokolov a keď protokol poslednej generácie dosiahne dátum vypršania platnosti, možno ho archivovať (komprimovať). Výsledok možno poslať poštou, napríklad osobe zodpovednej za udržiavanie archívov.

    Na určenie poradia rotácie a archivácie protokolov použite konfiguračný súbor /etc/logrotate.conf ... Pre rôzne časopisy môžete nastaviť inú frekvenciu, napríklad dennú, týždennú alebo mesačnú, navyše môžete upraviť počet nahromadených generácií, ako aj určiť, či sa kópie archívov budú posielať osobe zodpovednej za údržbu archívoch a ak áno, kedy. Zobrazené nižšie príklad súboru /etc/logrotate.conf:

    # najprv sa nastavia "predvolené" parametre (globálne možnosti) # aktualizovať súbory denníka týždenne # uchovávať archív denníkov za posledné 4 týždne rotovať 4 # po rotácii (aktualizácii) vytvoriť nový (prázdny) súbor vytvoriť # odkomentovať, ak chcete, aby boli uložené súbory komprimované #compress # povoliť nastavenia rotácie zo zadaného adresára vrátane /etc/logrotate.d # neukladať wtmp, alebo btmp - nastavenia rotácie údajov protokolu sú nasledovné: / var / log / wtmp (chýba mesačné vytvorenie 0664 root utmp rotácia 1) / var / log / btmp (chýbaok mesačné vytvorenie 0664 root utmp rotácia 1) # špecifické systémové denníky je možné nakonfigurovať nižšie

    Globálne možnosti sú umiestnené na začiatku súbor logrotate.conf... Používajú sa štandardne, ak inde nie je špecifikované nič konkrétnejšie. V príklade dochádza k rotácii žurnálov týždenne a zálohy sa uchovávajú pre štyri týždňov. Akonáhle sa žurnál otočí, automaticky sa vytvorí nový namiesto starého žurnálu. súbor Logrotate.conf môže obsahovať špecifikácie z iných súborov. Takže obsahuje všetky súbory z adresára /etc/logrotate.d.

    Tento príklad obsahuje aj špeciálne pravidlá pre / var / log / wtmp a / var / log / btmp(ukladanie informácií o úspešných a neúspešných pokusoch o prihlásenie do systému), ktoré sa mesačne striedajú. Ak súbory chýbajú, nezobrazí sa žiadne chybové hlásenie. Vytvorí sa nový súbor a uloží sa iba jedna záloha.

    V tomto príklade, keď záloha dosiahne najnovšiu generáciu, vymaže sa, pretože nie je definované, čo s ňou robiť.

    Zálohy denníkov môžu byť tiež generované, keď protokoly dosiahnu určitú veľkosť, a skripty môžu byť generované zo sád príkazov, ktoré sa majú vykonať pred alebo po operácii zálohovania. Príklad:

    / var / log / správy (otočiť 5 správ [e-mail chránený] veľkosť 100k postrotate / usr / bin / killall -HUP syslogd endscript)

    V tomto príklade rotácia / var / log / správy vytvorený, keď dosiahne 100 kB. Nazhromaždí sa päť záloh a keď platnosť najstaršej zálohy vyprší, pošle sa na adresu [e-mail chránený] Príkazové slovo postrotate umožňuje skriptu reštartovať démona syslogd po dokončení rotácie odoslaním signálu HUP. Príkazové slovo endscript je potrebné na ukončenie skriptu a tiež v prípade, že je dostupný skript prerotate. Viac informácií nájdete na manuálových stránkach logrotate.

    Parametre uvedené v konfiguračnom súbore logrotate.conf:

    • komprimovať| nocompress(staršie verzie sú komprimované alebo nekomprimované pomocou gzip)
    • komprimovaťcmd(nastaví komprimačný program, štandardne gzip)
    • uncompresscmd(predvolene nastaví dekompresný program - ungzip)
    • kompresný text(nastaví príponu pre komprimované súbory)
    • možnosti kompresie(nastavuje parametre komprimačného programu; predvolená hodnota je "-9", t.j. maximálna kompresia pre gzip)
    • copytruncate| nocopytruncate(zvyčajne sa premenuje stará verzia a vytvorí sa nová verzia protokolu; keď je tento parameter nastavený, logrotate skopíruje protokol do nového súboru a potom skráti starý; používa sa, ak ho program vytvárajúci protokol nemôže zatvoriť; záznamy vytvorené medzi kopírovaním a skrátením sa stratia; pomôže však, ak program, ktorý vytvorí protokol, namiesto režimu pridania jednoducho zapíše do súboru pomocou interného ukazovateľa?)
    • vytvoriť[skupina vlastníkov povolení] | nocreate(hneď po premenovaní starej verzie žurnálu a pred volaním postrotate sa vytvorí nový žurnál so zadanými atribútmi - oprávnenia sa nastavia v osmičkovej sústave, ako v chmod.2; ak nie sú zadané žiadne atribúty, tak sa prevezmú zo starého denník)
    • denne(zmena verzie v sérii sa vyskytuje denne)
    • delaycompress| nodelaycompress(niektoré programy neuzavrú protokol okamžite, v takom prípade by mala byť kompresia odložená na ďalší cyklus)
    • chybyemail(komu posielať hlásenia o chybách)
    • rozšírenieprípona(nastaví príponu pridanú k názvom súborov pri otáčaní pred príponou kompresie)
    • prázdny| bez upozornenia(zmeniť verzie, aj keď je súbor prázdny; toto je predvolené nastavenie)
    • zahŕňajúNázov súboru| názov-adresára (textovo nahradiť súbor alebo všetky súbory zo zadaného adresára; podadresáre, špeciálne súbory a súbory s príponami zo zoznamu výnimiek nie sú zahrnuté; nemožno ich použiť v sekcii)
    • poštouadresa| nomail(keď si zmena verzie vyžiada vymazanie starého protokolu a jeho odoslanie na zadanú adresu)
    • mailfirst(odoslať nie zmazanú verziu denníka, ale prvú)
    • maillast(odoslať vymazanú verziu denníka; toto je predvolené nastavenie)
    • missok| nomissingok(neodosielať chybové hlásenia, ak protokol chýba)
    • mesačne(zmena verzie prebieha mesačne)
    • olddiradresár| noolddir(počas zmeny verzie sa protokol presunie do určeného adresára; mal by byť na rovnakom fyzickom zariadení)
    • postrotovať(všetky ďalšie riadky až po riadok endscriptu sa vykonajú ako príkazy shellu po procese zmeny verzie)
    • predrotovať(všetky ďalšie riadky až po riadok koncového skriptu sa vykonajú pred procesom zmeny verzie)
    • točiť sačíslo(koľko starých verzií si ponechať; ak 0, tak žiadnu)
    • veľkosťbyte(zmena verzie nastane, ak veľkosť protokolu prekročí zadané číslo; môžete použiť prípony "k" - kilobajty - a "M" - megabajty)
    • zdieľané skripty| nosharedscripts(príkazy prerotate a postrotate vykonajte iba raz pre všetky súbory opísané v časti)
    • tabuext[+] zoznam prípon(špecifikovanie zoznamu vylúčení prípon pre include; ak je zadané znamienko plus, potom pridanie, inak nahradenie; štandardne: .rpmorig, .rpmsave, .rpmnew, ", v", .swp a "~")
    • týždenne(zmena verzie sa vyskytuje týždenne)

    Skúmanie a monitorovanie denníkov

    Záznamy protokolu zvyčajne obsahujú časovú pečiatku, názov hostiteľa, na ktorom je spustený opísaný proces, a názov procesu. Zobraziť denníky môžete použiť program na stránkovanie, napr. menej, môžete pomocou príkazu vyhľadať konkrétne položky (napríklad správy jadra od konkrétneho démona). grep:

    # less / var / log / messages # grep "ppp" / var / log / messages | tail Dec 17 16:34:25 proxy pppd: Pripojenie ukončené. 17. decembra 16:34:25 proxy pppd: Koniec. 17. decembra 16:35:57 proxy pppd: LCP ukončené partnerom (^ P] kV ^ @

    Počítač nemusí stále fungovať a vypína sa, povedzme v noci. Preto sa záznamy v / var / log / správach ukladajú cyklicky od spustenia počítača až po jeho vypnutie, čo možno vidieť zo správ:

    17. decembra 08:32:56 syslog-server syslogd 1.4-0: reštart. Dec 17 08:32:56 syslog-server syslog: syslogd úspešný Dec 17 08:32:56 syslog-server kernel: klogd 1.4-0, log source = / proc / kmsg start. 17. decembra 08:32:56 syslog-server syslog: spustenie klogd bolo úspešné

    Dec 17 08:32:56 syslog-server kernel: Kernel command line: auto BOOT_IMAGE = linux ro root = 303 BOOT_FILE = / boot / vmlinuz-2.4.2-2 Dec 17 08:32:56 syslog-server kernel: Memory: 125652k / 130560k k dispozícii (1365k kód jadra, 4200k rezervované, 92k dáta, 236k init, 0k highmem) 17. decembra 08:32:56 syslog-server jadro: CPU: Intel (R) Pentium (R.60z CPU) CPU

    Ďalej v tomto súbore nájdete informácie o diskovej pamäti (vrátane informácií o geometrii disku, štruktúre partícií a použitých prerušeniach), informácie o periférnych zariadeniach, o spúšťaní jednotlivých služieb a služieb, informácie o pripojení súborových systémov a tiež správy o prihlásení používateľa ako chybové hlásenia.

    Niekedy to môže byť nevyhnutné denníky monitorovacieho systému s cieľom vyhľadať aktuálne udalosti. Môžete sa napríklad pokúsiť zachytiť vzácnu udalosť v okamihu, keď sa stala. V tomto prípade môžete použiť príkaz chvost s opciou -f na sledovanie obsahu syslog. Príklad:

    # tail -f / var / log / správy | grep syslog-server 17. decembra 16:46:09 syslog-server pppd: pptpd-logwtmp.so ip-up ppp0 maikop 94.77.0.150 dec 17 16:46:09 syslog-server pppd: Script / etc-up pppd ukončené (pid 12552), stav = 0x0 17. decembra 16:46:49 syslog-server pptpd: CTRL: Klient 85.175.197.65 riadiace pripojenie spustené 17. decembra 16:46:49 syslog-server pptpd: CTRL, Začiatok hovoru ppplaunchd otváranie GRE) 17. decembra 16:46:49 syslog-server pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so načítaný.

    Okrem protokolových súborov špecifikovaných v /etc/syslog.conf existujú aj ďalšie súbory, napríklad súbor, ktorý ukladá informácie o procese zavádzania systému pred spustením syslogd, ako aj súbory, ktoré majú binárny formát a ukladajú informácie o poslednom prihlásení používateľa, všetkých úspešných prihláseniach používateľov a všetkých neúspešných prihláseniach používateľov, resp. Adresár / var / log / môže tiež obsahovať protokolové súbory démonov, ako je webový server alebo proxy server. Formát týchto súborov je podobný protokolom syslogd.

    Nakoniec by som chcel zdôrazniť, že tento protokol nie je príliš bezpečný, tk. syslog neobsahuje žiadne prostriedky na ochranu pred spoofingom správ. Horšie je, že použitie UDP umožňuje útočníkom posielať správy v mene akéhokoľvek hostiteľa. Vaša lokálna sieť by mala byť chránená proti prijímaniu paketov s falošnými lokálnymi adresami (hoci vám to nebráni v odosielaní falošných správ zvnútra lokálnej siete) a proti prijímaniu paketov mimo port 514 / udp. Sú známe prípady preplnenia disku falošnými správami.

    Protokol syslog a UDP neposkytujú garantované doručenie (správy sa môžu stratiť pri preťažení siete alebo môžu byť zachytené, poškodené správy sú bez varovania vymazané), správna sekvencia doručenia (správa o ukončení procesu môže prísť pred správou o jeho spustení) , prednostné doručenie.

    Správy nie sú dôverné, pretože sa prenášajú vo forme čistého textu.

    Ak pri konfigurácii generátora správ zadáte nesprávnu adresu kolektora alebo relé, nebudú sa zobrazovať žiadne chybové hlásenia - správy sa vymažú (alebo sa zapíšu do denníka niekoho iného).

    Na zlepšenie protokolu syslog bolo navrhnutých niekoľko projektov. Napríklad RFC 3195 navrhuje protokolovací systém založený na TCP (syslog-conn), aby sa zabezpečilo, že správy budú doručené v správnom poradí. Projekt syslog-sign navrhuje zabezpečiť autentifikáciu, objednávanie, integritu správ a detekciu chýbajúcich správ generovaním špeciálnych správ obsahujúcich digitálny podpis bloku predchádzajúcich správ pri zachovaní štandardného protokolu a formátu syslog a pomocou UDP.

    Poďme si to zhrnúť:

    Linux má jediného démona zodpovedného za zaznamenávanie udalostí v lokálnom systéme a vzdialených systémoch. Všetky udalosti sa zhromažďujú zo zásuvky / dev / log, portu UDP - 514, ako aj z "pomocníka" - démona klogd, ktorý posiela správy z jadra. Všetky zhromaždené správy sú filtrované démonom syslogd prostredníctvom pravidiel v súbore /etc/syslog.conf a distribuované podľa pravidiel na príslušné miesta určenia. Súbory denníka sa pravidelne „skracujú“. Frekvencia je určená súborom logrotate.conf a príkazom logrotate, ktorý spúšťa systémový plánovač - cron.

    To je na dnes všetko. Dúfam, že som všetko opísal čo najzrozumiteľnejšie. Časom budem článok dopĺňať!

    S pozdravom, Mc.Sim!

    SERGEJ SUPRUNOV

    Tipy FreeBSD: pomocou syslog

    - Prepáčte, súdruhovia, mám zapísané všetky ťahy!

    "Kancelária píše," povedal Ostap.

    I. Ilf, E. Petrov "12 stoličiek".

    Logovanie práce akéhokoľvek systému a predovšetkým servera je jednou z najdôležitejších súčastí administrácie. Ak sa v systéme vyskytnú nejaké problémy, najprv sa pozrieme do protokolových súborov. Odtiaľ odvodzujeme istotu, že ten či onen program funguje podľa očakávania. Pri vývoji webových aplikácií sa protokolový súbor stáva najdôležitejším zdrojom informácií o ladení. Bude sa diskutovať o vlastnostiach démona syslog, ktorý je zodpovedný za protokolovanie systémových informácií.

    Čo je syslog

    Syslog je centralizovaná služba, ktorá zhromažďuje a zaznamenáva informácie o protokoloch z rôznych komponentov operačného systému a používateľských procesov. Programy tretích strán sú zvyčajne schopné samostatne pracovať so svojimi protokolovými súbormi, hoci mnohé z nich možno nakonfigurovať na prácu s démonom syslogd. Medzi výhody používania syslog patrí možnosť riadiť proces zhromažďovania potrebných informácií pomocou jediného konfiguračného súboru, čo zabezpečuje konzistenciu prijatých log-súborov a v dôsledku toho zjednodušuje ich správu.

    Službu syslog poskytuje démon syslogd, ktorý sa automaticky spúšťa pri štarte systému. Je neustále v pamäti, čaká na správy od iných procesov a spracováva ich v súlade so svojimi nastaveniami.

    Každá správa je charakterizovaná úrovňou a zariadením. Úroveň špecifikuje mieru dôležitosti správy z hľadiska fungovania systému. Súbor syslog.h definuje nasledujúce úrovne (priority):

    Tabuľka 1. Úrovne správ

    úroveň

    Popis

    objavovať sa, panika

    Panický stav

    upozorniť

    Stav vyžadujúci okamžitú pozornosť

    krit

    Kritický stav

    chyba, chyba

    Iné pracovné chyby

    varovať, varovať

    Varovania

    upozorniť

    Správy, ktoré nie sú chybami, ale mali by ste si ich všimnúť

    Info

    Informačné správy (normálna prevádzka)

    ladenie

    Informácie o ladení

    Tabuľka 1 uvádza úrovne správ v zostupnom poradí. Toto poradie bude potrebné neskôr v diskusii o syntaxi konfiguračného súboru.

    Označenia úrovne správy napísané na rovnakom riadku (napr. emerg a panika) sú synonymá a možno použiť ktorýkoľvek z nich. Panika, chyba a varovanie (uvedené ako druhé v tabuľke) sú však zastarané a pri úprave konfiguračného súboru sa im treba vyhnúť. Namiesto toho použite emerg, err a warning.

    Možné zdroje správy sú uvedené v tabuľke 2:

    Tabuľka 2. Zdroje správ

    Zdroj

    Popis

    kern

    Správy jadra

    auth, authpriv

    bezpečnosť

    Bezpečnostné správy (napr. z brány firewall)

    konzoly

    Správy do konzoly (/ dev / konzola)

    syslog

    Natívne správy syslog

    cron

    Správy podsystému Cron

    Správy časovej služby

    Príspevky FTP servery

    Tlač správ podsystému

    poštou

    Správy z poštových služieb

    správy

    Správy spravodajskej služby

    uucp

    Príspevky UUCP

    démon

    Správy od iných démonov spustených v systéme

    užívateľ

    Používateľ spracováva správy

    miestne0 - miestne7

    Môže byť použitý pre rôzne potreby používateľov (niekedy tiež využívaný systémom)

    Pri konfigurácii aplikácie na prácu so službou syslog skontrolujte, ktoré zariadenie používa. Niektoré programy vám umožňujú určiť zdroj sami. Napríklad démon clamd (hlavný proces antivírusu clamav) štandardne používa local6, ale umožňuje vám zadať iný zdroj (parameter LogFacility v konfiguračnom súbore). V niektorých prípadoch môže byť užitočné skombinovať jeho správy so správami z poštových služieb, pričom ako zdroj uveďte LOG_MAIL.

    Možnosti spustenia démona

    Úplný zoznam možností spustenia nájdete na manuálovej stránke syslogd. Tu zvážime len niektoré z nich.

    Syslog je schopný zapisovať prichádzajúce správy do protokolových súborov (ktoré sa zvyčajne nachádzajú v adresári / var / log), odosielať ich do konzoly alebo pripojeného používateľského terminálu, odosielať ich na vzdialený hostiteľ alebo ich presmerovať do externého nástroja. spracovanie.

    Na vytváranie sietí používa syslog porty 514 (UDP a TCP). Syslogd, spustený bez ďalších parametrov, bude na týchto portoch počúvať prichádzajúce správy. Prepínač -s zakáže prichádzajúce správy, ale zásuvky na portoch 514 sú stále vytvorené pre odchádzajúce pripojenia, takže syslogd môže posielať správy vzdialeným hostiteľom. Zdvojnásobenie kľúča (-ss) tiež zakáže odchádzajúce spojenia.

    Štandardne sa syslogd spúšťa prepínačom -s (pozri /etc/defaults/rc.conf, parameter syslogd_flags), takže prichádzajúce spojenia sú odmietnuté. Ak chcete použiť službu syslog vášho servera na obsluhu viacerých počítačov, pridajte nasledujúci riadok do /etc/rc.conf:

    syslogd_flags = ””

    Toto prepíše hodnotu nastavenú v /etc/defaults/rc.conf, aby syslogd mohol spracovať prichádzajúce pripojenia. Prirodzene, v tomto prípade je potrebné zabezpečiť požadovanú úroveň bezpečnosti, s vylúčením možnosti cudzích hostiteľov zapisovať čokoľvek do vašich denníkov. Prepínač -a vám umožňuje nastaviť obmedzenia pre prichádzajúce pripojenia (pozri man syslogd). Dôležitú úlohu zohráva aj správne nakonfigurovaný firewall.

    Ďalší užitočný prepínač, -l, vám umožňuje zadať ďalšie soketové súbory, ktoré syslogd počúva okrem predvoleného / var / run / log. Tento prepínač je napríklad potrebný, aby syslog mohol spracovať programy bežiace v prostredí chroot. Konkrétne takto funguje name od BIND 9. Vo FreeBSD 5.3 sa syslogd spúšťa s nasledujúcimi kľúčmi:

    # ps -vosk | grep syslog

    321?? Ss 0: 01,67 / usr / sbin / syslogd -l / var / run / log -l / var / Named / var / run / log -s

    Syntax konfiguračného súboru

    Protokolovanie je nakonfigurované v súbore /etc/syslog.conf. Je samozrejmé, že ho môže upravovať iba používateľ root. Tento súbor obsahuje dva druhy reťazcov – nazvime ich „filtre“ a „pravidlá“.

    Reťazec filtra špecifikuje program alebo hostiteľa, z ktorého sa majú aplikovať nasledujúce pravidlá na správy. Filter ako "! Prog" (alebo "#! Prog") znamená, že nasledujúce riadky odkazujú na protokoly generované špecifikovaným programovým programom. Synonymum pre tento záznam je "! + Prog". Naopak, riadok "! -Prog" znamená, že nasledujúce pravidlá budú platiť pre všetky správy okrem tých, ktoré prichádzajú z prog programu. Je povolené uvádzať niekoľko programov oddelených čiarkami, pričom znak „+“ alebo „-“ sa vzťahuje na celý zoznam.

    Ak je reťazec filtra zadaný ako „+ názov hostiteľa“, potom sa zadaný hostiteľ použije ako zdroj správ, ktoré budú spracované nasledujúcimi pravidlami. Rovnako ako v prípade programov, symbol „-“ označuje, že pravidlá sa budú vzťahovať na všetky správy okrem tých, ktoré prichádzajú od určeného hostiteľa. Môžete zadať zoznam hostiteľov oddelených čiarkami.

    Znak "*" zadaný ako program alebo hostiteľ prepíše predtým nastavený filter. To znamená, že pravidlá špecifikované za takýmto riadkom budú platiť pre všetky správy. Filtre s názvom hostiteľa alebo programom sú na sebe nezávislé a môžu fungovať súčasne. Napríklad:

    # Tu uvedené pravidlá platia pre všetky správy

    Môj.hostiteľ

    # Pravidlá platia pre všetky správy z my.host

    Logger

    # Pravidlá platia pre správy z loggeru s my.host (filter hostiteľov pokračuje)

    # Pravidlá platia pre správy od su s my.host

    # Pravidlá platia pre správy od su od všetkých hostiteľov (filter hostiteľov je zrušený, programový filter pokračuje)

    # Pravidlá sa aplikujú na všetky správy (zruší sa aj programový filter)

    Riadky pravidiel sú nasledovné:

    zariadenie.CMPlevel cieľ

    Zariadenie je tu zdroj správy ("*" znamená ľubovoľný zdroj), úroveň je úroveň správ, ktoré budú spracované v súlade s týmto pravidlom. Servisné slovo „none“ zadané namiesto úrovne dáva pokyn na úplné vylúčenie správ z tohto zdroja.

    CMP - operácia porovnávania (znaky ">", "<», «=», «>=», «<=», а также символ отрицания «!»). Если символ сравнения не указан, подразумевается «больше или равно», то есть обрабатываются все сообщения уровня level и выше.

    Cieľ určuje, kam sa má táto správa uložiť. Môže to byť súbor denníka (je uvedená úplná cesta začínajúca znakom „/“), adresa vzdialeného servera (začínajúca symbolom „@“), používateľské meno (správy sa budú odosielať na terminál, na ktorý tento používateľ je pripojený). Správa môže byť tiež odovzdaná externému programu na spracovanie, pre ktorý sa používa symbol "|".

    Niekoľko príkladov pravidiel

    Všetky správy jadra budú odoslané do súboru kern.log.

    kern. * /var/log/kern.log

    Všetky chybové hlásenia, ako aj núdzové, výstražné a kritické správy budú umiestnené v all-err.log. Všimnite si pomlčku pred názvom súboru denníka. V predvolenom nastavení sa správy ukladajú do vyrovnávacej pamäte a zapisujú sa na disk, keď sa vyrovnávacia pamäť napĺňa. Tým sa zníži zaťaženie súborového systému, ale pri zlyhaní počítača môže dôjsť k strate niektorých informácií. Pomlčka pred názvom súboru spôsobí, že démon syslogd okamžite zapíše správy na disk.

    * .err - / var / log / all-err.log

    Správy o ladení z používateľských procesov budú odosielané na terminál, ku ktorému je používateľ vasya aktuálne pripojený.

    user.debug vasya

    Všetky správy zo správ a e-mailových služieb budú presmerované na port 514 stroja syslog.host.ru.

    mail. *, novinky. * @ syslog.host.ru

    Všetky hlásenia tlačovej služby pod upozornením sa umiestnia do určeného súboru. Ako už bolo uvedené vyššie, predvolená hodnota je väčšia alebo rovná porovnaní a! invertuje a nahrádza ho výrazom „menej“. Ak potrebujete vylúčiť konkrétnu úroveň, mali by ste použiť konštrukciu "! =".

    varovanie lpr. /var/log/printers.log

    Správy na úrovni ladenia (a iba správy na ladenie) s úrovňou zariadenia 0 a úrovňou 3 sa budú odosielať na všetky pripojené terminály.

    úroveň 0, úroveň 3 = ladenie *

    Správy Time Service, ktoré sú vyššie ako kritické (t. j. vznikajúce a výstrahy) a menšie alebo rovnaké ako upozornenie (upozornenie, informácie a ladenie), budú odoslané na terminály ntpuser a root.

    ntp.> crit,<=notice ntpuser,root

    Všetky varovné správy okrem správ od poštových služieb sa zapíšu do súboru warning.log.

    *. = upozornenie, mail.none /var/log/warn.log

    V tomto prípade budú všetky správy s úrovňou vyššou alebo rovnou crit zaslané e-mailom užívateľovi root.

    * .crit | mail -s koreň „kritickej správy“.

    Ako vidíte, formát konfiguračného súboru umožňuje uvedenie viacerých úrovní, zdrojov a cieľov v jednom riadku, vďaka čomu je konfigurácia flexibilnejšia. Aby sa zmeny prejavili po úprave, musíte do procesu syslogd odoslať signál HUP:

    # kill –HUP `cat / var / run / syslog.pid`

    Treba poznamenať, že ak táto alebo tá správa spadá pod činnosť niekoľkých riadkov v konfiguračnom súbore, bude spracovaná v súlade s každým z nich. Príklad:

    mail. * / var / log / maillog

    *. = err /var/log/error.log

    V tomto prípade sa správy mail.err dostanú do maillogu aj error.logu.

    Stratégia konfiguračného súboru

    Na záver mojej úvahy o konfiguračnom súbore poviem pár slov o stratégiách jeho zostavenia. Okrem veľmi populárneho "keby to fungovalo" možno rozlíšiť dva hlavné, ktoré budeme podmienene nazývať "podľa zdroja" a "podľa účelu".

    • Prvou stratégiou, ktorú možno pozorovať v mnohých distribúciách GNU / Linux, je napísať odlišné pravidlo pre každý zdroj správ (alebo skupinu pravidiel, ak sa správy rôznych úrovní majú spracovávať odlišne). Jeho výhodou je jednoduchosť určenia, kde sa píšu správy konkrétnych služieb.
    • Stratégiou „podľa cieľa“ je vytvoriť, ak je to možné, iba jeden riadok pre každého „príjemcu“ správy, ako je napríklad súbor. Toto je prístup, ktorý zvolilo najmä FreeBSD. V dôsledku toho môžete ľahko určiť, aké informácie sú zaznamenané v konkrétnom protokolovom súbore, ale napríklad ciele pre správy jadra sa musia zhromažďovať z celého konfiguračného súboru.

    Pomôcka na zaznamenávanie údajov

    Systém obsahuje nástroj na zaznamenávanie údajov, ktorý vám umožňuje odosielať správy do služby syslog priamo z príkazového riadku. Je vhodné ho použiť pri testovaní konfiguračných pravidiel, ako aj pri vývoji skriptov na zaznamenávanie ich práce. Príklady:

    user $ logger -p user.err “Chyba v užívateľskom programe!”

    užívateľ $ logger -h syslog.host.ru „Otestovať“

    Prvý príklad odošle užívateľskú správu zariadenia na úrovni chyby, ktorá bude spracovaná podľa konfiguračného súboru. Druhý príkaz odošle správu vzdialenému hostiteľovi, zdrojová a predvolená úroveň bude nastavená na user.notice.

    Použitie rotačných mechanizmov

    Mechanizmus protokolovania diskutovaný vyššie neposkytuje žiadny druh správy protokolových súborov. Správy sa do nich jednoducho umiestňujú podľa pravidiel popísaných v konfiguračnom súbore. To znamená, že protokolové súbory budú neustále rásť a ak sa nič neurobí, skôr či neskôr zaplnia všetok dostupný priestor na príslušnom oddiele. Aby sa tomu zabránilo, používa sa rotačný mechanizmus.

    Napríklad, akonáhle súbor debug.log presiahne 100 MB, premenuje sa na debug.log.0 a zabalí do debug.log.0.bz2. Namiesto toho sa vytvorí nový debug.log. Potom, keď veľkosť nového súboru dosiahne 100 MB, debug.log.0.bz2 sa premenuje na debug.log.1.bz2 a vyššie uvedený postup sa zopakuje. Systém ukladá len určitý počet archívnych súborov, pričom najstaršie vymaže. Toto je rotácia.

    Pomôcka Newsyslog

    Na FreeBSD je rotácia riadená utilitou newsyslog, ktorú štandardne spúšťa na začiatku každej hodiny démon cron. Dobu rotácie môžete zmeniť úpravou súboru / etc / crontab.

    Parametre rotácie špecifikované vo vyššie uvedenom príklade (veľkosť súboru, balenie), ako aj množstvo ďalších, sa nastavujú v konfiguračnom súbore /etc/newsyslog.conf. Pre každý súbor, ktorý potrebuje rotáciu, obsahuje riadok vo všeobecnosti deviatich polí: názov súboru, vlastník a skupina, prístupové práva, najväčšie číslo v názve archívneho súboru, maximálna veľkosť súboru, doba rotácie, ďalšie príznaky a cesta k PID. súbor aplikácie na odoslanie signálu po otočení a číslo signálu, ktorý sa má odoslať. (Možno budete musieť poslať signál procesu, napríklad ak proces ponecháva súbor denníka stále otvorený; v opačnom prípade sa použitý deskriptor súboru nebude zhodovať s novovytvoreným súborom.) Niektoré polia možno vynechať. Tu sú dva príklady, úplné a typické:

    / var / log / pflog root: wheel 600 3 100 * JB /var/run/pflog.pid 1

    Podľa tohto pravidla musí byť súbor pflog prepísaný, akonáhle jeho veľkosť presiahne 100 MB (5. pole), bez ohľadu na čas ("*" v 6. poli). Archívne súbory budú mať názvy ako pflog.X.bz2 (pflog.0.bz2, pflog.1.bz2 atď.) a X nemôže byť viac ako tri (parameter 3 v 4. poli). Príznak J označuje, že archívny súbor by mal byť komprimovaný pomocou pomôcky bzip2. Vďaka príznaku B sa do archivovaných a novovytvorených súborov nebudú pridávať servisné hlásenia o rotácii, pretože súbor je vnímaný ako binárny. Novovytvorený súbor bude vlastniť užívateľ root a skupina kolies (toto pole mohlo byť vynechané, pretože toto je predvolený vlastník). Oprávnenia budú nastavené na rw ------- (číselná hodnota 600), čo znamená, že tento súbor môže čítať a zapisovať iba vlastník. Nakoniec sa procesu, ktorého PID je uložené v /var/run/pflog.pid, odošle signál 1 (HUP), aby sa znovu otvoril jeho súbor denníka.

    / var / log / maillog 640 7 * @ T00 J

    Toto pravidlo špecifikuje parametre rotácie pre súbor maillog: bez ohľadu na veľkosť (hviezdička v 5. poli) sa súbor prepíše každú noc o 00:00 (podrobný popis formátu času nájdete v man newsyslog.conf). Archív musí byť zabalený, bude uložených posledných 8 archívov (s číslami od 0 do 7 vrátane), novovytvorený súbor bude vo vlastníctve užívateľa root (predvolená hodnota, takže pole vlastníka je vynechané) a bude mať rw-r ----- povolenia.

    Na zobrazenie zabalených protokolových súborov môžete použiť pomocné programy zcat a bzcat (pre gzip a bzip2). Midnight Commander automaticky vyvolá príslušné nástroje.

    Po úprave súboru newsyslog.conf nie je potrebné nikam posielať žiadne signály – konfigurácia sa znova načíta pri ďalšom volaní newsysyslogu.

    Všimnite si, že pomôcka newsyslog nie je prepojená s démonom syslogd. To znamená, že ho možno použiť na otáčanie akýchkoľvek súborov, ktoré to potrebujú. Ak je povolená rotácia pre protokoly, ktoré si aplikácia vedie sama (napríklad pre protokoly lastúrnikov alebo chobotníc), venujte zvláštnu pozornosť určeniu vlastníka a prístupových práv. Ich nesprávne zadanie môže viesť k tomu, že po rotácii aplikácia spustená ako neprivilegovaný používateľ nebude môcť zapisovať do novovytvoreného súboru.

    Zhrnutie

    Systém syslog je veľmi výkonný a efektívny nástroj na zaznamenávanie rôznych udalostí vyskytujúcich sa v systéme. Predvolené nastavenia sú pomerne vyvážené a fungujú dobre pre väčšinu systémov. Pochopenie toho, ako syslog funguje, vám však umožní výrazne zlepšiť kvalitu protokolovania prispôsobením protokolovania vašim špecifickým potrebám.