Prievadai yra viena iš pag­rin­di­nių prie­žas­čių, dėl kurių duomenų paketai gali pasiekti norimą pa­skir­ties vietą. Jie veikia kaip sąsajos tarp kom­piu­te­rių ir sistemos paslaugų arba programų ir yra naudojami TCP bei UDP tinklo protokolų. Kartu su IP adresu ope­ra­ci­nės sistemos gali nustatyti, kuriam kom­piu­te­riui ir kuriai programai jos turi siųsti duomenis.

Kas yra prievadų nu­skai­ty­mas? Trumpas pa­aiš­ki­ni­mas

Prievadų nu­skai­ty­mas – tai tiks­lin­gas procesas, kurio metu naudojant spe­cia­lias priemones tikrinami kom­piu­te­ri­nės sistemos atviri prievadai. Prieš gi­li­nan­tis į tai, kas yra prievadų nu­skai­ty­mas, vertėtų pir­miau­sia pa­aiš­kin­ti, kas yra prievadai. Prievadai veikia kaip sąsaja tarp vei­kian­čių programų ir interneto. Jie naudojami įei­nan­tiems ir iš­ei­nan­tiems duomenų paketams nukreipti į reikiamas programas, o juos valdo ope­ra­ci­nės sistemos.

Note

Kad programa galėtų bendrauti per prievadą, šis turi būti ati­da­ry­tas. Tačiau prievadų ati­da­ry­mas kelia pavojų. Jei viena iš prievadą nau­do­jan­čių programų turi saugumo spragų, prievadas gali tapti po­ten­cia­liu įsi­lau­žė­lių įsi­bro­vi­mo tašku. Norėdami sumažinti įsi­lau­žimo riziką, visada tu­rė­tu­mė­te žinoti, kurie prievadai jūsų sistemoje yra atidaryti ir kokios programos su jais su­si­ju­sios.

Norint atlikti prievadų nu­skai­ty­mą, nebūtina būti pri­si­jun­gu­siam prie tikslinės sistemos. Pakanka būti pri­jung­tam prie jos per vietinį tinklą arba internetą. Nau­do­da­mie­si prievadų nu­skai­ty­mo prog­ra­mo­mis, galite siųsti spe­cia­lius duomenų paketus kaip bandymus į įvairius prievadus. Tada gausite atsakymus arba klaidų pra­ne­ši­mus, kuriuos analizuos jūsų naudojama priemonė. Pri­klau­so­mai nuo nu­skai­ty­mo programos funk­cio­na­lu­mo, galite gauti in­for­ma­ci­ją apie tai, kurie prievadai yra atviri, o kurie uždaryti. Taip pat galite gauti duomenis apie tai, kokias paslaugas ir (arba) programas naudoja ati­tin­ka­mi prievadai.

Prievadų nu­skai­ty­mas suteikia sistemos ad­mi­nist­ra­to­riams labai veiks­min­gą priemonę tinklo duomenų srautui stebėti. Atliekant prievadų nu­skai­ty­mą, galima nustatyti galimas silp­ną­sias vietas ir sumažinti sistemos pa­žei­džia­mu­mą. Kai kuriais atvejais tai gali padėti ad­mi­nist­ra­to­riams išspręsti konk­re­čias tinklo problemas. Be to, šios priemonės neturi jokio pastebimo poveikio nu­skai­to­mų sistemų našumui. Todėl jas galima naudoti saugumo prie­mo­nėms, ne­si­jau­di­nant dėl ne­nu­ma­ty­tų pasekmių sistemos našumui.

Prievadų skeneriai taip pat praverčia namų kom­piu­te­riuo­se. Vos pradėjus naudoti programas, kurioms rei­ka­lin­gas interneto ryšys, prievadai atidaromi au­to­ma­tiš­kai, nebent jūsų ug­nia­sie­nė užkirstų tam kelią. Prievadų ske­na­vi­mas padės jums išlaikyti bendrą vaizdą ir parodys, kurie prievadai jau nebėra rei­ka­lin­gi. Tuomet galėsite juos uždaryti, kad su­ma­žin­tu­mė­te saugumo riziką.

