Što znači otvoreni port?
Prije dubljeg provjeravanja otvorenih priključaka, prvo znajmo što znače otvoreni priključci. Otvoreni port ili port za slušanje je port u kojem je pokrenuta neka aplikacija. Pokrenuta aplikacija sluša na nekom priključku i s tom aplikacijom možemo komunicirati preko tog porta za preslušavanje. Ako se aplikacija izvodi na luci, a mi pokušamo pokrenuti drugu aplikaciju na istoj luci, kernel će izbaciti pogrešku. To je jedan od mnogih razloga zbog kojih provjeravamo ima li otvorenih priključaka prije pokretanja aplikacija.
Lista otvorenih portova pomoću nmap-a
Network Mapper, poznat pod nazivom nmap, besplatni je alat otvorenog koda koji se koristi za skeniranje priključaka na sustavu. Koristi se za pronalaženje ranjivosti, otkrivanje mreža i pronalaženje otvorenih portova. U ovom ćemo odjeljku koristiti nmap za dobivanje popisa otvorenih portova u sustavu. Prije svega, ažurirajte predmemoriju na Ubuntuu prije instaliranja nmap-a:
[zaštićena e-poštom]: ~ $ sudo apt-get update -yNmap se može instalirati pomoću sljedeće naredbe u terminalu:
[zaštićena e-poštom]: ~ $ sudo apt-get install nmap -yNakon instalacije nmap-a, provjerite instalaciju provjerom verzije nmap-a:
[zaštićena e-poštom]: ~ $ nmap --version
Ako daje verziju nmap-a, tada je savršeno instaliran, u suprotnom, pokušajte ponovo s gornjim naredbama da pravilno instalirate nmap. Nmap se koristi za izvođenje nekoliko povezanih s mrežama, a skeniranje porta je jedan od tih zadataka. Alat nmap koristi se zajedno s mnogim opcijama. Popis svih dostupnih opcija možemo dobiti pomoću sljedeće naredbe:
[zaštićena e-poštom]: ~ $ man nmapDakle, da biste skenirali svoj lokalni host, upotrijebite dolje navedenu naredbu:
[zaštićena e-poštom]: ~ $ sudo nmap localhost
Popisat će sve otvorene priključke na localhostu, kao što je prikazano na gornjoj slici. Također možemo koristiti nmap za skeniranje udaljenih hostova:
[e-pošta zaštićena]: ~ $ sudo nmap 93.184.216.34Također, možemo koristiti ime hosta udaljenog poslužitelja umjesto IP adrese:
[zaštićena e-poštom]: ~ $ sudo nmap www.primjer.comNaredba nmap također se može koristiti za skeniranje niza IP adresa. U naredbi navedite raspon IP adresa, kao u naredbi ispod:
[e-pošta zaštićena]: ~ $ sudo nmap 192.168.1.1-10Gornja naredba skenirat će sve IP adrese s 192.168.1.1 do 192.168.1.10, a rezultat će prikazati u terminalu. Za skeniranje portova na podmreži možemo koristiti nmap kako slijedi:
[e-pošta zaštićena]: ~ $ sudo nmap 192.168.1.1/24Gornja naredba će skenirati sve hostove s IP adresama u podmreži definiranoj u naredbi.
Ponekad morate skenirati portove na slučajnim hostovima, koji su u različitim podmrežama i nisu u slijedu, tada je najbolje rješenje napisati datoteku hostova u koju su napisana sva imena hostova, odvojena jednim ili više razmaka, kartica ili novih linije. Ova se datoteka može koristiti s nmap kako slijedi:
[zaštićena e-poštom]: ~ $ sudo nmap -iL domaćini.txt
Možemo koristiti nmap za skeniranje pojedinog porta na sustavu tako što ćemo odrediti port pomoću zastavice '-p', zajedno s nmap, kao u sljedećoj naredbi:
[zaštićena e-poštom]: ~ $ sudo nmap -p 80 localhost
Raspon luka također se može skenirati na sustavu pomoću nmap-a na sljedeći način:
[e-pošta zaštićena]: ~ $ sudo nmap -p 80-85 localhost
Možemo skenirati sve priključke sustava pomoću nmap-a:
[zaštićena e-poštom]: ~ $ sudo nmap -p- localhost
Da biste dobili popis najčešće otvorenih portova na vašem sustavu, možete upotrijebiti naredbu nmap s oznakom '-F':
[zaštićena e-poštom]: ~ $ sudo nmap -F localhost
TCP portovi se mogu skenirati na sustavu pomoću nmap-a dodavanjem oznake '-T', zajedno s naredbom nmap:
[e-pošta zaštićena]: ~ $ sudo nmap -sT localhost
Slično tome, za UDP portove možete upotrijebiti zastavicu '-U' s naredbom nmap:
[e-pošta zaštićena]: ~ $ sudo nmap -sU localhost
Popis otvorenih portova pomoću lsof
Naredba lsof, također poznata i kao 'popis otvorenih datoteka', koristi se za dobivanje informacija o otvorenim datotekama koje koriste različiti procesi u UNIX-u i LINUX-u poput operativnih sustava. Za većinu Linux distribucija ovaj alat dolazi unaprijed instaliran. Instalaciju lsof možemo provjeriti samo provjerom njegove verzije:
[e-pošta zaštićena]: ~ $ lsof -v
Ako ne prikazuje verziju, tada lsof nije instaliran prema zadanim postavkama. Još uvijek ga možemo instalirati pomoću sljedećih naredbi u terminalu:
[zaštićena e-poštom]: ~ $ sudo apt-get update -y[zaštićena e-poštom]: ~ $ sudo apt-get install lsof
Naredbu lsof možemo koristiti zajedno s različitim opcijama. Popis svih dostupnih opcija može se prikazati pomoću sljedeće naredbe u terminalu:
[zaštićena e-poštom]: ~ $ man lsofSada ćemo u ovom odjeljku koristiti lsof za prikaz portova sustava na različite načine:
[e-pošta zaštićena]: ~ $ sudo lsof -i
Gornja naredba prikazala je sve otvorene portove. Naredbu lsof također možemo koristiti za prikaz svih otvorenih utičnica:
[e-pošta zaštićena]: ~ $ sudo lsof -n -P | grep SLUŠAJ
Filtrirane portove možemo popisati na temelju protokola pomoću lsof. Pokrenite donju naredbu za popis svih vrsta TCP veze:
[zaštićena e-poštom]: ~ $ sudo lsof -i tcp
Slično tome, možemo navesti sve vrste UDP veze pomoću lsof na sljedeći način:
[e-pošta zaštićena]: ~ $ sudo lsof -i udp
Popis otvorenih portova pomoću netstata
Netstat, također poznat kao mrežna statistika, program je naredbenog retka koji se koristi za prikaz detaljnih informacija o mrežama. Prikazuje i dolazne i odlazne TCP veze, tablice usmjeravanja, mrežna sučelja itd. U ovom ćemo odjeljku koristiti netstat za popis otvorenih portova u sustavu. Alat netstat može se instalirati izvođenjem sljedećih naredbi:
[zaštićena e-poštom]: ~ $ sudo apt-get update -y[zaštićena e-poštom]: ~ $ sudo apt-get install net-tools -y
Nakon pokretanja gornjih naredbi možete provjeriti instalaciju provjerom verzije netstata:
[zaštićena e-poštom]: ~ $ netstat --version
Ako prikazuje verziju mrežnih alata, tada je instalacija u redu, u suprotnom, ponovno pokrenite naredbe za instalaciju. Da biste dobili pregled svih dostupnih opcija koje se mogu koristiti, zajedno s naredbom netstat, pokrenite sljedeću naredbu:
[zaštićena e-poštom]: ~ $ man netstatPopis svih priključaka za slušanje možemo dobiti pomoću naredbe netstat u Ubuntuu pokretanjem sljedeće naredbe:
[zaštićena e-poštom]: ~ $ sudo netstat -l
Naredba netstat također se može koristiti za filtriranje preslušavanja TCP i UDP priključaka dodavanjem zastavice uz naredbu. Za preslušavanje TCP portova:
[zaštićena e-poštom]: ~ $ sudo netstat -lt
Za preslušavanje UDP portova upotrijebite sljedeću naredbu:
[zaštićena e-poštom]: ~ $ sudo netstat -lu
Da biste dobili popis svih UNIX portova koji slušaju, u terminalu možete pokrenuti sljedeću naredbu:
[zaštićena e-poštom]: ~ $ sudo netstat -lx
Popis otvorenih portova pomoću ss
Naredba ss koristi se za prikaz informacija o utičnicama u Linux sustavu. Prikazuje detaljnije informacije o utičnicama od naredbe netstat. Naredba ss dolazi unaprijed instalirana za većinu distribucija Linuxa, tako da je ne morate instalirati prije upotrebe. Popis svih opcija koje se mogu koristiti zajedno s ss naredbom možete dobiti pokretanjem naredbe 'man' sa ss:
[zaštićena e-poštom]: ~ $ man ssDa biste dobili popis svih veza, bez obzira na njihovo stanje, upotrijebite ss naredbu bez ikakve zastavice:
[zaštićen e-poštom]: ~ $ sudo ss
Da biste dobili popis svih priključaka za slušanje, upotrijebite ss naredbu s oznakom '-l'. Oznaka '-l' koristi se za prikaz samo priključaka za preslušavanje:
[zaštićen e-poštom]: ~ $ sudo ss -l
Da bismo dobili sve TCP portove koji slušaju, možemo upotrijebiti zastavicu '-t' i '-l' zajedno sa ss naredbom:
[e-pošta zaštićena]: ~ $ sudo ss -lt
Slično tome, možemo dobiti popis svih UDP portova koji slušaju pomoću ss naredbe zajedno sa zastavicom '-u' i '-l':
[zaštićena e-poštom]: ~ $ sudo ss -lu
Naredba ss također se može koristiti za dobivanje popisa svih veza s izvorom ili odredišnim portom. U sljedećem ćemo primjeru dobiti popis svih veza s odredišnim ili izvornim portom 22:
[e-pošta zaštićena]: ~ $ sudo ss -at '(dport =: 22 ili sport =: 22)'
Dobit ćete popis svih ulaznih i odlaznih veza ako ste se povezali s udaljenim sustavom pomoću ssh-a.
Zaključak
Administratorima sustava, sigurnosnim profesionalcima i ostalim osobama povezanim s IT-om važno je znati otvorene portove na poslužiteljima. Linux je bogat alatima koji se koriste za dijagnosticiranje mreža i nudi brojne alate koji mogu biti korisni za razne vrste mrežnih aktivnosti. U ovom uputstvu koristili smo neke alate poput netstat, ss, lsof i nmap za provjeru otvorenih portova na Ubuntuu. Nakon što prođete kroz ovaj članak, moći ćete na mnogo načina lako navesti sve priključke za slušanje na vašem Linux poslužitelju.