syslog1.pdf

(183 KB) Pobierz
MonitorowaniesystemuGNU/LinuxprzypomocySyslog
GrzegorzJacekNalepa
17.01.2000,Kraków,Revision:1.7
Streszczenie
ArtykułopisujesystemSyslogb¦d¡cypodstawowymnarz¦dziemsłu»¡cymdomoni-
torowaniasystemuGNU/Linux.OpisanajestarchitekturaSyslogaijegokonfigurowanie.
Zaprezentowanes¡sposobyrotowaniaplikówrejestrowych,któretworzySyslog.Naza-
ko«czeniewspomnianes¡pakietyalternatywnedoSyslog.
Spistre±ci
1Wst¦p
2
2JakdziałaSyslog 2
2.1Architektura ...................................... 2
2.2Współpracazinnymiprogramami .......................... 2
3KonfigurowanieSyslogd
3
4Składniaplikukonfiguracyjnego 3
4.1Organizacjaplikówrejestrowych ........................... 4
5RotacjaplikówrejestrowychzwykorzystaniemCron 6
6Wi¦kszemo»liwo±cimonitorowania 7
6.1MonitorowanieTCP/IP ............................... 7
6.2WspółpracazIPChains ................................ 8
6.3Monitorowanieinstalowaniaprogramów ....................... 8
7AlternatywydlaSyslogd 8
7.1SecureSyslog ..................................... 9
7.2Syslog-NG ....................................... 9
8Podsumowanie
9
1 Tekstukazałsi¦w: MagazynieNetForum ,nr3/2000,wydawanymprzezLupus.
2 Kontaktzautorem: mail:gjn@agh.edu.pl
3 Tytułangielski: MonitoringaGNU/LinuxSystemwithSyslog
4 Tekstjestrozpowszechnianynazasadachlicencji GNUFreeDocumentationLicense ,którejpełnytekst
mo»naznale¹¢podadresem: http://www.gnu.org/copyleft/fdl.html
1
888240802.011.png 888240802.012.png
 
