Upoznajte svoju mrežu iznutra redovitim provjeravanjem otvorenih portova ovim Linux naredbama.

Otvoreni mrežni priključci najlakše su ulazne točke u vašu mrežu. Ponekad se mogu pokrenuti neželjeni servisi na priključcima koji su vidljivi izvana s interneta. U slučaju da su te usluge ranjive, vaša bi mreža bila pod stalnom prijetnjom napada jer se svaki dan cijeli internet masovno skenira u potrazi za ranjivim uslugama na otvorenim portovima.

Naučite kako možete skenirati i vidjeti otvorene portove na svojim Linux sustavima, tako da možete obraniti svoju mrežu od prijetnji.

Što su mrežni priključci?

Mrežni priključci su logičke pristupne točke vašeg sustava koje se mogu koristiti kao kanal za host više usluga. Port je predstavljen 16-bitnim cijelim brojem, tako da je najveći broj porta 65535.

Priključke možete zamisliti poput prozora i vrata kuće - u osnovi sve različite ulazne točke u kuću ili računalo. Priključci su tri vrste: sistemski priključci (1-1023), registrirani priključci (1024-49151) i efemerni ili dinamički priključci (49152-65535).

instagram viewer

Kada pokrenete aplikaciju koja zahtijeva vezu s internetom, ona koristi dinamičke priključke za prijenos i primanje podataka preko mreže. Međutim, kada pokrenete web poslužitelj ili SSH poslužitelj, on se obično veže na portove sustava ili registrirane portove.

Za web poslužitelje koji poslužuju HTTP, zadani sistemski port je 80, a za SSH 22. Ove propise, kao što su rasponi priključaka, razvila je Uprava za dodijeljene brojeve interneta (IANA). Možete proći kroz RFC u vezi s portovima kako biste dobili potpuni popis svih priključaka i njihovih funkcija.

Važno je da znate najčešće ranjive luke tako da možete osigurati da su zatvoreni ili zaštićeni.

1. Provjerite otvorene portove pomoću netstat-a

netstat je popularan uslužni program koji možete koristiti za pregled mrežne statistike vašeg Linux sustava. Dio je paketa net-tools.

Paket net-tools sada je amortiziran zbog nedostatka odgovarajućeg održavanja od strane programera. To je također razlog zašto se možete susresti greška "ifconfig: naredba nije pronađena". prilikom pokretanja popularne naredbe ifconfig na Linuxu.

Dakle, na modernim sustavima možda ćete prvo morati instalirati paket net-tools, a zatim ćete moći pokrenuti naredbu netstat. Evo kako pomoću netstata provjeriti otvorene portove:

netstat -tuln

Objašnjenje naredbe:

  • -t prikazuje TCP portove.
  • -u prikazuje UDP portove.
  • -l prikazuje priključke za slušanje. Zamijenite ovo s a ako želite vidjeti sve luke, bez obzira na njihovu državu.
  • -n prikazuje numeričku vrijednost portova umjesto razlučivanja u nazive usluga. Na primjer, prikaži port 22 umjesto SSH, tj. uslugu koja radi na portu.

2. Provjerite otvorene portove sa ss

ss je moderni ekvivalent alata netstat. Naći ćete ovo unaprijed instalirano u svim modernim distribucijama Linuxa. Sintaksa za provjeru otvorenih portova sa ss je identična netstat.

Evo kako provjeriti otvorene portove s ss-om:

ss -tuln

Objašnjenje naredbe:

  • -t prikazuje TCP portove.
  • -u prikazuje UDP portove.
  • -l prikazuje priključke za slušanje. Zamijenite ovo s a ako želite vidjeti sve luke, bez obzira na njihovu državu.
  • -n prikazuje numeričku vrijednost portova umjesto razlučivanja u nazive usluga. Na primjer, prikaži port 21 umjesto FTP-a, tj. uslugu koja radi na portu.

3. Provjerite otvorene portove s Nmapom

Nmap je jedan od najpopularnijih alata u kibernetičkoj sigurnosti i umrežavanju. To je osnovno ime kada se radi o testiranju penetracije mrežne sigurnosti. Njegova primarna upotreba je skeniranje portova, tako da ne samo da ćete dobiti informacije o otvorenim portovima u vašem sustavu, već i jesu li ranjivi i mogu li se iskoristiti.

Štoviše, ako želite provjeriti otvorene portove u udaljenom sustavu s postavljenim IDS/IPS i postavljenim vatrozidima, ne brinite jer Nmap također može zaobići vatrozide i IDS/IPS s pravim prekidačima.