Kaip veikia prievadų nu­skai­ty­mas?

Prievadų skeneriai siūlo daugybę skirtingų metodų. Tačiau dauguma jų naudoja ryšio ori­en­tuo­tą protokolą TCP. Norint suprasti pag­rin­di­nius procesus, vyks­tan­čius prievadų skenavimo metu, verta su­si­pa­žin­ti su bendrąja TCP ryšių struktūra:

  • Šis procesas, dar vadinamas trijų etapų rankos pa­spau­di­mu, prasideda tuo, kad klientas siunčia SYN paketą (sin­ch­ro­ni­za­ci­ja) į pa­skir­ties prievadą.
  • Kai paketas pasiekia programą, klientas gauna sujungtą SYN/ACK paketą (sin­ch­ro­ni­zuo­ti/pa­tvir­tin­ti), kuris pa­tvir­ti­na, kad ryšys buvo užmegztas.
  • Trečiuoju ir pas­ku­ti­niuo­ju žingsniu klientas siunčia ACK paketą (pa­tvir­ti­ni­mas), kuris užbaigia ryšio užmezgimą ir leidžia pradėti keitimąsi duo­me­ni­mis.

Jei bus už­fik­suo­tas uždarytas prievadas, antrajame žingsnyje klientas gaus RST paketą (atstatymo paketą), ir tai užbaigs ryšio užmezgimo procesą.

Kadangi keistis duo­me­ni­mis su įvairių tipų prog­ra­mo­mis būtų sudėtinga ir laiko atimanti užduotis, prievadų nu­skai­ty­mas ap­si­ri­bo­ja pa­pras­tais bandymais užmegzti ryšį, kaip rodo toliau pateikti nu­skai­ty­mo metodai.

TCP-SYN nu­skai­ty­mas

TCP-SYN skenavimo tikslas nėra užmegzti pilną TCP ryšį. Būtent todėl šis skenavimo tipas daž­niau­siai vadinamas pusiau atvirų prievadų skenavimu. Naudojant prievadų skenerį, šis metodas siunčia tipinius SYN paketus į atskirus prievadus ir laukia atsakymo iš tikslinio kom­piu­te­rio. Jei kom­piu­te­ris atsiunčia atgal SYN/ACK paketą, tai reiškia, kad ati­tin­ka­mas prievadas yra atviras ir galima užmegzti ryšį. Jei atsakymas yra RST paketas, tai reiškia, kad prievadas yra uždarytas. Jei atsakymo nėra, tai grei­čiau­siai galima priskirti paketo filtrui (pvz., ug­nia­sie­nei), esančiam prieš srautą.

TCP-SYN nu­skai­ty­mai nėra matomi ver­ti­na­moms prog­ra­moms, todėl jie nesukuria jokių žurnalo įrašų. Dėl to jie dar vadinami „ne­ma­to­mais“ nu­skai­ty­mais.

TCP pri­si­jun­gi­mo ske­na­vi­mas

Jei atliekate „connect“ tipo skenavimą naudodami prievadų skenerį, iš tikrųjų duomenų paketo ne­su­ku­ria­te ir ne­siun­čia­te patys. Vietoj to naudojate sistemos iškvietą „connect“. Ji yra prieinama beveik visose ope­ra­ci­nė­se sistemose. Jei pri­si­jun­gi­mo bandymas pavyksta, tai reiškia, kad prievadas yra atviras. Jei pri­si­jun­gi­mo bandymas ne­pa­vyks­ta, tai reiškia, kad prievadas yra uždarytas. Jei ryšys buvo sėkmingai užmegztas (t. y. prievadas buvo atviras), programos žurnalo failuose galėsite pamatyti, kad buvo naudota ši nu­skai­ty­mo technika. Tačiau in­for­ma­ci­ja apie naudotas fil­t­ra­vi­mo programas nebus pateikta. Jei neturite teisių siųsti ne­ap­do­ro­tų duomenų paketų, TCP „connect“ nu­skai­ty­mas gali būti naudinga al­ter­na­ty­va SYN nu­skai­ty­mams.