GrzegorzJacekNalepa :MonitorowaniesystemuGNU/LinuxprzypomocySyslog
1.Wst¦p
Bezpiecze«stwosystemukomputerowegozale»ynietylkoodtego,jakjestzabezpieczonyprzed
intruzami.Bardzowa»nedlabezpiecze«stwajestto,czyadministratormadost¦pneinformacje
ofunkcjonowaniusystemu.Dobrenarz¦dziedomonitorowaniapracysystemujestniezb¦dne
dojegou»ytkowaniaizabezpieczania.
WsystemieGNU/Linux,podobniejakwsystemachUnix,stosujesi¦pakietSyslog,który
umo»liwiamonitorowaniesystemu.Jesttoprogramobardzodu»ychmo»liwo±ciach,leczwy-
magaj¡cy,podobniejakinnenarz¦dziasystemowe,odpowiedniejkonfiguracji.
2.JakdziałaSyslog
ProgramSyslogjestjednymznajwa»niejszychnarz¦dzisystemowych.Umo»liwiarejestrowanie
zdarze«zachodz¡cychwsystemieprzypomocyzcentralizowanegomechanizmu.Pozwalanare-
jestrowanieinformacjipochodz¡cychztrzech¹ródeł:zgłosze«przekazywanychprzezbibliotek¦
systemow¡,orazinformacjipochodz¡cychodj¡drasystemu.
2.1.Architektura
Przyjmowanieminformacjizgłaszanychprzezbibliotek¦systemow¡zajmujesi¦demon syslogd .
Aplikacje,najcz¦±ciejró»nedemony,przekazuj¡informacjepoprzezstandardow¡funkcj¦ syslog(3) .
S¡onenast¦pnieprzekazywanedodemona syslogd ,którywzale»no±ciodichtypuipriorytetu,
zapisujejewodpowiednichplikach,takzwanych plikachrejestrowych (ang. logfiles ).Ka»dy
wpisdoplikurejestrowegodokonywanyprzez syslogd zawierainformacjedotycz¡ceczasujego
powstania,maszynyiprocesu.
Raportyodj¡drasystemuLinuxzbierademon klogd .Poniewa»maj¡oneinn¡posta¢ni»
te,któreprzekazujebibliotekasystemowa,zostaj¡poddaneobróbceprzedprzesłaniemichdo
syslogd .Taobróbkapoleganaopatrzeniuichinformacjamiotypieiprioryteciewiadomo±ci
zgodnymiz syslogd .
DziałanieopisanegosystemujestprzedstawionenaRysunku 1 .Jakwida¢Syslogmajeszcze
jedeninterfejsumo»liwiaj¡cywymian¦zbieranychinformacji.Obsługujemianowiciegniazda
UDPumo»liwiaj¡ceprzesyłaniewiadomo±cipomi¦dzyró»nymimaszynamiwsieci.Owyko-
rzystaniutegomechanizmub¦dziejeszczemowadalej.
2.2.Współpracazinnymiprogramami
Nawspomnianymrysunkuwida¢,»epodstawowymechanizmgenerowaniaraportówzapew-
niaaplikacjombibliotekasystemowa.Udost¦pniaonetrzyfunkcje: openlog() , syslog() i
closelog() ,któreumo»liwiaj¡odpowiednio:otwarciekomunikacji(stworzeniedeskryptora),
przesłaniewiadomo±ciizamkni¦ciekomunikacji.Ztychfunkcjikorzystaj¡demonyiaplikacje
pracuj¡cewsystemie.
Wartozauwa»y¢,i»mo»liwejestprzesyłaniewiadomo±cidoSyslogrównie»zpoziomuskryp-
tów,naprzykładskryptówwsh.Wygodniejestdotegowykorzysta¢program logger ,który
wysyłainformacjepoprzezsyslogd.Natomiastwskryptachnapisanychwj¦zykuPerlmo»na
u»y¢pakietu Sys::Syslog ,któryjestinterfejsemdoopisanychpowy»ejwywoła«funkcjisys-
temowych.
2JAKDZIAŁASYSLOG 2
 
GrzegorzJacekNalepa :MonitorowaniesystemuGNU/LinuxprzypomocySyslog
Plik
Rejestrowy
Zdalna
Aplikacja
Maszyna
/var/log/
UDP
Syslogd
syslog()
/dev/log
Klogd
Biblioteka systemowa
/dev/klog
Jadro systemu Linux
Rysunek1:ArchitekturaSyslog
3.KonfigurowanieSyslogd
Syslogbyspełnia¢dobrzeswojefunkcjepowinienby¢uruchamianyjakojedenzpierwszychde-
monów.Uruchamiasi¦goprzewa»nieprzezwywołaniezeskryptówstartowychpodczasurucha-
mianiasystemu.WdystrybucjachDebian/GNUiRedHatskryptnazywasi¦poprostu syslogd
iznajdujesi¦wkatalogu /etc/init.d lub /etc/rc.d/init.d .Skrypt,opróczstandardowych
opcji start i stop przyjmujerównie» restart i reload ,którepowoduj¡odpowiednioza-
trzymanieiponowneuruchomienieSyslog,orazpowtórneprzeczytanieplikukonfiguracyjnego.
Skryptzatrzymujeiuruchamiademon syslogd oraz klogd .
4.Składniaplikukonfiguracyjnego
CałakonfiguracjaSyslogznajdujesi¦wpliku /etc/syslog.conf ,opisanyw( syslog.conf(5) ).
Jesttopliktekstowy,zawieraj¡cyreguływedługktórychSyslogsortujeinformacjeizapisuje
jedoró»nychplikówrejestrowych.Składniaplikujestnast¦puj¡ca:ka»dalinijkajestosobn¡
reguł¡,naktór¡składaj¡si¦dwapola:selektor(ang. selector )idziałanie(ang. action ).
Pole„selektor”madwiecz¦±cifunkcja(ang. facility )ipriorytet(ang. priority )rozdzielone
kropk¡iokre±larodzajrejestrowanegokomunikatu,gdzie:
•„funkcja”wskazujena¹ródłokomunikatuimo»emie¢nast¦puj¡cewarto±ci:auth,auth-
priv,cron,daemon,kern,lpr,mail,mark,news,syslog,user,uucp,local0–local7.
•„priorytet”okre±lajegostopie«wa»no±ci(odnajni»szego):debug,info,notice,warning,
err,crit,alert,emerg.
Dodatkowowpolu„selektor”mo»nastosowa¢nast¦puj¡ceznaki:
4SKŁADNIAPLIKUKONFIGURACYJNEGO 3
888240802.001.png 888240802.002.png 888240802.003.png 888240802.004.png 888240802.005.png 888240802.006.png 888240802.007.png 888240802.008.png 888240802.009.png 888240802.010.png
 
