VPN baten atzean PHPren REMOTE_ADDR-k benetan zer esaten dizun
Zure web zerbitzariak emandako balioa da, ez tunelera egindako kontsulta bat. Jarraitu eskaeraren ibilbidea, egiaztatu nork berridatz dezakeen, eta mantendu identitatea aplikazioan.
Norbaitek galdetzen du zergatik agertzen den VPN erabiltzaile bat aplikazioaren erregistroan atebidearena den helbidearekin, edo bazkalostean aldatu den helbidearekin. Erantzuna balio hori zer den hasten da: web zerbitzariak eskaeraren ingurunean jarritako sarrera bat. Ez da tunelera egindako kontsulta bat, ez da ziurtagiri baten identitatea, eta ez da zenbakia pertsona bakarrarena den promesa. Hiruretako edozein bezala irakurtzeak modu desberdinetan okerrak diren erantzun ziurrak sortzen ditu.
Balioa zerbitzaritik dator, ez tunelatik
PHPk eskaeraren ingurunea scripta exekutatu zuenarengandik jasotzen du. PHPren zerbitzari aldagaien erreferentziak sarrera hauek web zerbitzariak sortutakoak direla deskribatzen du, eta haien eskuragarritasuna eskaera nola iritsi zen araberakoa da.
VPNren komando lerroko hook gisa exekutatzen den scripta exekuzio testuinguru guztiz desberdina da. Ez du web eskaerarik, ez bezero socketik eta ez REMOTE_ADDRrik, horregatik hookera kopiatutako web kodea balio hutsak ematen ditu okerren ordez. Hookak daemonak betetzen duen bere ingurunea du, eta bereiz dokumentatuta dago. Han REMOTE_ADDRren bila joatea inoiz ezarri ez zen aldagai baten bila joatea da.
Eduki ezazu desberdintasun hori buruan bi erregistro alderatu aurretik. Baliteke orri eskaera bat hook batekin alderatzen ari zarela, eta hori ez da inolako alderaketa. Egiaztatu exekuzio testuingurua lehenik eta helbidea gero.
Jarraitu eskaeraren ibilbidea zenbakian fidatu aurretik
Jakinarazitako helbidea web zerbitzariak ikusi zuen konexioaren parekoa da. Jarri edozer bezeroaren eta zerbitzari horren artean eta parekoa aldatzen da. Itzulpenak, amaierak eta karga orekatzeak bakoitzak behaketa jauzi bat harago eramaten du erabiltzailetik.
Lau bide ohikoek lau behaketa desberdin sortzen dituzte.
| Path to the listener | What can be reported |
|---|---|
| Client routed straight to the private listener, no translation | The client's tunnel address |
| Gateway translates the source before forwarding | The gateway's translated address |
| Reverse proxy terminates the client and opens its own backend connection | The proxy's backend address |
| Load balancer in front of two proxies | Whichever hop the server treats as its peer |
Idatzi bidea helmugaren izenarekin, helbide familia eta itzulpen puntu bakoitzarekin. Mapa hori gabe, balio zuzena eta okerra berdinak dirudite erregistro lerro batean. Diagramaren bi lerroek arratsalde bateko eztabaida aurrezten dute.
Ordezkapena konfiguratuta dagoen lekuan soilik gertatzen da
Zerbitzari edo framework batek bezeroaren helbidea nahita ordezka dezake. Apacheko remote-IP moduluak eta NGINXeko real-IP moduluak biak egiten dute hori, eta PHPk jasotzen duen balioa konfigurazio horren eta script kudeatzaileari emandako parametren araberakoa da.
Beraz, REMOTE_ADDR ez da beti ukitugabeko TCP parekoa. Zerbitzariak bere politika aplikatu ondoren jakinaraztea aukeratu zuen parekoa da. Desberdintasun horrek erabakitzen du balioa froga edo apaingarri den.
Galdetu zerbitzariaren jabearei zein eremu den autoritarioa instalazio honetan eta nola gordetzen den jatorrizko parekoa ordezkapena gertatzen denean. Inork erantzun ezin badu, erregistroak oraindik ez du ezer frogatzen.
Ez irakurri birbidaltze goiburuak konfiantzaz
Deitzaileak berak bidal ditzake birbidaltze goiburuak. Koma bidez bereizitutako lehen sarrera egiaztatutako erabiltzaile helbidetzat hartzea konektatzen den edonori sinestea erabakitzea da, goiburuaren helburuaren kontrakoa. Goiburuak kate bat deskribatzen du, eta konfiantzazko geruza batek soilik egin dezake kate horren berme.
Erabili zerbitzariaren edo frameworkaren proxy fidagarrien laguntza benetako proxy katearekin konfiguratuta, eta utzi kate horretatik kanpoko iturrietako balioak botatzen. Eskuz idatzitako analisia da huts egite interesgarrien gehienak bizi diren tokia.
Proxy batek jakinarazitako helbideak ez du aldatzen goiko suebaki batek ikusten duen pakete iturria ere. Eduki HTTP metadatuak eta sare iragazketa behaketa bereizi gisa, galdera desberdinei erantzuten dietelako.
Erabili aplikazioaren identitatea erabakietarako
Erabiltzaile baten erregistroetarako sarbiderako, fidatu autentifikatutako printzipalaz eta aplikazioaren baimen arauetan. Barne helbide bat berriro eslei daiteke, eta itzulitako helbide batek ehunka aldi bereko erabiltzaile ordezkatu ditzake. Adierazpen horietako bat ere ez du helbide egiaztapen batek konponduko.
Eragiketen eskaera bat VPN saio batera lotu behar badute, lotu behatutako helbidea eta denbora zigilua erregistro autoritarioekin, dokumentatu duzun itzulpen modeloaren arabera. Horrek defenda dezakezun elkartze bat sortzen du; helbide bakar batek ez.
Diagnostikorako, erregistratu behar dituzun eremu gutxi zerbitzari array osoaren ordez, goiburuak eta autentifikazio materiala eraman baititzake. Ondorio erabilgarriak esaten du zer esanahi duen balio honek instalazio honetan, ez zein balio den bezeroren antzekoena.