Čo znamená otvorený port?
Pred hlbšou kontrolou otvorených portov si najskôr uvedomíme, čo znamenajú otvorené porty. Open Port alebo posluchový port je port, na ktorom je spustená nejaká aplikácia. Spustená aplikácia počúva na nejakom porte a my s ňou môžeme komunikovať cez tento načúvací port. Ak je aplikácia spustená na porte a pokúsime sa spustiť inú aplikáciu na rovnakom porte, jadro spôsobí chybu. To je jeden z mnohých dôvodov, prečo pred spustením aplikácií kontrolujeme otvorené porty.
Zoznam otvorených portov pomocou nmap
Network Mapper, známy ako nmap, je open source a bezplatný nástroj, ktorý sa používa na skenovanie portov v systéme. Používa sa na hľadanie slabých miest, objavovanie sietí a hľadanie otvorených portov. V tejto časti použijeme nmap na získanie zoznamu otvorených portov v systéme. Najskôr aktualizujte vyrovnávaciu pamäť na Ubuntu pred inštaláciou nmap:
[chránené e-mailom]: ~ $ sudo apt-get update -yNmap je možné nainštalovať pomocou nasledujúceho príkazu v termináli:
[chránené e-mailom]: ~ $ sudo apt-get install nmap -yPo inštalácii nmap overte inštaláciu kontrolou verzie nmap:
[chránené e-mailom]: ~ $ nmap --verzia
Ak poskytuje verziu nmap, potom je nainštalovaná perfektne, inak skúste vyššie uvedené príkazy znova a správne nainštalujte nmap. Nmap sa používa na vykonávanie niekoľkých súvisiacich so sieťami a skenovanie portov je jednou z týchto úloh. Nástroj nmap sa používa spolu s mnohými možnosťami. Zoznam všetkých dostupných možností môžeme získať pomocou nasledujúceho príkazu:
[chránené e-mailom]: ~ $ man nmapAk chcete prehľadať svojho miestneho hostiteľa, použite nasledujúci príkaz:
[chránené e-mailom]: ~ $ sudo nmap localhost
Zobrazí zoznam všetkých otvorených portov na serveri localhost, ako je to zobrazené na obrázku vyššie. Na skenovanie vzdialených hostiteľov môžeme tiež použiť nmap:
[chránené e-mailom]: ~ $ sudo nmap 93.184.216.34Namiesto adresy IP môžeme tiež použiť názov hostiteľa vzdialeného servera:
[chránené e-mailom]: ~ $ sudo nmap www.príklad.comPríkaz nmap možno použiť aj na skenovanie rozsahu adries IP. V príkaze zadajte rozsah adries IP, ako v príkaze uvedenom nižšie:
[chránené e-mailom]: ~ $ sudo nmap 192.168.1.1-10Vyššie uvedený príkaz prehľadá všetky adresy IP od 192.168.1.1 až 192.168.1.10 a zobrazí výsledok v termináli. Na skenovanie portov v podsieti môžeme použiť nmap nasledovne:
[chránené e-mailom]: ~ $ sudo nmap 192.168.1.1/24Vyššie uvedený príkaz prehľadá všetkých hostiteľov s IP adresami v podsieti definovanej v príkaze.
Niekedy musíte skenovať porty na náhodných hostiteľoch, ktorí sú v rôznych podsieťach a nie sú v poradí, potom je najlepším riešením napísať súbor hostiteľov, do ktorého sú napísané všetky názvy hostiteľov, oddelené jednou alebo viacerými medzerami, kartami alebo novými riadky. Tento súbor je možné použiť s nmap nasledovne:
[chránené e-mailom]: ~ $ sudo nmap -iL hostitelia.TXT
Na skenovanie jedného portu v systéme môžeme použiť nmap tak, že zadáme port pomocou príznaku „-p“ spolu s nmap, ako v nasledujúcom príkaze:
[chránené e-mailom]: ~ $ sudo nmap -p 80 localhost
Rozsah portov je možné v systéme skenovať aj pomocou nmap nasledujúcim spôsobom:
[chránené e-mailom]: ~ $ sudo nmap -p 80-85 localhost
Pomocou nmap môžeme skenovať všetky porty systému:
[chránené e-mailom]: ~ $ sudo nmap -p- localhost
Zoznam najčastejšie otvorených portov vo vašom systéme môžete získať pomocou príkazu nmap s príznakom „-F“:
[chránené e-mailom]: ~ $ sudo nmap -F localhost
Porty TCP je možné v systéme skenovať pomocou nmap jednoduchým pridaním príznaku „-T“ spolu s príkazom nmap:
[chránené e-mailom]: ~ $ sudo nmap -sT localhost
Podobne pre porty UDP môžete použiť príznak '-U' s príkazom nmap:
[chránené e-mailom]: ~ $ sudo nmap -sU localhost
Zoznam otvorených portov pomocou lsof
Príkaz lsof, tiež známy ako 'zoznam otvorených súborov', sa používa na získanie informácií o otvorených súboroch používaných rôznymi procesmi v operačných systémoch podobných operačným systémom UNIX a LINUX. Vo väčšine distribúcií systému Linux je tento nástroj predinštalovaný. Inštaláciu lsof môžeme overiť kontrolou jej verzie:
[chránené e-mailom]: ~ $ lsof -v
Ak neukazuje verziu, program lsof nie je predvolene nainštalovaný. Stále ho môžeme nainštalovať pomocou nasledujúcich príkazov v termináli:
[chránené e-mailom]: ~ $ sudo apt-get update -y[chránené e-mailom]: ~ $ sudo apt-get install lsof
Môžeme použiť príkaz lsof spolu s rôznymi možnosťami. Zoznam všetkých dostupných možností je možné zobraziť pomocou nasledujúceho príkazu v termináli:
[chránené e-mailom]: ~ $ man lsofTeraz v tejto časti použijeme lsof na zobrazenie portov systému rôznymi spôsobmi:
[chránené e-mailom]: ~ $ sudo lsof -i
Vyššie uvedený príkaz zobrazil všetky otvorené porty. Príkaz lsof môžeme použiť aj na zobrazenie všetkých otvorených zásuviek:
[chránené e-mailom]: ~ $ sudo lsof -n -P | grep LISTEN
Môžeme vypísať filtrované porty na základe protokolu pomocou lsof. Spustením príkazu uvedeného nižšie zobrazíte zoznam všetkých typov pripojenia TCP:
[chránené e-mailom]: ~ $ sudo lsof -i tcp
Podobne môžeme uviesť všetky typy pripojení UDP pomocou lsof nasledujúcim spôsobom:
[chránené e-mailom]: ~ $ sudo lsof -i udp
Zoznam otvorených portov pomocou netstatu
Netstat, tiež známy ako sieťová štatistika, je program príkazového riadku, ktorý sa používa na zobrazenie podrobných informácií o sieťach. Zobrazuje prichádzajúce aj odchádzajúce pripojenia TCP, smerovacie tabuľky, sieťové rozhrania atď. V tejto časti použijeme netstat na výpis otvorených portov v systéme. Nástroj netstat je možné nainštalovať spustením nasledujúcich príkazov:
[chránené e-mailom]: ~ $ sudo apt-get update -y[chránené e-mailom]: ~ $ sudo apt-get install net-tools -y
Po spustení vyššie uvedených príkazov môžete inštaláciu overiť kontrolou verzie netstat:
[chránené e-mailom]: ~ $ netstat --version
Ak zobrazuje verziu sieťových nástrojov, je inštalácia v poriadku, inak spustite inštalačné príkazy znova. Ak chcete získať prehľad o všetkých dostupných možnostiach, ktoré je možné použiť, spolu s príkazom netstat, spustite nasledujúci príkaz:
[chránené e-mailom]: ~ $ man netstatZoznam všetkých portov na počúvanie môžeme získať pomocou príkazu netstat v Ubuntu spustením nasledujúceho príkazu:
[chránené e-mailom]: ~ $ sudo netstat -l
Príkaz netstat možno tiež použiť na filtrovanie počúvania portov TCP a UDP jednoduchým pridaním príznaku spolu s príkazom. Pre počúvanie portov TCP:
[chránené e-mailom]: ~ $ sudo netstat -lt
Na počúvanie portov UDP použite nasledujúci príkaz:
[chránené e-mailom]: ~ $ sudo netstat -lu
Zoznam všetkých počúvajúcich portov UNIX môžete získať, ak v termináli spustíte nasledujúci príkaz:
[chránené e-mailom]: ~ $ sudo netstat -lx
Zoznam otvorených portov pomocou ss
Príkaz ss sa používa na zobrazenie informácií o soketoch v systéme Linux. Zobrazuje podrobnejšie informácie o soketoch ako príkaz netstat. Príkaz ss je pre väčšinu distribúcií systému Linux predinštalovaný, takže ho pred použitím nemusíte inštalovať. Zoznam všetkých možností, ktoré je možné použiť spolu s príkazom ss, môžete získať spustením príkazu 'man' s príkazom ss:
[chránené e-mailom]: ~ $ man ssZoznam všetkých pripojení bez ohľadu na ich stav získate pomocou príkazu ss bez príznaku:
[chránené e-mailom]: ~ $ sudo ss
Zoznam všetkých portov pre počúvanie získate pomocou príkazu ss s príznakom '-l'. Príznak „-l“ sa používa na zobrazenie iba počúvajúcich portov:
[chránené e-mailom]: ~ $ sudo ss -l
Ak chcete získať všetky načúvajúce porty TCP, môžeme spolu s príkazom ss použiť príznak „-t“ a „-l“:
[chránené e-mailom]: ~ $ sudo ss -lt
Podobne môžeme získať zoznam všetkých načúvajúcich portov UDP pomocou príkazu ss spolu s príznakmi „-u“ a „-l“:
[chránené e-mailom]: ~ $ sudo ss -lu
Príkaz ss možno použiť aj na získanie zoznamu všetkých pripojení k zdrojovému alebo cieľovému portu. V nasledujúcom príklade dostaneme zoznam všetkých pripojení k cieľovému alebo zdrojovému portu 22:
[chránené e-mailom]: ~ $ sudo ss -at '(dport =: 22 alebo sport =: 22)'
Zoznam všetkých prichádzajúcich a odchádzajúcich pripojení získate, ak ste sa pripojili k vzdialenému systému pomocou ssh.
Záver
Pre správcov systému, profesionálov v oblasti zabezpečenia a ďalšie osoby spojené s IT je dôležité poznať otvorené porty na serveroch. Linux je bohatý na nástroje používané na diagnostiku sietí a poskytuje mnoho nástrojov, ktoré môžu byť užitočné pri rôznych druhoch sieťových aktivít. V tomto tutoriáli sme použili niektoré nástroje ako netstat, ss, lsof a nmap na kontrolu otvorených portov v Ubuntu. Po prečítaní tohto článku budete môcť mnohými spôsobmi ľahko zobraziť zoznam všetkých portov na počúvanie na serveri Linux.