UPnP, portovi, zaštitni zidovi, i dalje može biti prilično teško učiniti nešto dostupnim iz vaše mreže tako da se može doći i na spoljne lokacije. Često je teško konfigurisati ruter da šalje ispravan saobraćaj na odgovarajući uređaj u vašoj mreži. Počećemo sa UPnP-om i prosleđivanjem portova.
Da li želite da budete u mogućnosti da dođete do uređaja sa svoje kućne mreže, na primer vašeg NAS-a, čak i kada niste kod kuće? Vaša kućna mreža je podrazumevano obezbeđena na način da to nije samo moguće, jer bi u suprotnom zlonamerne strane mogle da dođu i do vaših mrežnih uređaja. Dakle, morate sami da podesite podešavanja. Neophodno je da znate šta radite, tako da nenamerno ne oslabite bezbednost svoje mreže. Takođe pročitajte: Da li se vaš NAS puni? Можете да урадите ово.
01 Internet slojevi
Ako želite da pošaljete nešto preko interneta od tačke A do tačke B, ovi podaci se šalju kroz više 'slojeva'. Svaki sloj uvek nudi neku dodatnu funkcionalnost za slanje podataka.
Na samom dnu imate fizički sloj, gde se podaci u obliku signala šalju preko kabla ili bežično preko WiFi mreže. Sloj iznad kojeg imate sloj koji šalje podatke preko kabla ili WiFi-a u obliku jedinica i nula i koji takođe proverava greške i ponovo šalje podatke ako je potrebno. Još jedan sloj više imate mogućnost slanja podataka između dva mrežna uređaja, nešto što se radi preko MAC adrese. Svaki sloj je malo apstraktniji, na dnu radite sa fizičkim jedinicama i nulama, iznad toga sa paketima između uređaja i adresa. Dakle, imate više slojeva, gde svaki sloj uvek koristi funkcije i apstrakcije sloja ispod.
Pretpostavimo sada da želimo da pošaljemo tekst „Zdravo, svet!“ našem serveru kod kuće. Mrežni sloj pakuje tekst i pronalazi ruter koji može uzeti paket i proslediti ga na putu do našeg servera. Paket ide jedan sloj dublje dok se ne pretvori u fizičke signale i ne prođe kroz kabl. Na kraju, stiže na naš server, koji čita podatke. Sada pretpostavimo da server takođe odgovara paketom koji kaže „Zdravo, PC!“. Ovaj paket takođe prolazi kroz sve slojeve, na svom putu do našeg računara. Međutim, postoji problem. Paket je stigao na naš računar, ali kako operativni sistem zna za koji program je paket namenjen? Za to postoje kapije. Port nije ništa drugo do poštansko sanduče za program; gde Windows, Linux ili macOS mogu da isporuče podatke tako da program za koji su podaci namenjeni može da ih primi.
02 Prosleđivanje porta
Ako nemate zaštitni zid, pristup svim vašim portovima je otvoren. To i nije tako loše, jer sve dok nijedan program ne otvori port, ništa se ne može dogoditi. Pored toga, Windows ima svoj ugrađeni zaštitni zid. Ako program primeni port i zaštitni zid to dozvoljava, bilo koji računar bilo gde može da pozove vašu IP adresu koristeći taj port i pošalje podatke na njega.
Barem u teoriji to je slučaj… u praksi imate ruter na koji je povezano nekoliko računara, laptopova i tableta. Pretpostavimo da želite da pošaljete podatke na računar negde van sopstvene mreže, onda postoji problem. Vaš ruter radi nešto što se zove NAT ili prevođenje mrežnih adresa. Ovo je neophodno, jer vam vaš internet provajder daje samo jednu IP adresu po internet konekciji i sa tom jednom IP adresom možete da povežete tačno jedan uređaj na internet. Ruter rešava taj problem tako što je jedini direktno povezan sa vašim provajderom i tako usvaja tu IP adresu, a zatim deli IP adrese vašim sopstvenim uređajima.
Dakle, pretpostavimo da želite da pošaljete poruku svom računaru kod kuće iz kafića, onda nema smisla koristiti vašu lokalnu IP adresu koju vam je dodelio ruter, jer ta IP adresa ima značenje samo unutar vaše mreže. Spolja to se ne odnosi ni na šta. Umesto toga, možete koristiti svoju spoljnu IP adresu, u kombinaciji sa svojim portom. Problem je u tome što vaš ruter mora da zna gde podaci moraju da idu. Sa samo eksternom IP adresom i portom, ruter još uvek ne zna za koji računar, tablet ili pametni telefon je paket namenjen. Zbog toga postoji prosleđivanje porta: ovim označavate u ruteru da ako podaci uskoro budu na ovom portu, ti podaci moraju biti prosleđeni na određeni uređaj.
Možda se pitate kako internet još uvek funkcioniše na vašoj mreži. Kada posetite veb lokaciju, podaci se takođe šalju napred-nazad i ti podaci stižu na vaš računar, bez podešavanja prosleđivanja portova. To funkcioniše, jer vaš ruter već primenjuje prosleđivanje portova za veze koje ste postavili iznutra, tako da svi paketi tačno stignu tamo gde treba da budu. Usput, samo prosleđivanje porta nije bezbednosni rizik. Taj rizik dolazi od toga što aplikacija sluša na tom portu. Na primer, ako prosledite port X na računar koji nikada ne ažurirate, to je veliki rizik zbog poznatih bezbednosnih propusta. Zato je važno da uređaj uvek bude ažuriran kada mu prosleđujete port.
03 UPnP
UPnP je skraćenica od Universal Plug and Play. Omogućava uređajima na mreži da "vide" jedni druge. Svaki uređaj može da se oglasi na mreži, što olakšava uređajima da komuniciraju i sarađuju jedni sa drugima. Jedna od funkcija UPnP-a je da dozvoli uređaju da prosleđuje portove, tako da ne morate to da radite ručno.
Pretpostavimo da bi vaš Xbox želeo da prima saobraćaj na portu 32400, tada uređaj može automatski da zatraži to od rutera, koji će kreirati odgovarajuće pravilo i tako proslediti sav saobraćaj na tom portu na vaš Xbox pomoću IP ili MAC adrese . Međutim, UPnP predstavlja bezbednosni rizik. Problem je u tome što UPnP ne koristi nikakav oblik autentifikacije. Malver može tako lako da otvori portove. Problem je u tome što UPnP može da se eksploatiše na daljinu. Mnoge UPnP implementacije proizvođača rutera su nesigurne. U 2013. godini, kompanija je provela šest meseci skenirajući internet da vidi koji uređaji reaguju na UPnP. Ne manje od 6.900 uređaja je odgovorilo, od kojih su 80 posto bili kućni uređaji kao što su štampač, veb kamera ili IP kamera. Stoga preporučujemo da onemogućite UPnP u ruteru. Najvažniji zaključci iz studije nalaze se u okviru 'UPnP safe?'
UPnP Safe?
Glavni zaključci studije bezbednosti UPnP koju je sproveo Rapid7.
- 2,2 odsto svih javnih IPv4 adresa odgovorilo je na UPnP saobraćaj preko Interneta, ili 81 milion jedinstvenih IP adresa.
- 20 odsto tih IP adresa ne samo da je reagovalo na internet saobraćaj, već je takođe, dostupno na daljinu, nudilo API za konfigurisanje UPnP uređaja!
- 23 miliona uređaja koristi ranjivu verziju libupnp-a, široko korišćene softverske biblioteke koja implementira UPnP protokol. Ranjivosti u toj verziji mogu se iskorišćavati na daljinu, zahtevajući samo jedan UDP paket.