Analýza logov

linux_server.jpg V pred­chád­za­jú­cej čas­ti sme uvied­li nie­koľ­ko prík­la­dov jed­no­duc­hej kon­fi­gu­rá­cie lo­go­va­nia rôz­nych in­for­má­cií do rôz­nych sú­bo­rov. Uká­za­li sme si aj reál­ny prík­lad kon­fi­gu­rá­cie dé­mo­na sys­logd po­mo­cou kon­fi­gu­rač­né­ho sú­bo­ru /etc/sys­log.conf. Ten­to­raz sa bu­de­me ve­no­vať lo­go­va­niu na vzdia­le­ný po­čí­tač a ana­lý­ze lo­gov.

Lo­go­va­nie na vzdia­le­ný po­čí­tač
Tre­ba si uve­do­miť vý­znam lo­go­va­nia. Prá­ve lo­gy nám mô­žu po­môcť pri hľa­da­ní chy­by či vin­ní­ka, že náš sys­tém „išiel do ko­lien“. A tak tre­ba k lo­go­va­niu aj pris­tu­po­vať – uro­biť ta­ké opat­re­nia, aby sa lo­gy čo naj­viac za­chrá­ni­li a za­bez­pe­či­li. Už mi­nu­le sme spo­mí­na­li pr­vé opat­re­nie, kto­rým je umies­tne­nie lo­go­va­cích sú­bo­rov na sa­mos­tat­nú par­tí­ciu dis­ku (eš­te lep­šie na sa­mos­tat­ný disk) a ich na­ma­po­va­nie do prí­poj­né­ho bo­du /var/log/. Tak­to za­brá­ni­me to­mu, aby pri za­pl­ne­ní pra­cov­né­ho dis­ku (par­tí­cie) doš­lo k za­med­ze­niu zá­pi­su lo­go­va­ných in­for­má­cií (kto už za­žil, že sa mu disk za­pl­nil uk­la­da­ním rôz­nych fil­mov, ob­ráz­kov a iných „drob­nos­tí“ po­uží­va­teľ­mi, le­bo ne­mal nas­ta­ve­né kvó­ty, vie, o čom ho­vo­rím...). Ďal­šie navr­ho­va­né opat­re­nie sú prís­tu­po­vé prá­va k lo­go­va­cím sú­bo­rom.

Lo­go­va­nie na iný (vy­hra­de­ný) po­čí­tač
Asi naj­is­tej­šie za­bez­pe­če­nie lo­go­va­cích sú­bo­rov je za­sie­la­nie lo­go­va­ných in­for­má­cií na iný po­čí­tač. Vo väč­šej sie­ti je vhod­né vy­hra­diť na iné špe­ciál­ne úlo­hy je­den po­čí­tač, kto­rý bu­de od­de­le­ný od hlav­ných sie­ťo­vých úloh, ako je fi­rewall, webo­vý server, po­što­vý server, sam­ba a po­dob­ne. Vy­hra­de­ný po­čí­tač mô­že pl­niť úlo­hu „zbe­ra­ča“ lo­gov od iných server­ov v sie­ti (a ne­mu­sia na ňom bež­ať iné služ­by – úlo­hy), je in­teg­rál­nou sú­čas­ťou sie­te zvnút­ra a nie je naň do­sah z von­kaj­šej sie­te. Tak­to za­bez­pe­čí­me, že aj v prí­pa­de úto­ku na niek­to­rý dô­le­ži­tý server nám zos­ta­nú za­cho­va­né lo­go­va­né in­for­má­cie.

Dé­mon sys­logd umož­ňu­je za­sie­lať sprá­vy na iný po­čí­tač na­mies­to za­sie­la­nia do sú­bo­ru. Po­uží­va na to po­rt UDP 514. Pred­stav­me si, že má­me v sie­ti ta­ký­to vy­hra­de­ný po­čí­tač, kto­rý sa vo­lá log­ger (je­ho hos­tna­me je log­ger) a je­ho IP ad­re­sa je napr. 192.168.10.210. Aby sme moh­li tú­to vlas­tnosť vy­užiť, mu­sí­me vy­ko­nať tie­to nas­ta­ve­nia:

- do sú­bo­ru /etc/servic­es do­pí­še­me ria­dok:

sys­log		514/UDP

- do sú­bo­ru /etc/hosts do­pí­še­me ria­dok:

192.168.10210	log­ger

- do kon­fi­gu­rač­né­ho so­bo­ru sys­log.conf za­pí­še­me pra­vid­lo:

*.*	@log­ger

Po­znám­ka:
V prí­pa­de, že by sme chce­li lo­go­vať za fi­rewall, mu­sí­me up­ra­viť pra­vid­lá fi­rewal­lu na po­vo­le­nie pre­no­su UDP pa­ke­tov na po­rte514.

