Porti ir viens no gal­ve­na­jiem iemesliem, kāpēc datu paketes spēj sasniegt savu galamērķi. Tie darbojas kā saskarnes starp datoriem un sistēmas pa­kal­po­ju­miem vai prog­ram­mām, un tos izmanto TCP un UDP tīkla protokoli. Kopā ar IP adresi ope­rē­tājsis­tē­mas spēj noteikt, uz kuru datoru un programmu tām jānosūta dati.

Kas ir portu skenēšana? Īss skaid­ro­jums

Portu skenēšana ir mēr­ķtie­cīgs process, kurā ar speciālu rīku palīdzību tiek pār­bau­dī­ti atvērtie porti datora sistēmā. Pirms sīkāk izskatīt, kas ir portu skenēšana, varētu būt noderīgi vispirms no­skaid­rot, kas ir porti. Porti darbojas kā saskarnes starp aktīvām prog­ram­mām un internetu. Tos izmanto, lai novirzītu ienākošos un izejošos datu paketes uz pa­rei­za­jām lie­to­jum­prog­ram­mām, un tos pārvalda ope­rē­tājsis­tē­mas.

Note

Lai lie­to­jum­prog­ram­ma varētu sa­zi­nā­ties caur portu, tas ir jāatver. Tomēr portu atvēršana rada risku. Ja kādai no lie­to­jum­prog­ram­mām, kas izmanto šo portu, ir drošības ie­vai­no­ja­mī­bas, ports var kļūt par po­ten­ciā­lu ieejas punktu uz­bru­cē­jiem. Lai sa­ma­zi­nā­tu uzbrukuma risku, vienmēr jāzina, kuri porti jūsu sistēmā ir atvērti un kuras lie­to­jum­prog­ram­mas ar tiem ir saistītas.

Lai veiktu portu skenēšanu mērķa sistēmā, nav ne­pie­cie­šams tajā būt pie­tei­cies. Pietiek ar to, ka esat savienots ar sistēmu caur lokālo tīklu vai internetu. Iz­man­to­jot portu skenerus, varat nosūtīt īpašus datu pakešus kā testus uz dažādiem portiem. Tad saņemsiet atbildes vai kļūdu ziņojumus, kurus analizēs iz­man­to­tais rīks. Atkarībā no ske­nē­ša­nas prog­ram­mas funkciju klāsta varat iegūt in­for­mā­ci­ju par to, kuri porti ir atvērti un kuri ir aizvērti. Varat saņemt arī datus par to, kurus pa­kal­po­ju­mus un/vai lie­to­jum­prog­ram­mas izmanto at­tie­cī­gie porti.

Portu skenēšana sistēmu ad­mi­nis­tra­to­riem piedāvā ļoti efektīvu līdzekli datu plūsmas uz­rau­dzī­bai tīklā. Ar portu ske­nē­ša­nas palīdzību var atklāt po­ten­ciā­los vājos punktus un samazināt sistēmas uzbrukumu risku. Dažos gadījumos tas var palīdzēt ad­mi­nis­tra­to­riem atrisināt konkrētas tīkla problēmas. Turklāt šiem rīkiem nav jūtamas ietekmes uz to sistēmu veikt­spē­ju, kuras tie skenē. Rezultātā tos var izmantot drošības pa­sā­ku­miem, ne­bai­do­ties par negribētu ietekmi uz sistēmas veikt­spē­ju.

Portu skeneri ir noderīgi arī mājas datoriem. Tiklīdz sākat lietot prog­ram­mas, kurām ne­pie­cie­šams interneta sa­vie­no­jums, porti tiek au­to­mā­tis­ki atvērti, ja vien jūsu ugunsmū­ris to neaizkavē. Portu skenēšana palīdz saglabāt pārskatu par situāciju, parādot portus, kas vairs nav vajadzīgi. Pēc tam tos var aizvērt, lai sa­ma­zi­nā­tu drošības riskus.

Kā darbojas portu skenēšana?

