Dikush pyet pse një përdorues VPN shfaqet në regjistrin e aplikacionit me një adresë që i përket portës, ose me një adresë që ndryshoi pas drekës. Përgjigja fillon me atë që është kjo vlerë: një zë që serveri ueb vendosi në mjedisin e kërkesës. Nuk është një pyetje brenda tunelit, nuk është identitet certifikate dhe nuk është premtim se numri i përket një personi. Leximi i saj si një nga këto të treja prodhon përgjigje të sigurta që janë të gabuara në mënyra të ndryshme.

Vlera vjen nga serveri, jo nga tuneli

PHP merr mjedisin e kërkesës nga ajo që ekzekutoi skriptin. Referenca e variablave të serverit në PHP i përshkruan këto zëra si të krijuar nga serveri ueb, me një disponueshmëri që varet nga mënyra se si mbërriti kërkesa.

Një skript që ekzekutohet si grep i linjës së komandës së VPN është një kontekst ekzekutimi krejt tjetër. Nuk ka kërkesë ueb, nuk ka soket klienti dhe nuk ka REMOTE_ADDR, prandaj kodi ueb i kopjuar në një grep jep vlera boshe në vend të vlerave të gabuara. Grepi ka mjedisin e tij, të mbushur nga daemoni, dhe është dokumentuar veçmas. Të shtrish dorën atje për REMOTE_ADDR do të thotë të shtrish dorën për një variabël që nuk u vendos kurrë.

Mbajeni atë dallim në mendje para se të krahasoni dy regjistra. Ndoshta po krahasoni një kërkesë faqe me një grep, dhe ky nuk është fare krahasim. Kontrolloni së pari kontekstin e ekzekutimit dhe pastaj adresën.

Ndiqni rrugën e kërkesës para se t'i besoni numrit

Adresa e raportuar është pala e lidhjes që pa serveri ueb. Futni çdo gjë midis klientit dhe atij serveri dhe pala ndryshon. Përkthimi, përfundimi dhe balancimi i ngarkesës secili e zhvendos vëzhgimin një hap më larg përdoruesit.

Katër rrugë të zakonshme japin katër vëzhgime të ndryshme.

Path to the listenerWhat can be reported
Client routed straight to the private listener, no translationThe client's tunnel address
Gateway translates the source before forwardingThe gateway's translated address
Reverse proxy terminates the client and opens its own backend connectionThe proxy's backend address
Load balancer in front of two proxiesWhichever hop the server treats as its peer

Shkruani rrugën me emrin e destinacionit, familjen e adresave dhe çdo pikë përkthimi. Pa atë hartë, një vlerë e saktë dhe një e gabuar duken njësoj në një rresht regjistri. Dy rreshta diagrame kursejnë një pasdite debati.

Zëvendësimi ndodh vetëm aty ku është konfiguruar

Një server ose kornizë mund të zëvendësojë me dashje adresën e klientit. Moduli remote-IP i Apache dhe moduli real-IP i NGINX të dy e bëjnë këtë, dhe vlera që merr PHP varet nga ajo konfigurim plus parametrat e kaluar te trajtuesi i skriptit.

Pra REMOTE_ADDR nuk është gjithmonë pala TCP e paprekur. Është pala ashtu si serveri zgjodhi ta raportojë pasi zbatoi politikën e vet. Ai dallim përcakton nëse vlera është provë apo zbukurim.

Pyetni pronarin e serverit cila fushë është autoritative në këtë vendosje dhe si ruhet pala origjinale kur ndodh zëvendësimi. Nëse askush nuk mund të përgjigjet, regjistri ende nuk provon asgjë.

Mos i lexoni kryet e përcjelljes me besim

Thirrësi mund t'i dërgojë vetë kryet e përcjelljes. Trajtimi i zërit të parë të ndarë me presje si adresë e verifikuar e përdoruesit do të thotë të vendosësh t'i besosh kujtdo që lidhet, pikërisht e kundërta e qëllimit të kryes. Krey përshkruan një zinxhir, dhe vetëm një shtresë e besuar mund të garantojë për atë zinxhir.

Përdorni mbështetjen për përfaqësues të besuar të serverit ose kornizës me zinxhirin real të përfaqësuesve të konfiguruar, dhe lëreni të hedhë poshtë vlerat nga burime jashtë atij zinxhiri. Analizimi i shkruar me dorë është vendi ku jetojnë shumica e dështimeve interesante.

Një adresë e raportuar nga përfaqësuesi gjithashtu nuk e ndryshon burimin e paketave që sheh një mur zjarri më lart. Mbajini metadatat HTTP dhe filtrimin e rrjetit si vëzhgime të ndara, sepse përgjigjen për pyetje të ndryshme.

Përdorni identitetin e aplikacionit për vendime

Për akses në të dhënat e një përdoruesi, mbështetuni te principali i vërtetuar dhe te rregullat e autorizimit të aplikacionit. Një adresë e brendshme mund të ricaktohet dhe një adresë e përkthyer mund të përfaqësojë qindra përdorues njëkohësisht. Asnjë nga këto veti nuk mund të rregullohet nga një kontroll adrese.

Nëse operacionet duhet të lidhin një kërkesë me një sesion VPN, lidhni adresën e vëzhguar dhe vulën kohore me regjistrat autoritativë të sesionit sipas modelit të përkthimit që dokumentuat. Kjo prodhon një lidhje që mund ta mbroni; një adresë e vetme jo.

Për diagnostikim, regjistroni ato pak fusha që ju nevojiten në vend të gjithë grupit të serverit, i cili mund të mbajë krye dhe material vërtetimi. Përfundimi i dobishëm thotë çfarë do të thotë kjo vlerë në këtë vendosje, jo cila vlerë i ngjan më shumë një klienti.

Artikuj të ngjashëm