Úda­je na lo­go­va­com server­i bu­dú ozna­če­né me­nom server­a, z kto­ré­ho po­chád­za­jú, tak­že bu­dú na­ďa­lej preh­ľad­né a mô­že­me ich ana­ly­zo­vať.

Lo­go­va­nie uzav­re­tých pro­ce­sov po­mo­cou chroot
Prv než uká­že­me, ako nas­ta­viť dé­mo­na sys­logd na prá­cu s uzav­re­tý­mi pro­ces­mi, tre­ba uviesť, čo vlas­tne sú tie uzav­re­té pro­ce­sy. Správ­co­via sys­té­mu veľ­mi čas­to z dô­vo­du zvý­še­nia bez­peč­nos­ti po­uží­va­jú niek­to­ré služ­by (pro­ce­sy), kto­ré sú uzav­re­té vo vy­hra­de­ných ad­re­sá­roch po­mo­cou fun­kcie chroot (chan­ge root = zme­ne­ný ko­reň). Po­mo­cou tej­to fun­kcie (a prí­ka­zu) mô­že­me vy­tvo­riť uzav­re­té pros­tre­die, po­my­sel­nú oc­hran­nú kliet­ku oko­lo pro­ce­su. V tej­to kliet­ke po­be­žia prog­ra­my, kto­ré sú veľ­mi dô­le­ži­té a mô­žu sa stať ur­či­tou po­ten­ciál­nou di­erou do sys­té­mu, ale­bo v nej mô­žu pra­co­vať na­ši po­uží­va­te­lia. Ak ne­ja­ký prog­ram uzav­rie­me do ta­ké­ho­to pros­tre­dia, nap­rík­lad webo­vý server Apac­he, a ne­ja­ký nes­prat­ník zvon­ka sa nám cez di­eru v ňom dos­ta­ne do sys­té­mu, ne­bu­de schop­ný oh­ro­ziť ce­lý sys­tém, le­bo uvi­dí iba sú­bo­ry a prog­ra­my, kto­ré Apac­he po­tre­bu­je na svo­ju čin­nosť. Po­dob­ne je to aj u po­uží­va­te­ľov – tí ne­vi­dia ce­lý disk, ale len to, čo im do kliet­ky uzav­rie­me, a tak ne­mô­žu oh­ro­ziť či na­pad­núť ce­lý sys­tém. Ke­dy sa te­da pros­tre­die uzav­re­té po­mo­cou chroot vy­pla­tí? Nuž, da­lo by sa po­ve­dať, že vždy, keď po­uží­va­me služ­bu, kto­rá je na úto­ky veľ­mi nác­hyl­ná. Ta­ký je aj prá­ve spo­mí­na­ný Apac­he ale­bo ano­nym­ný FTP server. Pre­to na zvý­še­nie bez­peč­nos­ti sto­jí za to troc­hu trá­pe­nia s uzav­re­tým pros­tre­dím. Ako sa to ro­bí, to si uká­že­me ino­ke­dy.

Tre­ba priz­nať, že veľ­mi ši­kov­ní útoč­ní­ci sa do­ká­žu z tej­to kliet­ky dos­tať, a pre­to je ne­vyh­nut­né lo­gy stá­le sle­do­vať a byť v stre­hu, aj keď má­me pro­ce­sy uzav­re­té v kliet­ke. Len­že ta­ké­to uzav­re­té pro­ce­sy ne­bu­dú schop­né lo­go­vať po­mo­cou dé­mo­na sys­logd. Štan­dar­dné pro­ce­sy po­uží­va­jú na ko­mu­ni­ká­ciu s dé­mo­nom sys­logd špe­ciál­ne za­ria­de­nie /dev/log, ale uzav­re­té pro­ce­sy a služ­by vo vy­hra­de­ných ad­re­sá­roch ne­ma­jú k to­mu­to za­ria­de­niu prís­tup. Pre­to tre­ba dé­mo­na sys­logd na­kon­fi­gu­ro­vať tak, aby čí­tal sprá­vy aj z iných špe­ciál­nych za­ria­de­ní, ako je /dev/log. To do­siah­ne­me tak, že dé­mo­na spus­tí­me s pa­ra­met­rom -a /ces­ta/dev/log, kde /ces­ta je ces­ta k vy­hra­de­né­mu ad­re­sá­ru dé­mo­na.