Portu skeneri piedāvā daudzas dažādas metodes. Tomēr lielākā daļa no tām izmanto sa­vie­no­ju­mu orientēto protokolu TCP. Lai izprastu pa­mat­pro­ce­sus, kas notiek portu ske­nē­ša­nas laikā, ir liet­de­rī­gi ie­pa­zī­ties ar TCP sa­vie­no­ju­mu vispārējo struktūru:

  • Šo procesu, kas pazīstams arī kā trīs­pu­sē­jais sa­vie­no­ju­ma izveides process, sāk klients, nosūtot SYN paketi (sin­hro­ni­zā­ci­ja) uz galamērķa portu.
  • Kad pakete sasniedz lie­to­jum­prog­ram­mu, klients saņem kombinētu SYN/ACK paketi (sin­hro­ni­zēt/ap­stip­ri­nāt), kas ap­stip­ri­na, ka sa­vie­no­jums ir izveidots.
  • Trešajā un pēdējā solī klients nosūta ACK paketi (ap­stip­ri­nā­jums), kas izveido sa­vie­no­ju­mu, ļaujot sākt datu apmaiņu.

Ja tiek izveidots sa­vie­no­jums ar aizvērtu portu, klients otrajā posmā saņems RST paketi (at­jau­no­ša­na), tādējādi pār­trau­cot sa­vie­no­ju­ma izveidi.

Tā kā datu apmaiņa ar dažāda veida lie­to­jum­prog­ram­mām būtu sarežģīta un lai­kie­til­pī­ga, portu skenēšana ap­ro­be­žo­jas ar vien­kār­šiem mē­ģi­nā­ju­miem izveidot sa­vie­no­ju­mus, kā to parāda turpmāk minētās ske­nē­ša­nas metodes.

TCP-SYN skenēšana

TCP-SYN ske­nē­ša­nas mērķis nav izveidot pilnīgu TCP sa­vie­no­ju­mu. Tāpēc šāda veida skenēšanu parasti dēvē par daļēji atvērtu portu skenēšanu. Iz­man­to­jot portu skeneru, šī metode nosūta standarta SYN paketes uz at­se­viš­ķiem portiem un gaida atbildi no mērķa datora. Ja dators nosūta atpakaļ SYN/ACK paketi, tas norāda, ka at­tie­cī­gais ports ir atvērts un ir iespējams izveidot sa­vie­no­ju­mu. Ja atbilde ir RST pakete, tas nozīmē, ka ports ir slēgts. Ja atbildes nav, tas, vis­ti­ca­māk, ir saistīts ar paketes filtru (piemēram, ugunsmūri), kas atrodas aug­šupstrā­vas virzienā.

TCP-SYN ske­nē­ša­nas nav redzamas no­vēr­tē­ja­ma­jām lie­to­jum­prog­ram­mām, un tādēļ tās nerada nekādus žurnāla datus. Tāpēc tās dēvē arī par „nemanāmām ske­nē­ša­nām”.

TCP sa­vie­no­ju­mu skenēšana

Ja ar savu portu skeneri veicat sa­vie­no­ju­ma skenēšanu, jūs faktiski pats ne­ge­ne­rē­jat un nenosūtāt datu paketi. Tā vietā jūs iz­man­to­jat sistēmas izsaukumu „connect“. Tas ir pieejams gandrīz katrā ope­rē­tājsis­tē­mā. Ja sa­vie­no­ju­ma izveides mē­ģi­nā­jums ir veiksmīgs, tas nozīmē, ka ports ir atvērts. Ja sa­vie­no­ju­ma izveides mē­ģi­nā­jums neizdodas, tas nozīmē, ka ports ir slēgts. Ja sa­vie­no­jums tika veiksmīgi izveidots (t. i., ports bija atvērts), jūs varēsiet redzēt, ka šī ske­nē­ša­nas metode tika izmantota lie­to­jum­prog­ram­mas žurnāla failos. Tomēr in­for­mā­ci­ja par iz­man­to­ta­jām fil­trē­ša­nas prog­ram­mām netiks sniegta. Ja jums nav tiesību sūtīt ne­ap­s­trā­dā­tus datu paketes, TCP sa­vie­no­ju­ma skenēšana var būt noderīga al­ter­na­tī­va SYN ske­nē­ša­nai.

TCP-FIN, Zie­massvēt­ku un null-skenēšana

Šīs trīs portu ske­nē­ša­nas metodes ļauj arī atšķirt atvērtos portus no slēg­ta­jiem. Šeit tiek izmantoti divi pa­mat­jē­dzie­ni, kas ap­rak­stī­ti RFC 793:

  1. Slēgtie porti vienmēr jāatbild uz pakešiem (ja vien tie nav RST pakeši) ar savu RST pakešu.
  2. Atvērtie porti nedrīkst reaģēt uz paketi, kas nav marķēta kā SYN, RST vai ACK.

Skenējot RCF stan­dar­tam at­bil­sto­šas sistēmas, šīs ske­nē­ša­nas metodes izmanto šos principus, lietojot savus paketes:

  • Null skenēšanā netiek iz­man­to­tas nekādas īpašas atzīmes.
  • FIN skenēšanā portu skeneris nosūta FIN (finish) paketes
  • Xmas skenēšanā tiek izmantota FIN, PSH (push) un URG (urgent) marķējumu kom­bi­nā­ci­ja, kas liek pakešiem iedegties kā Zie­massvēt­ku eglītei.

Visas trīs ske­nē­ša­nas metodes darbojas vienādi. Saskaņā ar RFC 793 no­tei­ku­miem testa paketes nodrošina, ka slēgtie porti atbild ar RST paketi, bet atvērtie porti nesniedz atbildi. Ne visi mar­šru­tē­tā­ji nosūta kļūdas ziņojumus, ja ports ir filtrēts, tāpēc ziņojuma ne­pa­rā­dī­ša­nās var liecināt par filtrēta porta klātbūtni (papildus iespējai, ka tas var būt atvērts ports). Un, lai gan šī metode ir daudz dis­krē­tā­ka nekā SYN skenēšana, tā var ne­dar­bo­ties pareizi, ja sistēmas pilnībā neatbilst RFC 793. Izcils šāda gadījuma piemērs ir Windows.

UDP skenēšana

Veicot UDP skenēšanu, uz visiem ne­iz­man­to­ta­jiem portiem tiek nosūtīti tukši UDP galvenes bez datiem. Ja pa­kal­po­jums atbild ar UDP paketi, at­tie­cī­gais ports ir atvērts. Ja portu skeneris no mar­šru­tē­tā­ja saņem kļūdas ziņojumu „Port unreachab­le“ (3. tips, 3. kods), tas atzīst portu par slēgtu. Citi kļūdas ziņojumi informē lie­to­tā­jus par to, ka portu bloķēšanu izraisa paketes filtri. Problēma ar UDP portu testēšanu ir milzīgais laiks, kas tam ne­pie­cie­šams. Tas ir tāpēc, ka daudzām sistēmām drošības apsvērumu dēļ kļūdu ziņojumu no­sū­tī­ša­na var aizņemt ilgu laiku. Turklāt daudzas no šīm sistēmām uz portiem atbild tikai spo­rā­dis­ki. Linux kodols ierobežo ziņojumu skaitu sekundē, kas nozīmē, ka 65 535 portu pilnīgai ske­nē­ša­nai būtu ne­pie­cie­ša­mas aptuveni 18 stundas.

Kādi ir portu skeneri?

Ir daudz dažādu skeneru, kas atšķiras ar piedāvāto funkciju klāstu. Lielākā daļa no šiem rīkiem ir pieejami kā bezmaksas prog­ram­ma­tū­ra vai atvērtā koda ri­si­nā­ju­mi. Daudzi no tiem ir klasiskas ko­man­drin­das prog­ram­mas, kuras var izmantot ar atsevišķu grafisko in­ter­fei­su palīdzību. Turklāt ir daudz tiešsais­tes ri­si­nā­ju­mu, kas ļauj lie­to­tā­jiem skenēt portus tieši pār­lūkprog­ram­mā. Tādiem pa­kal­po­ju­miem kā DNS rīku portu skeneris ir ie­ro­be­žo­tas funkcijas, un tie piedāvā tikai iespēju pārbaudīt at­se­viš­ķus portus. Tāpēc tie ir piemēroti, lai veiktu ātrus pār­bau­dī­ju­mus per­so­nā­la­jos datoros.