GrzegorzJacekNalepa :MonitorowaniesystemuGNU/LinuxprzypomocySyslog
•przecinek( , )–grupujekilkatypów„funkcji”,którymodpowiadatosamo„działanie”,w
tymprzypadku„priorytet”jestignorowany,
•±rednik( ; )–pozwalanagrupowaniekilkuselektorów,którymodpowiadatosamodzia-
łanie.
•gwiazdka( * )–mo»ezast¦powa¢pola„funkcja”oraz„priorytet”ioznacza„dlaka»dej
warto±citegopola”.
Trzebapami¦ta¢,»e„priorytet”oznaczawszystkiekomunikatyopriorytecienieni»szymni»
podany,naprzykładpriorytet err oznaczakomunikatyopriorytecieod err do emerg .Mo»liwe
jestjednakpodawanieinnegorodzajuzakresówpriorytetów,wykorzystuj¡cznakrówno±ci(=)
iwykrzyknika(!).Oznaczaj¡oneodpowiedniokomunikatyodokładniepodanymprioryteciei
zanegowaniepodanegoprzedziałupriorytetów.Podaniezamiastpriorytetusłowa none oznacza,
»e»adnekomunikatyzpodanego¹ródłanieb¦d¡uwzgl¦dniane.Wykorzystanietychoperatorów
jestpokazanedalej.
Pole„działanie”wskazujecomasi¦dzia¢zkomunikatamiokre±lonymiprzezselektorreguły:
•nazwapliku–komunikatys¡dopisywanedopodanegopliku,poprzedzenienazwyznakiem
minuspowodujewywołanie sync() podopisaniuka»degokomunikatu,
•nazwaterminala–umo»liwiaprzesyłaniekomunikatównawybraneterminale,
•|nazwapotoku(ang. namedpipe )–komunikatys¡przesyłanedokolejkiFIFO(naprzy-
kładstworzonejprzypomocy mkfifo ),sk¡dmog¡by¢odbieraneprzezinnyprogram,
•@nazwamaszyny–Syslogb¦dzieprzesyłałkomunikatydoinnejmaszynywsieci(naport
514/UDP),
•nazwau»ytkownika–komunikatyb¦d¡wy±wietlanenaterminalupodanegou»ytkownika,
oczywi±cieje»elijestzalogowany.Mo»napoda¢list¦nazwu»ytkownikówrozdzielonych
przecinkami,lubpoda¢gwiazdk¦( * )naoznaczeniewszystkichzalogowanychu»ytkowni-
ków.
Liniazaczynaj¡casi¦odznaku # jesttraktowanajakokomentarziignorowana.
Znaj¡cskładni¦plikukonfiguracyjnegomo»napoda¢przykładykonfiguracjiSyslogdod-
powiadaj¡cepotrzebomkonkretnegosystemu.Pisz¡c,lubmodyfikuj¡c,plikkonfiguracyjny
dlaSyslogporazpierwszynale»yzadba¢otobywszystkiekategoriekomunikatówbyłyreje-
strowany.Do±wiadczonyadministratormo»ezczasem±wiadomiezrezygnowa¢zrejestrowania
pewnychkategorii.Niejesttojednakzalecaneiwczasachgdytwardedyskis¡nies¡drogie
wartorejestrowa¢wszystko,aconajwy»ejcz¦±ciejusuwa¢starszefragmentymniejpotrzebnych
plikówrejestrowych.
4.1.Organizacjaplikówrejestrowych
Tradycyjnieplikirejestroweprzechowujesi¦wkatalogu /var/log .Dlawi¦kszo±cipodstawo-
wych¹ródełkomunikatówwartoprzeznaczy¢osobnepliki,którychnazwaodpowiadafunkcji
Syslog:
syslog.* -/var/log/syslog
cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
lpr.* /var/log/lpr.log
4SKŁADNIAPLIKUKONFIGURACYJNEGO 4
 
