Druhy sieťových útokov a obrana proti nim

linux_server.jpg V pre­doš­lej čas­ti sme sa ve­no­va­li rôz­nym dru­hom úto­kov na po­čí­ta­čo­vú sieť. Te­raz ten­to zoz­nam roz­ší­ri­me a zá­ro­veň uká­že­me, ako sa pro­ti jed­not­li­vým dru­hom úto­kov brá­niť.

Podvr­hnu­tie IP ad­re­sy (IP spoo­fing)
Ve­ľa po­čí­ta­čov pou­ží­va na ove­re­nie to­tož­nos­ti iné­ho server­a iba je­ho IP ad­re­su. Nap­rík­lad fi­rewall mô­že do vnú­tor­nej sie­te pre­púš­ťať iba pa­ke­ty, kto­ré pa­tria kon­krét­nym po­čí­ta­čom vo von­kaj­šej sie­ti. Útoč­ník pre­to zme­ní IP ad­re­su v hla­vič­ke pa­ke­tu a tak­to zme­ne­ný pa­ket podvr­hne server­u. Ten (ak ne­má inú ochra­nu) si mys­lí, že pa­ket po­chá­dza od sku­toč­né­ho po­čí­ta­ča, a spra­cu­je ho. No a útoč­ník je vnút­ri...

Uk­rad­nu­tie re­lá­cie
Pri uk­rad­nu­tí re­lá­cie či­že ce­lé­ho ot­vo­re­né­ho spo­je­nia sa pos­tu­pu­je veľ­mi po­dob­ne ako pri podvr­hnu­tí IP ad­re­sy. Na­vy­še tre­ba od­po­čú­vať pre­vádz­ku na sie­ti. Útoč­ník vy­čká na to, až niek­to po­mo­cou ne­šif­ro­va­né­ho pro­to­ko­lu za­čne spo­je­nie (re­lá­ciu). Po­tom bu­de s je­ho IP ad­re­sou za­sie­lať svo­je pa­ke­ty a vstú­pi tým me­dzi obe ko­mu­ni­ku­jú­ce stra­ny a za­čne za­dá­vať prí­ka­zy vzdia­le­né­mu sys­té­mu.

Muž v stre­de (man-in-the-midd­le)
Ten­to druh úto­ku je veľ­mi ne­bez­peč­ný, pre­to­že ho dosť čas­to útoč­ní­ci pou­ží­va­jú na zís­ka­nie čí­sel kre­dit­ných ka­riet. Pod­sta­ta spo­čí­va v pres­me­ro­va­ní spo­je­nia klient – sku­toč­ný server na útoč­ní­kov po­čí­tač. Po­tom sa ten­to po­čí­tač vy­dá­va za „sku­toč­ný server“, pri­čom sa pou­ží­va­teľ dom­nie­va, že ko­mu­ni­ku­je so žia­da­ným server­om. Tak­to útoč­ník zís­ka čís­la kre­dit­ných ka­riet, hes­lá či iné dô­le­ži­té in­for­má­cie.

Ako sa te­da brá­niť?
Brá­niť sa tre­ba, to vie­me všet­ci. No už nie všet­ci si uve­do­mu­je­me, že ob­ra­na mu­sí byť na dvoch stra­nách, a to z poh­ľa­du bež­né­ho pou­ží­va­te­ľa a z poh­ľa­du správ­cu sie­te či server­a. Pou­ží­va­teľ sa ne­mô­že spo­lie­hať na to, že bez­peč­nosť sie­te, a te­da aj je­ho úč­tu a dát v nej za­bez­pe­čí správ­ca sám. Aj pou­ží­va­teľ mu­sí dodr­žia­vať ur­či­té zá­sa­dy bez­peč­nos­ti a hlá­siť zis­te­né ne­dos­tat­ky. Pou­ží­va­teľ te­da mô­že rie­šiť or­ga­ni­zač­né a pre­vádz­ko­vé opat­re­nia, správ­ca sie­te zas tech­nic­ké a sys­té­mo­vé opat­re­nia.