Ana­lý­za lo­gov
Mu­sí­me sa te­raz na chví­ľu vrá­tiť k vý­zna­mu lo­gov. Ako už vie­me, do lo­gov sa uk­la­da­jú (sko­ro) všet­ky dô­le­ži­té in­for­má­cie o cho­de sys­té­mu – o prís­tu­pe k ne­mu, o prá­ci na ňom, o prís­tu­pe zvon­ka, zá­lo­ho­va­ní a po­dob­ne. Pre­to len pre­ze­ra­ním lo­gov a ich ana­lý­zou do­ká­že­me náj­sť in­for­má­ciu o tom, čo sa s na­ším sys­té­mom de­je. Včas­né od­ha­le­nie po­doz­ri­vých hlá­se­ní mô­že za­brá­niť úto­ku ale­bo prie­ni­ku. Pre­to mu­sí­me lo­gy pra­vi­del­ne štu­do­vať a ana­ly­zo­vať. V tom­to prí­pa­de mô­že­me po­ve­dať, že pra­vi­del­ne zna­me­ná den­ne. Sú však si­tuácie, keď ne­mož­no se­dieť nad log­mi dra­ho­cen­né ho­di­ny. Pre­to sa na ana­lý­zu lo­gov po­uží­va­jú rôz­ne nás­tro­je, kto­ré ich pre­ze­ra­jú za nás správ­cov. Ak ta­ký­to nás­troj od­ha­lí v lo­gu ne­ja­kú od­chýl­ku od nor­mál­ne­ho be­hu sys­té­mu, vy­dá va­rov­né hlá­se­nie, či už na ob­ra­zov­ku, mai­lom, ale­bo do­kon­ca SMS sprá­vou na mo­bil správ­cu. Vzhľa­dom na to, že lo­gy (tak ako všet­ko v Li­nuxe) sú v po­dsta­te texto­vé sú­bo­ry, vy­tvo­riť ne­ja­ký ana­ly­zá­tor (par­ser) vo vhod­nom prog­ra­mo­va­com ja­zy­ku nie je ná­roč­né. Veľ­mi čas­to sa po­uží­va skrip­to­va­cí ja­zyk Perl.

Net­re­ba však nič vy­tvá­rať, na inter­ne­te je dos­ta­tok vhod­ných prog­ra­mov na ana­lý­zu lo­gov. Asi naj­zná­mej­šie sú prog­ra­my Log­check, LogWatch, Log­Par­se. Niek­to­ré z nich sú aj v pek­nom gra­fic­kom pros­tre­dí (Log Viewer), žiaľ, spra­vid­la ma­jú ko­merč­ný cha­rak­ter.

Na­bu­dú­ce uká­že­me, ako lo­gy udr­žia­vať.

Ďal­šie čas­ti >>

Zdroj: Infoware 10/2011



Ohodnoťte článok:
   
 

24 hodín

týždeň

mesiac

Najnovšie články

Li­nux prak­tic­ky ako server úvod
Linux ako server je pomerne zložitá technológia. Jej výhodou je určitá modularita, keď sa nemusí nastaviť celý server naraz, ale postupne. čítať »
 
Syn­chro­ni­zá­cia ča­su v Li­nuxe
V predchádzajúcich dvoch častiach sme si ukázali, že Linux a všeobecne open source softvér sa nenachádza iba v serveroch a počítačových sieťach, ale aj v iných zariadeniach bežnej domácej potreby a v oblasti hobby. čítať »
 
Za­ria­de­nia za­lo­že­né na Li­nuxe
V predchádzajúcej časti sme si spomenuli definície nie - ktorých pojmov z oblasti nášho záujmu, teda Linuxu. Vysvetlili sme si, čo je to Open Source, Public Domain, proprietárny softvér a GNU GPL. Tentoraz ukážeme, ako sa tieto pojmy využívajú v praxi. čítať »
 
Po­jmy z ob­las­ti
Tentoraz na chvíľu trochu odbočíme od bezpečnosti Linuxu a jeho siete. V tejto neštandardnej časti seriálu sa mu budeme venovať len okrajovo. čítať »
 
Bez­peč­nosť bez­drô­to­vých sie­tí II.
V predchádzajúcej časti sme sa začali zaoberať bezpečnosťou bezdrôtových sietí. Poukázali sme na rôzne faktory zneužitia siete, podstatu rizika a vysvetlili sme základné prvky bezpečnosti. čítať »
 
Bez­peč­nosť bez­drô­to­vých sie­tí I.
V predchádzajúcich častiach sme sa venovali bezpečnosti linuxového servera. Riešili sme firewall, bezpečnosť prístupu na internet, zaoberali sme sa demilitarizovanou zónou a podobne. čítať »
 
Údr­žba lo­gov – kon­fi­gu­rá­cia log­ro­ta­te
V predchádzajúcej časti sme sa venovali rotácii logov. Vysvetlili sme princíp ukladania logov, spôsob, ako sa rotujú, a uviedli sme niečo o tom, čo a ako treba nastaviť čítať »
 
Údr­žba lo­gov – ro­tá­cia
V predošlej časti sme sa zaoberali spôsobom logovania informácií na iný alebo vzdialený počítač a ukázali sme, ako riešiť problém s logovaním uzavretých procesov pomocou chroot. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter