by

TARPIT – un altfel de atac în rețea

Acest articol este mai vechi de 1 an. Anumite informații s-ar putea să nu mai fie de actualitate.


Pentru că rețelele se extind continuu, rețelele care se numeau cândva „locale” devin din ce în ce mai mari și se extind cu viteze super-luminice, la fel și atacurile către servere sau sisteme personale. Și ce faci atunci când ești atacat cu un volum foarte mare de date căruia nu-i poți face față?

Bineînțeles că preferi să nu scoți totul din priză în speranța că atacul se va opri și nu se va mai întoarce în veci! Nu! Tu vrei să demonstrezi că faci față greutăților și că îl poți înfrunta cu curaj.

Și pentru că un server bun are ca sistem de operare – Linux, vă voi explica foarte pe scurt cum puteți opri orice atac și nu doar atât! Veți putea contra-ataca și – cu puțin noroc – veți putea pune atacatorul „pe butuci”.

Nu vă așteptați să deveniți hackeri după citirea acestui articol pentru că nu ăsta e scopul său ci doar unul informativ, pentru punerea acestor idei în practică fiind necesare câteva cunoștințe în domeniu, cunoștințe pe care le puteți aprofunda documentându-vă despre acest procedeu de „contra-atac”.

În primul rând, orice conexiune care pleacă de la atacatorul A către destinația B are nevoie de puțină comunicare, astfel:

– A scanează un port pe B. Portul va apărea deschis, indiferent dacă rulează vreun serviciu pe el sau nu

– A așteaptă până când B închide conexiunea, ceea ce nu se va întâmpla niciodată, deci A va da timeout.

Cam atât de interesează. Imaginați-vă ce s-ar întâmpla dacă A ar aștepta un timp nelimitat pentru răspunsul lui B din pasul 2! A ar rămâne captiv în acea conexiune până când dă timeout. Să zicem că va deschide o nouă conexiune iar aceasta va deveni o nouă capcană pentru A, B netrimițându-i confirmarea de primire. Și tot așa…

Într-un final, A va fi suprasolicitat cu deschiderea de conexiuni și așteptarea închiderii conexiunilor. De obicei, asta are ca rezultat suprasolicitarea procesorului din A și (dacă B e norocos) „bubuirea” lui. La propriu!

Și pentru că nimic nu te fixează mai bine pe poziție decât un super-adeziv (ceva gen „super-glue”), capcana noastră trebuie să fie o groapă. Da! O groapă simplă umplută cu un super-adeziv. De exemplu – smoală! Multă smoală! În engleză se traduce TARPIT.

„Atacul” tarpit face exact ce v-am zis mai sus: anunță toate porturile ca deschise și amână închiderea conexiunii către acel port, pe cât de mult posibil. Pentru o astfel de distracție, avem nevoie de modulul TARPIT.

apt-get install xtables-addons-common

 

După instalare, TARPIT poate fi folosit imediat cu ajutorul iptables, astfel:

iptables -A INPUT -p tcp -j TARPIT

 

ATENȚIE! Această comandă va introduce în tarpit toate pachetele TCP din INPUT. Nu se recomandă lansarea acestei comenzi pe un sistem în producție întrucât va anunța toate cele 65000+ porturi ca deschise și poate că nu vrem asta deocamdată. 🙂

Pentru a vă familiariza cu modul de funcționare al TARPIT, vă recomand să citiți documentația disponibilă pe internet și să nu îl folosiți până nu ați înțeles pe deplin modul de funcționare.

Cu TARPIT vă puteți proteja împotriva portscan-urilor, atacatorii având impresia că destinația are toate porturile deschise, ceea ce va duce cu siguranță la prinderea sa în capcană și oprirea imediată a atacului (din cauza „extenuării” sursei).

Punerea în practică se va dovedi folositoare în nenumărate situații. De exemplu, dacă doriți să protejați un server de mail, veți folosi TARPIT pentru a preveni scanarea porturilor și/sau încercările de „brute force” către server.

O altă situație în care TARPIT se va dovedi folositor este aceea în care un sistem este atacat din surse mascate (spoof), nemaifiind nevoie de aflarea IPului/IPurilor sursă. Vom configura IPTABLES astfel încât să intercepteze conexiunile multiple sau anormale către porturile pe care le dorim protejate, TARPIT ocupându-se de restul.

Un tool foarte folositor în acest sens este LaBrea (vezi la sfârșitul articolului), soft cu care puteți pune în aplicare cele de mai sus într-un mod mult mai ușor. Descrierea acestui soft spune astfel:

LaBrea is a program that creates a tarpit or, as some have called it, a „sticky honeypot”. LaBrea takes over unused IP addresses on a network and creates „virtual machines” thatanswer to connection attempts. LaBrea answers those connection attempts in a way that causes the machine at the other end toget „stuck”, sometimes for a very long time.

Cu toate astea, atacul TARPIT este considerat ca „anti-social” tocmai din cauza modului său de funcționare. Din punctul meu de vedere, anti-social este tocmai cel pe care-l mănâncă undeva să vadă ce porturi ai tu deschise.

În orice caz… spor la documentat și play safe! 😉

Referințe:

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *