Menu Zavrieť

Skenovanie portov

Skenovanie portov (anglicky port scanning) je v informatike metóda zisťovania otvorených sieťových portov na vzdialenom počítači v počítačovej sieti. Je tak možné zistiť, aké služby sú na vzdialenom počítači spustené (napríklad démon pre webový server, zdieľané disky a podobne). Na zisťovanie je používaný špeciálny softvér, napríklad program nmap. Skenovanie je považované za nežiaducu techniku, pretože ju často zneužívajú crackery na zistenie slabých miest (zraniteľnosti) a následnému útoku. Môže mať však aj legitímne využitie ako nástroj pre zlepšovanie počítačovej bezpečnosti.

Sieťové služby fungujú typicky na princípe klient-server, kde serverová časť funguje v podobe démona (tj. programu, ktorý je na počítači trvalo spustený a beží bez kontaktu s používateľom). Aby sa k serverovej časti mohli pripájať klienti, musí serverová časť načúvať na sieťovom porte a reagovať na pokusy klienta o nadviazanie spojenia (tj. na serveri bude port tzv. otvorený). Komunikácia medzi klientom a serverom prebieha typicky pomocou protokolov TCP alebo UDP. V oboch prípadoch je možné simulovať klienta, ktorý má o službu záujem a vyprovokovať tak reakciu serverovej časti. Toho využíva špeciálny softvér, ktorý sa o spojenie pokúša. Pretože implementácia podpory rodiny protokolov TCP/IP je veľmi komplikovaná záležitosť a príslušné RFC typicky nedefinujú správanie v limitných prípadoch, je možné pomocou vhodnej databázy a vhodného nekorektného provokovania dosiahnuť rozdielnych odpovedí v závislosti na verzii alebo typu software, ktorý odpoveď vytvorí. Je tak možné rozoznať od seba rôzne operačné systémy (napr. Linux, MS Windows, MacOS X, BSD, Cisco IOS atď.), ale aj rôzne verzie týchto systémov. Rozpoznávanie je tým úspešnejšie, čím viac otvorených portov je na cieľovom počítači k dispozícii.

Skenovanie portov sťažuje firewall, ktorý môže pokusy o spojenie na niektoré porty blokovať alebo rozpoznať skenovanie hneď v začiatku a ďalšiu prevádzku zablokovať. Skenovanie portov používajú správcovia počítačov, ale aj útočníci (crackery), ktorí môžu zistené nedostatky (napr. programátorské chyby) zneužiť k prieniku do systému (pomocou exploitu).

Typy skenovania

TCP scanning

TCP scanning je základnou formou skenovania. Skúša sa postupne pripájať na jednotlivé porty systémovým volaním connect (). Ak sa podarí pripojiť, znamená to, že je port otvorený a že môžeme počúvať. V opačnom prípade je potom port nedostupný a je vrátený kód chyby. Tento režim skenovania má tú výhodu, že od užívateľa nevyžaduje žiadne zvláštne privilégiá. To znamená, že tento režim skenovania môže vykonávať akýkoľvek užívateľ. Táto metóda je veľmi „nápadná“, a preto je tiež ľahko odhaliteľná.

SYN scanning

SYN scanning je ďalšou formou TCP skenovania. Tento typ skenovania je známy tiež ako „half-open scanning“, pretože nikdy neotvorí celé TCP spojenie. Port skener generuje paket SYN a ak je cieľový port otvorený vráti nám paket SYN-ACK. Skener potom odpovedá poslaním paketu RST, čo je žiadosť o ukončenie spojenia a spojenie sa následne ukončí. Posielanie paketov pri skenovaní je pre cieľového hostiteľa menej rušivé, preto je táto metóda horšie vypátrateľná.

UDP scanning

UDP scanning posiela paket na port, ktorý keď nie je otvorený odpovie správou ICMP port unreachable. Ak odpoveď chýba je port otvorený. Avšak ak je port blokovaný firewallom, bude táto metóda falošne hlásiť, že daný port je otvorený. Táto metóda je však veľmi pomalá.

ACK scanning

ACK scanning je unikátnym typom skenovania portov. U tohto typu skenovania nemôžeme presne určiť, ktorý port je otvorený alebo uzavretý. Pomocou ACK skenovania zistíme ak je port filtrovaný alebo nefiltrovaný. To je obzvlášť dobré k zisťovaniu nastavenia firewallu.

Window scanning

Window scanning súvisí s veľkosťou okna TCP. Je pomerne nespoľahlivé pri zisťovaní otvorenia alebo uzatvorenia portu. Princípom je podobné ACK skenovaniu.

 

Skenovací softvér

Na zisťovanie otvorených portov použijeme free program Advanced Port Scanner. Jeho výhoda je v jednoduchosti ovládania a toho, že má aj podporu slovenskej lokalizácie. Stiahnuť si ho môžete tu. Umožňuje rýchlo vyhľadať všetky otvorené porty (TCP a UDP) a zistiť verzie programov, ktoré sú na nich spustené. Program obsahuje aj mnoho ďalších funkcií, ktoré zjednodušujú riadenie siete. Môžete ho nainštalovať, alebo iba spustiť. Ovládanie je veľmi intuitívne. Stačí zadať IP adresu, alebo rozsah adries a rozsah skenovaných portov a spustiť skenovanie.