Mož­nos­ti ob­ra­ny z poh­ľa­du pou­ží­va­te­ľa
Asi naj­jed­no­duch­šie, ale naj­účin­nej­šie opat­re­nie v bo­ji pro­ti jed­not­li­vým úto­kom z poh­ľa­du pou­ží­va­te­ľa je vy­uží­va­nie za­bez­pe­če­né­ho spo­je­nia – SSH. To je účin­né pro­ti via­ce­rým úto­kom, nap­rík­lad pro­ti podvr­hnu­tiu IP ad­re­sy (IP spoo­fing) ale­bo pro­ti úto­ku ty­pu man-in-the-midd­le. Uk­rad­nu­tiu re­lá­cie za­se účin­ne za­brá­ni pou­ží­va­nie ka­ná­la šif­ro­va­né­ho po­mo­cou SSL. Tie­to pros­tried­ky nie sú zlo­ži­té na zvlád­nu­tie – prie­mer­ne in­for­mač­ne vy­ba­ve­né­mu pou­ží­va­te­ľo­vi sta­čí jed­no­du­ché ško­le­nie či zá­cvik.

Mož­nos­ti zo stra­ny správ­cu
Otáz­ka bez­peč­nos­ti, sa­moz­rej­me, sto­jí a pa­dá hlav­ne na správ­co­vi sie­te. Ten sa ne­mô­že spo­lie­hať na to, že účas­tní­ci sie­te dodr­žu­jú všet­ky na­ria­de­né or­ga­ni­zač­né bez­peč­nos­tné opat­re­nia. Pre­to správ­ca vy­tvá­ra tech­nic­ké rie­še­nia, kto­ré sa mô­žu na pr­vý poh­ľad zdať dup­li­cit­né. Ty­pic­ký prík­lad je podvr­hnu­tie IP ad­re­sy. Nes­ta­čí pou­ží­va­nie SSH zo stra­ny pou­ží­va­te­ľa, tre­ba uro­biť opat­re­nia aj na stra­ne server­a.

Ob­ra­na pro­ti podvr­hnu­tiu IP adries
Jed­no­du­chá ob­ra­na je vy­uži­tie služ­by li­nuxové­ho jad­ra s náz­vom rp_fil­ter, kto­rá kon­tro­lu­je sie­ťo­vé roz­hra­nie a sle­du­je, či na to­to roz­hra­nie nep­ri­chá­dza­jú pa­ke­ty s IP ad­re­sa­mi, kto­ré by sa na ňom ne­ma­li vy­sky­to­vať. Roz­sa­hy adries služ­ba sa­ma kon­tro­lu­je zo sme­ro­va­cích ta­bu­liek. Ak­ti­vo­va­nie služ­by vy­ko­ná­me prí­ka­zom:

echo “1” > /proc/sys/net/ipv4/conf/eth1/rp_fil­ter

Je vhod­né vlo­žiť ten­to prí­kaz do štar­to­va­cích skrip­tov server­a, aby sa služ­ba auto­ma­tic­ky spúš­ťa­la pri štar­te sys­té­mu. Uve­de­ný prík­lad ak­ti­vu­je služ­bu pre roz­hra­nie eth1. Aby sme ne­mu­se­li opi­so­vať da­ný prí­kaz pre všet­ky roz­hra­nia v sys­té­me, sta­čí vy­tvo­riť skript, kto­rý v cyk­le vy­hľa­dá všet­ky sie­ťo­vé za­ria­de­nia a ak­ti­vu­je da­nú služ­bu na nich:

for de­vi­ce in /proc/sys/net/ipv4/conf/*/rp_fil­ter; 
do
echo “1” > ${de­vi­ce}
do­ne

Od­te­raz je pre­vádz­ka pod kon­tro­lou, a ak sa na niek­to­rom roz­hra­ní ob­ja­ví pa­ket s IP ad­re­sou z vnú­tor­nej sie­te, kto­rú útoč­ník podvr­hol a kto­rá tam ne­pat­rí, rp_fil­ter to zis­tí a pa­ket za­ho­dí. Dru­hý spô­sob, ako sa pro­ti podvr­hnu­tiu IP ad­re­sy brá­niť, je filtro­va­nie pria­mo vo fi­rewal­le. Na vý­pi­se č. 1 je vzor úp­ra­vy pra­vi­diel fi­rewal­lu, pos­ta­ve­ný na prí­ka­zoch ip­tab­les.

ip­tab­les –N spoo­fing
ip­tab­les –A spoo­fing –s 127.0.0.0/8 –j DROP
ip­tab­les –A spoo­fing –s 192.168.1.0/8 –j DROP
ip­tab­les –A spoo­fing –s 192.168.10.0/8 –j DROP

ip­tab­les –A FORWARD –i eth1 –j spoo­fing
ip­tab­les –A IN­PUT –i eth1 –j spoo­fing

Naj­prv vy­tvo­rí­me no­vú re­ťaz, kto­rú po­me­nu­je­me spoo­fing (me­no je dob­ro­voľ­né). Do nej pri­dá­me tri pra­vid­lá pre tri roz­sa­hy IP adries, o kto­rých vie­me, že sa nes­mú na von­kaj­šom roz­hra­ní eth1 ob­ja­viť, le­bo ide o loop­back a dve vnú­tor­né sie­te. Na­ko­niec vlo­ží­me dve pra­vid­lá do re­ťa­zí IN­PUT a FORWARD (IN­PUT pre prí­pad, ke­by ná­ho­dou útoč­ník od­ov­zdá­val podvr­hnu­té pa­ke­ty pria­mo fi­rewal­lu, a FORWARD pre­to, ke­by ich po­sie­lal do sie­te).

Ob­ra­na pro­ti od­po­čú­va­niu sie­te
De­tek­cia od­po­čú­va­nia sie­te je po­mer­ne veľ­mi ná­roč­ná, hlav­ne na čas. Asi je­di­ná me­tó­da ob­ra­ny je tá is­tá, ako pou­ží­va útoč­ník – prep­nu­tie sie­ťo­vej kar­ty do pro­mis­kuit­né­ho re­ži­mu. To spô­so­bu­je, že da­ná sie­ťo­vá kar­ta za­chy­tá­va všet­ku ko­mu­ni­ká­ciu na sie­ti, te­da nie­len tú, kto­rá je ur­če­ná prá­ve jej. Pod­rob­nou ana­lý­zou sle­do­va­ných pa­ke­tov mož­no zis­tiť, že ob­sa­hu­jú IP ad­re­su, kto­rá ne­se­dí nap­rík­lad s MAC ad­re­sou, a že v sie­ti ko­mu­ni­ku­je niek­to iný, ako by sme si že­la­li. Pre­to lep­šie ako de­tek­cia je jed­no­du­cho pou­ží­va­nie šif­ro­va­ných ka­ná­lov a pro­to­ko­lov. Ke­by to­tiž v tom­to prí­pa­de aj niek­to od­po­čú­val na­šu sieť, ne­mal by z to­ho ve­ľa úžit­ku.

Ob­ra­na pro­ti úto­ku De­nial of Servic­e
Tak ako v prí­pa­de podvr­hnu­tia IP ad­re­sy aj v prí­pa­de úto­ku za­hl­te­ním server­a znač­ným množ­stvom spo­je­ní až do je­ho pá­du (De­nial of Servic­e) je účin­ná ob­ra­na po­mo­cou pra­vi­diel fi­rewal­lu na bá­ze ip­tab­les. Tá spo­čí­va v tom, že ob­me­dzí­me množ­stvo no­vo pri­chá­dza­jú­cich spo­je­ní. Na vý­pi­se č. 2 je naz­na­če­ná úp­ra­va fi­rewal­lu.

Ip­tab­les –N dos
Ip­tab­les –A dos –m li­mit --li­mit 1/s --li­mit-burst 10 –j RE­TURN
Ip­tab­les –A dos –j DROP 

Ip­tab­les –A IN­PUT – i eth1 –p tcp --syn –j dos
Ip­tab­les –A FORWAARD – i eth1 –p tcp --syn –j dos

Naj­prv de­fi­nu­je­me no­vú re­ťaz, po­me­no­va­nú dos (ako De­nial of Servic­e), kde pra­vid­lom nas­ta­ví­me li­mit 10 pa­ke­tov za jed­nu se­kun­du. Ak bu­de ten­to li­mit dodr­ža­ný, je pa­ket vrá­te­ný do re­ťaz­ca IN­PUT. Ak nie, pa­ket je pra­vid­lom na nas­le­du­jú­com riad­ku za­ho­de­ný. Ako v pred­chá­dza­jú­com prík­la­de aj tu za­ra­dí­me re­ťaz dos do IN­PUT a FORWARD, ten­to­raz tak, aby bo­li pre­púš­ťa­né pa­ke­ty s príz­na­kom SYN, te­da nad­vä­zu­jú­ce no­vé spo­je­nia. Ob­me­dzu­jú­ci li­mit tre­ba zvo­liť veľ­mi ro­zum­ne tak, aby sme neob­me­dzi­li op­ráv­ne­ných pou­ží­va­te­ľov, ale za­brá­ni­li za­hl­te­niu.

Na­bu­dú­ce bu­de­me pok­ra­čo­vať.

Ďal­šie čas­ti >>

Zdroj: Infoware 2/2010



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