Pogledaj ovo opsežan vodič o Nmapu za početnike da istražite različite značajke Nmapa i kako ih koristiti. Iako možete, nije preporučljivo pokušavati zaobići vatrozid jer to nije sasvim pouzdano, pa je najbolje SSH pristupiti udaljenom poslužitelju i zatim pokrenuti Nmap na njemu lokalno.

Evo naredbe za provjeru otvorenih portova s ​​Nmapom:

nmap -sTU -sV  -T 5 --min-rate 9000 --min-parallelism 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retries 50 -Pn --disable-arp-ping -n -- skripta vuln, exploit, auth -v -oX 

Objašnjenje naredbe:

  • -sTU postavlja vrstu skeniranja na TCP povezivanje i UDP skeniranje.
  • -T 5 postavlja vremenski predložak na agresivan za munjevito brzo skeniranje (ne preporučuje se na nezaštićenom sustavu jer može rezultirati DoS napadom).
  • -sV uključuje servisno skeniranje.
  • --minimalna stopa 9000 govori Nmapu da šalje 9000 paketa u sekundi.
  • --initial-rtt-timeout 50ms govori Nmapu da u početku čeka 50 ms za odgovor na svaki SYN paket koji pošalje.
  • --max-rtt-timeout 3000ms govori Nmapu da čeka maksimalno 3000ms za odgovor.
  • --min-paralelizam 9000 postavlja minimalni broj istodobnih pokretanja skripte na 9000.
  • --max-retries 50 kaže Nmap-u da pokuša 50 puta da se spoji na port.
  • -Pn onemogućuje ispitivanje pinga.
  • --onemogući-arp-ping onemogućuje ARP ispitivanje.
  • -n onemogućuje DNS rezoluciju.
  • --script vuln, exploit, auth pokreće tri skripte za testiranje različitih vrsta ranjivosti u otkrivenim portovima.
  • -v vraća verbozni izlaz.
  • -vol sprema rezultate u XML datoteku.
  • -6 Izborni parametar za skeniranje IPv6 adresa.

4. Provjerite otvorene portove pomoću lsof

Naredba lsof u Linuxu se koristi za popis otvorenih datoteka. Međutim, ako mu dodate nekoliko prekidača, moći ćete vidjeti otvorene internetske veze i priključke na vašem lokalnom računalu. Evo kako provjeriti otvorene portove pomoću lsof-a:

lsof -i -n

Objašnjenje naredbe:

  • -i navodi sve mrežne i internetske datoteke.
  • -n ne razrješava imena hostova.

5. Provjerite otvorene portove s netcat

netcat je uslužni program naredbenog retka koji vam omogućuje čitanje i pisanje s i na TCP/UDP veze. Imajte na umu da je ovo samo jedna značajka netcat-a. Možete provjeriti njegovu stranicu priručnika koristeći čovjek netcat naredbu da istražite sve njegove značajke i kako ih koristiti.

Evo kako možete koristiti netcat za skeniranje otvorenih portova:

nc -zv  | grep -v "odbijeno"

Objašnjenje naredbe:

  • -z postavlja netcat u način rada skenera.
  • -v vraća verbozni izlaz.
  • grep -v "odbijeno" vraća izlazne retke bez riječi "odbijeno". Ovo je kako bi se spriječilo da se terminal začepi porukama "odbijena veza" kada netcat ne dobije izlaz s porta.
  • 2>&1: Ovo je izborni prekidač koji ćete možda morati uključiti kako bi grep radio kada se netcat izvodi u opširnom načinu. netcat vraća izlaz u stderr (označeno s 2). Dakle, da grep izlaz, morate preusmjeriti stderr na stdout (označeno s 1), a zatim ga procijepiti u grep.

Što dublje poznajete svoju mrežu, to je bolje možete obraniti

Znati koji su portovi otvoreni i koji se servisi izvode na vašem sustavu odličan je korak u obrani od mogućih vanjskih napada. To vam omogućuje traženje i isključivanje nepotrebnih usluga, pronalaženje zastarjelih usluga i također otkriti postoje li zlonamjerne datoteke kao što su bind ili reverse shell backdoors koji se izvode na vašem sustav.

Ako ozbiljno razmišljate o mrežnoj sigurnosti, trebali biste razmisliti o instaliranju i postavljanju IDS rješenja za nadzor svih aktivnosti na vašoj mreži i nametanje skupova pravila za sprječavanje neželjenih veza.