TCP-FIN, „Xmas“ ir „Null“ ske­na­vi­mai

Šie trys prievadų nu­skai­ty­mo metodai taip pat leidžia atskirti atvirus prievadus nuo uždarų. Čia nau­do­ja­mos dvi pag­rin­di­nės sąvokos, aprašytos RFC 793standarte:

  1. Uždaryti prievadai visada turėtų atsakyti į paketus (jei tai nėra RST paketai) savo pačių RST paketu.
  2. Atviri prievadai turėtų ignoruoti visus paketus, kurie nėra pažymėti kaip SYN, RST arba ACK.

Ske­nuo­jant RCF standartą ati­tin­kan­čias sistemas, šie skenavimo metodai taiko šiuos principus naudodami savo pačių paketus:

  • Atliekant „Null“ skenavimą ne­nau­do­ja­mi jokie specialūs žymėjimai.
  • Atliekant FIN skenavimą, prievadų skeneris siunčia FIN (baigimo) paketus
  • „Xmas“ ske­na­vi­mas naudoja FIN, PSH (push) ir URG (urgent) žymių derinį, dėl kurio paketai užsidega kaip Kalėdų eglutė.

Visi trys nu­skai­ty­mo metodai veikia vienodai. Pagal RFC taisykles, ban­do­mie­ji paketai užtikrina, kad uždaryti prievadai atsakytų RST paketais, o atviri prievadai ne­at­sa­ky­tų. Ne visi marš­ru­ti­za­to­riai siunčia klaidų pra­ne­ši­mus, jei prievadas yra fil­t­ruo­ja­mas, todėl jei pra­ne­ši­mas ne­at­si­ran­da, tai gali reikšti, kad su­si­du­ria­ma su fil­t­ruo­ja­mu prievadu (be to, yra galimybė, kad tai gali būti atviras prievadas). Nors šis metodas yra daug di­s­kre­tiš­kes­nis nei SYN nu­skai­ty­mai, jis gali neveikti tinkamai, jei sistemos ne­vi­siš­kai atitinka RFC 793. Ryškus to pavyzdys yra „Windows“.

UDP nu­skai­ty­mas

Atliekant UDP skenavimą, į visus laisvus prievadus siunčiami tušti UDP antraštės be duomenų. Jei paslauga atsako UDP paketu, ati­tin­ka­mas prievadas yra atviras. Jei prievadų skeneris iš marš­ru­ti­za­to­riaus gauna klaidos pranešimą „Port un­re­achab­le“ (3 tipo, 3 kodas), jis pri­pa­žįs­ta, kad prievadas yra uždarytas. Kiti klaidos pra­ne­ši­mai in­for­muo­ja var­to­to­jus, kad prievadus blokuoja paketų filtrai. UDP prievadų testavimo problema yra tai , kad tam reikia labai daug laiko. Taip yra todėl, kad daugelyje sistemų dėl saugumo prie­žas­čių klaidų pranešimų pa­tei­ki­mas gali užtrukti ilgą laiką. Be to, daugelis šių sistemų į prievadus atsako tik spo­ra­diš­kai. Linux bran­duo­lys riboja pranešimų skaičių per sekundę, o tai reiškia, kad visiškai nu­skai­ty­ti 65 535 prievadus užtruktų apie 18 valandų.

Kokie yra prievadų skeneriai?

Yra daugybė įvairių skenerių, kurie skiriasi siūlomų funkcijų spektru. Dauguma šių įrankių yra prieinami kaip nemokama prog­ra­mi­nė įranga arba atvirojo kodo spren­di­mai. Daugelis jų turi kla­si­ki­nės ko­man­di­nės eilutės programas, kurias galima naudoti per atskiras grafinės sąsajas. Be to, yra daug in­ter­ne­ti­nių sprendimų, lei­džian­čių var­to­to­jams nu­skai­ty­ti prievadus tie­sio­giai nar­šyk­lė­je. Tokios paslaugos kaip „DNS tools“ prievadų skeneris yra ribotos savo funk­ci­jo­mis ir siūlo tik galimybę pa­tik­rin­ti atskirus prievadus. Dėl šios prie­žas­ties jos puikiai tinka greitam pa­tik­ri­ni­mui as­me­ni­niuo­se kom­piu­te­riuo­se.