Netcat

Netcat (sa­īsi­nā­jums: nc) 1996. gadā izlaida anonīms iz­strā­dā­tājs ar segvārdu „Hobbit”. Sākotnēji tas tika iz­strā­dāts Unix plat­for­mām, taču tagad ir pieejamas daudzas por­tē­ša­nas versijas sistēmām, piemēram, Windows, kā arī citi pa­pla­ši­nā­ju­mi, piemēram, GNU Netcat, OpenBSD Netcat, Cryptcat un Netcat6 (kas atbalsta arī IPv6), kuri daudzos Linux dis­tri­bu­tī­vos ir iekļauti pēc no­klu­sē­ju­ma. Ko­man­drin­das rīka pamata versija ir gal­ve­no­kārt paredzēta datu sūtīšanai vai lasīšanai, iz­man­to­jot TCP un UDP tīkla sa­vie­no­ju­mus. To var izmantot arī vien­kār­šām portu ske­nē­ša­nas uz­de­vu­miem. Tas ļauj lie­to­tā­jiem pārbaudīt portu 20 līdz 30 statusu noteiktā sistēmā, iz­man­to­jot vien­kār­šas komandas, piemēram:

nc -zv localhost 20-30
bash

Lai pār­bau­dī­tu UDP portus, ir ne­pie­cie­šams papildu parametrs*-u*. Vietā „localhost“ varat izmantot arī ārējās sistēmas nosaukumu vai IP adresi (ja tā jums ir zināma).

Nmap

Ie­vē­ro­ja­mi jaudīgāks rīks, kas ir īpaši noderīgs portu ske­nē­ša­nai, ir Network Mapper, ko bieži sauc par Nmap. Nmap ir iz­strā­dāts Unix tipa sistēmām, tam ir GPL licence, un kopš 2000. gada tas ir pieejams arī Windows sistēmām (lai gan ar ie­ro­be­žo­ju­miem). Tas nozīmē, ka TCP Connect skenēšana aizņem ne­sa­mē­rī­gi daudz laika un ka savas sistēmas portu skenēšana ir iespējama tikai, iz­man­to­jot netiešus ceļus. Parasti Nmap var darbināt, iz­man­to­jot komandu rindu. Savukārt Zenmap piedāvā augstas veikt­spē­jas grafisko in­ter­fei­su, kas ļauj lie­to­tā­jiem viegli izmantot šo tīkla rīku.

Par prog­ram­mas un tās portu ske­nē­ša­nas funkciju tālākās at­tīs­tī­bas no­dro­ši­nā­ša­nu atbild Nmap iz­vei­do­tājs Gordons Lyon un Nmap iz­strā­dā­tā­ju komanda. Jo īpaši tādas teh­no­lo­ģi­jas kā ope­rē­tājsis­tē­mas iden­ti­fi­kā­ci­ja (t. i., mērķa datora ope­rē­tājsis­tē­mas at­pa­zī­ša­na) un aiz portiem slēpto pa­kal­po­ju­mu no­teik­ša­na padara Nmap par vienu no po­pu­lā­rā­ka­jiem portu ske­nē­ša­nas ri­si­nā­ju­miem. Turp­mā­ka­jā tabulā ir parādītas dažādās metodes, ko piedāvā šī programma:

Portu ske­nē­ša­nas metodes Nmap komanda Apraksts
TCP sa­vie­no­ju­ma skenēšana nmap -sT host Klasiska pārbaude lie­to­tā­jiem, kas nav ad­mi­nis­tra­to­ri
TCP Syn skenēšana nmap -sS host Ātrās, ne­pa­ma­nā­mās pārbaudes metodes ad­mi­nis­tra­to­riem.
TCP FIN-/XMAS-/Null skenēšana nmap -sF host nmap -sX host nmap -sN host Metodes, kas ļauj apiet ugunsmū­rus
TCP ping skenēšana nmap -sP host Tra­di­cio­nā­la­jai portu ske­nē­ša­nai; palīdz pārbaudīt uzņēmuma pie­eja­mī­bu.
TCP ACK skenēšana nmap -sA host Nosaka pie­gā­dā­tos portus, bet ne­nod­ro­ši­na atšķirību starp atvērtiem un slēgtiem portiem
TCP loga skenēšana nmap -sW host Sa­lī­dzi­nāms ar ACK skenēšanu; var pārbaudīt dažus atvērtos un slēgtos portus.
TCP Maimon skenēšana nmap -sM host FIN un ACK ske­nē­ša­nas kom­bi­nā­ci­ja.
TCP neaktīvā skenēšana nmap -sI zombie host host Vismazāk pamanāmā, vis­kom­pli­cē­tā­kā un tādējādi lēnākā ske­nē­ša­nas metode; darbojas caur trešo datoru, kuru Nmap apzīmē kā „zombiju”.
UDP skenēšana nmap -sU host Ske­nē­ša­nas metodes bez­sa­vie­no­ju­ma UDP portiem
SCTP sākotnējā skenēšana nmap -sY host Portu skenēšana ar SCTP, al­ter­na­tī­va TCP un UDP
IP protokola skenēšana nmap -sO host Neskenē portus; pārbauda, kurš IP protokols tiek at­bal­stīts mērķa sistēmā

Nmap ofi­ciā­la­jā tīmekļa vietnē varat le­ju­pie­lā­dēt gan programmu Nmap, gan tās lietotāja saskarni Zenmap savai ope­rē­tājsis­tē­mai. Pieejama gan pa­šrei­zē­jā (stabilā) versija, gan beta versija (at­tīs­tī­bas stadijā).

Kāpēc portu skenēšana ne vienmēr ir likumīga

Portu pār­bau­dī­ša­na ne vienmēr ir likumīga. Tiklīdz tiek veikts mē­ģi­nā­jums izmantotdrošības ie­vai­no­ja­mī­bu (termins, ko ki­berdro­šī­bas spe­ciā­lis­ti lieto, lai apzīmētu darbību, kuras mērķis ir izmantot drošības trūkumu vai nepilnību), par to at­bil­dī­ga­jai personai vai grupai var draudēt ie­spē­ja­mās ju­ri­dis­kās sekas.

Tomēr nav tik skaidrs, kāda ir juridiskā situācija gadījumā, ja da­torsis­tē­ma tiek bloķēta in­ten­sī­vas portu ske­nē­ša­nas dēļ. Sakarā ar biežajiem sa­vie­no­ju­ma pie­pra­sī­ju­miem šādas uz­rau­dzī­bas metodes var radīt problēmas mērķa sistēmai, dažkārt izraisot sistēmas kļūdu. Turklāt mērķa sistēmas ad­mi­nis­tra­to­ri var pamanīt uzbrucēju darbības jau pirms sistēmas kļūdas un in­ter­pre­tēt šīs darbības kā uzbrukuma pirmos soļus.

Šādos gadījumos ir svarīgi neizslēgt ju­ri­dis­kās sekas. Ja mērķa sistēma tiek apzināti pār­slo­dzē­ta, to var uzskatīt par DDoS uzbrukumu, kā rezultātā uzbrukuma upuris var vērsties tiesā.

Jums vienmēr jā­pār­lie­ci­nās, ka esat pil­nva­rots veikt portu skenēšanu sistēmā, un šo metodi jāizmanto tikai drošības nolūkos, nevis vienkārši, lai ap­mie­ri­nā­tu savu ziņkāri. Šeit ap­rak­stī­tās portu ske­nē­ša­nas metodes parāda, cik svarīgi ir sekot līdzi savas sistēmas portiem un tīkla datoriem, kā arī pa­kal­po­ju­miem, kas tiem piekļūst.

Go to Main Menu