GrzegorzJacekNalepa :MonitorowaniesystemuGNU/LinuxprzypomocySyslog
user.* /var/log/user.log
uucp.* /var/log/uucp.log
local.* /var/log/local.log
Informacjedotycz¡cebezpiecze«stwaiautoryzacjiwartoumie±ci¢wosobnympodkatalogu.
auth,authpriv.*-/var/log/security/auth.log
Poka»dymwpisiedopliku auth.log b¦dziewywoływanafunkcja sync() ,abyupewni¢si¦,»e
daneznalazłysi¦natychmiastnadysku.
Je»elinamaszyniepracujeserwerpocztowykomunikatypochodz¡ceodniegomo»napo-
dzieli¢nakilkagrup.
mail.info /var/log/mail/mail.info
mail.warn /var/log/mail/mail.warn
mail.err -/var/log/mail/mail.err
Poni»szyprzykładpokazujejakmo»nadokładnierozdzieli¢grupykomunikatówwzale»no±ci
odpriorytetu.
kern.* /var/log/kernel/kern.all
kern.=debug /var/log/kernel/kern.debug
kern.info;kern.!err/var/log/kernel/kern.info-warning
kern.err /var/log/kernel/kern.err-emerg
Wszystkieinformacjeodj¡dras¡przekazywanedopliku kern.all .Kolejnereguływysyłaj¡
dookre±lonychplikówodpowiednio:teitylkote,któremaj¡priorytet debug ,komunikatyo
priorytecieod info do warning ,orazteopriorytecieod err do emerg .
Cz¦stospotykanymrozwi¡zaniemjestrównie»zapisywanieosobnowszystkichwiadomo±ci
opriorytecie debug .Wponi»szymprzykładziewykluczones¡komunikatypochodz¡cez auth ,
authpriv , mail i news .
*.debug;\
auth,authpriv.none\
news.none;mail.none-/var/log/debug
Czasami,dlaupewnieniasi¦,»erzeczywi±ciewszystkiekategoriekomunikatóws¡rejestro-
wane,mo»najeprzekazywa¢dojednegopliku.Nale»yjednakpami¦ta¢,»ewtrakciepracy
systemujegodługo±¢b¦dziebardzoszybkorosła.
*.* /var/log/all
Dlaadministratoracz¦stopracuj¡cegoprzykonsolimaszynymo»eby¢przydatnebezpo-
±redniewy±wietlaniekomunikatównaterminalu,lubprzypomocypolecenia xconsole .
*.warn /dev/tty9
*.info |/dev/xconsole
Informacjeozakłóceniupracysystemumog¡by¢natylepowa»ne,»epowinnijenatychmiast
otrzyma¢wszyscyzalogowaniu»ytkownicysystemu.
*.emerg
*
Zpunktuwidzeniabezpiecze«stwawartoprzechowywa¢komunikatySyslogpozadyskiem
maszynynaktórejpracujeSyslog,abyniemogłyzosta¢naskutekawariilubwłamaniado
systemu.Mo»nadotegowykorzysta¢zdaln¡maszyn¦,naktórejpracujeSyslog,lubwpraktyce
ka»dyinnyprogramnasłuchuj¡cynaporcie514/UDP,naktórySyslogprzesyłakomunikaty.
4SKŁADNIAPLIKUKONFIGURACYJNEGO 5
 
Zgłoś jeśli naruszono regulamin