Netcat

„Netcat“ (trumpinys: „nc“) 1996 m. išleido ano­ni­mi­nis kūrėjas, žinomas kaip „Hobbit“. Iš pradžių programa buvo sukurta „Unix“ plat­for­moms, tačiau dabar yra daug jos pri­tai­ky­mų tokioms sistemoms kaip „Windows“, taip pat kitų versijų, pa­vyz­džiui, „GNU Netcat“, „OpenBSD Netcat“, „Cryptcat“ ir „Netcat6“ (taip pat palaiko IPv6), kurios daugelyje „Linux“ dist­ri­bu­ci­jų įtrauktos pagal nu­ma­ty­tuo­sius nu­sta­ty­mus. Pag­rin­di­nė ko­man­di­nės eilutės įrankio versija pir­miau­sia skirta duomenims siųsti ar skaityti per TCP ir UDP tinklo ryšius. Tačiau ją taip pat galima naudoti pa­pras­toms prievadų nu­skai­ty­mo užduotims. Tai leidžia var­to­to­jams pa­tik­rin­ti 20–30 prievadų būseną nu­ro­dy­to­je sistemoje naudojant paprastas komandas, pvz.:

nc -zv localhost 20-30
bash

Norint pa­tik­rin­ti UDP prievadus, reikia nurodyti papildomą parametrą*-u*. Vietoj „localhost“ taip pat galite nurodyti išorinės sistemos vardą arba IP adresą (jei jį žinote).

Nmap

Žymiai ga­lin­ges­nis įrankis, ypač naudingas prievadų nu­skai­ty­mui, yra „Network Mapper“, dažnai vadinamas „Nmap“. Sukurtas Unix tipo sistemoms, „Nmap“ yra li­cen­ci­juo­tas pagal GPL ir nuo 2000 m. yra pri­ei­na­mas „Windows“ sistemoms (nors ir su tam tikrais ap­ri­bo­ji­mais). Tai reiškia, kad TCP „Connect“ nu­skai­ty­mai užima ne­pro­por­cin­gai daug laiko, o savo sistemos prievadų nu­skai­ty­mas įmanomas tik naudojant ne­tie­sio­gi­nius kelius. Paprastai „Nmap“ galima valdyti per komandų eilutę. Kita vertus, „Zenmap“ turi našią grafinę sąsają, lei­džian­čią var­to­to­jams lengvai naudotis šiuo tinklo įrankiu.

Už tolesnę programos ir jos prievadų nu­skai­ty­mo funkcijų plėtrą at­sa­kin­gas „Nmap“ kūrėjas Gordonas Lyonas bei „Nmap“ kūrėjų komanda. Visų pirma tokios tech­no­lo­gi­jos kaip ope­ra­ci­nės sistemos at­pa­ži­ni­mas (t. y. tikslinio kom­piu­te­rio ope­ra­ci­nės sistemos nu­sta­ty­mas) ir už prievadų pa­si­slė­pu­sių paslaugų nu­sta­ty­mas daro „Nmap“ vienu iš po­pu­lia­riau­sių prievadų nu­skai­ty­mo sprendimų. Toliau pa­teik­to­je lentelėje nurodyti įvairūs šios programos siūlomi metodai:

Prievadų nu­skai­ty­mo metodai Nmap komanda Aprašymas
TCP pri­si­jun­gi­mo nu­skai­ty­mas nmap -sT host Kla­si­ki­nis pa­tik­ri­ni­mas ne ad­mi­nist­ra­to­riams
TCP Syn ske­na­vi­mas nmap -sS host Greiti, ne­pa­ste­bi­mi tikrinimo metodai ad­mi­nist­ra­to­riams.
TCP FIN-/XMAS-/Null ske­na­vi­mas nmap -sF host nmap -sX host nmap -sN host Metodai, lei­džian­tys apeiti ug­nia­sie­nes
TCP ping ske­na­vi­mas nmap -sP host Tra­di­ci­niams prievadų ske­na­vi­mams; padeda pa­tik­rin­ti kom­piu­te­rio pri­ei­na­mu­mą.
TCP ACK ske­na­vi­mas nmap -sA host Nustato pa­sie­kia­mus prievadus, tačiau ne­at­ski­ria atvirų ir uždarų prievadų
TCP lango nu­skai­ty­mas nmap -sW host Panašus į ACK skenavimą; gali pa­tik­rin­ti kai kuriuos atvirus ir uždarus prievadus.
TCP Maimon ske­na­vi­mas nmap -sM host FIN ir ACK skenavimo derinys.
TCP neveikimo ske­na­vi­mas nmap -sI zombie host host Ma­žiau­siai pa­ste­bi­mas, su­dė­tin­giau­sias ir todėl lė­čiau­sias skenavimo metodas; vykdomas per trečiąjį kom­piu­te­rį, kurį Nmap vadina „zombie“.
UDP nu­skai­ty­mas nmap -sU host Skenavimo metodai, skirti ne­su­si­ju­siems su ryšiu UDP prie­va­dams
SCTP ini­ci­ja­vi­mo nu­skai­ty­mas nmap -sY host Prievadų nu­skai­ty­mas naudojant SCTP, al­ter­na­ty­vą TCP ir UDP
IP protokolo nu­skai­ty­mas nmap -sO host Ne­ske­nuo­ja­mi prievadai; tikrinama, kuris IP pro­to­ko­las pa­lai­ko­mas tiks­li­nė­je sistemoje

Nmap ofi­cia­lio­je sve­tai­nė­je galite at­si­siųs­ti tiek pačią programą „Nmap“, tiek jos sąsają „Zenmap“, pri­tai­ky­tą jūsų ope­ra­ci­nei sistemai. Čia rasite tiek dabartinę (stabilią) versiją, tiek beta versiją (kurią dar to­bu­li­na­me).

Kodėl prievadų nu­skai­ty­mas ne visada yra teisėtas

Prievadų tik­ri­ni­mas ne visada yra teisėtas. Vos tik bandoma pa­si­nau­do­tipa­žei­džia­mu­mu (šis terminas, kurį ki­ber­ne­ti­nio saugumo spe­cia­lis­tai vartoja api­bū­din­da­mi saugumo spragos ar trūkumo iš­nau­do­ji­mą), už tai at­sa­kin­gas asmuo ar grupė gali susidurti su galimomis tei­si­nė­mis pa­sek­mė­mis.

Tačiau ne visai aišku, kokia yra teisinė padėtis, kai kom­piu­te­ri­nė sistema su­stab­do­mas dėl in­ten­sy­vaus prievadų nu­skai­ty­mo. Dėl didelio pri­si­jun­gi­mo užklausų dažnio tokie stebėjimo metodai gali kelti sunkumų tiks­li­niam sistemai, o kartais netgi sukelti sistemos gedimą. Be to, tiks­li­niam sistemai ad­mi­nist­ra­to­riai gali pastebėti užpuolėjų veiklą dar prieš gedimą ir šiuos veiksmus įvertinti kaip pir­muo­sius užpuolimo žingsnius.

Tokiais atvejais svarbu ne­pa­mirš­ti galimų teisinių pasekmių. Jei tikslinė sistema yra tyčia per­krau­na­ma, tai gali būti trak­tuo­ja­ma kaip DDoS ataka, dėl kurios atakos auka gali imtis teisinių veiksmų.

Visada tu­rė­tu­mė­te įsi­ti­kin­ti, kad turite leidimą atlikti sistemos prievadų nu­skai­ty­mą, ir naudoti šią techniką tik saugumo tikslais, o ne vien tik norėdami pa­ten­kin­ti savo smalsumą. Čia aptarti prievadų nu­skai­ty­mo metodai parodo, kaip svarbu stebėti savo sistemos prievadus ir tinklo kom­piu­te­rius, taip pat paslaugas, kurios prie jų pri­si­jun­gia.

Go to Main Menu