X'jgħidlek REMOTE_ADDR ta' PHP tassew wara VPN
Dan huwa valur li pprovda s-server web tiegħek, mhux mistoqsija ġot-tunnel. Segwi l-passaġġ tat-talba, iċċekkja min jista' jerġa' jiktebha, u żomm l-identità fl-applikazzjoni.
Xi ħadd jistaqsi għaliex utent tal-VPN jidher fil-log tal-applikazzjoni b'indirizz li jappartjeni lill-gateway, jew b'indirizz li nbidel wara l-ikel. It-tweġiba tibda b'x'inhu dan il-valur: entrata li s-server web poġġa fl-ambjent tat-talba. Mhuwiex mistoqsija ġot-tunnel, mhuwiex identità ta' ċertifikat, u mhuwiex wegħda li n-numru jappartjeni lil persuna waħda. Li taqrah bħala waħda minn dawn it-tlieta jipproduċi tweġibiet kunfidenti li huma ħżiena b'modi differenti.
Il-valur jiġi mis-server, mhux mit-tunnel
PHP jirċievi l-ambjent tat-talba minn dak li eżegwixxa l-iskript. Ir-referenza tal-varjabbli tas-server ta' PHP tiddeskrivi dawn l-entrati bħala maħluqa mis-server web, b'disponibbiltà li tiddependi minn kif waslet it-talba.
Skript li jitħaddem bħala hook tal-linja tal-kmand tal-VPN huwa kuntest ta' eżekuzzjoni kompletament differenti. M'għandux talba web, m'għandux socket tal-klijent u m'għandux REMOTE_ADDR, u għalhekk kodiċi web ikkupjat f'hook jagħti valuri vojta minflok ħżiena. Il-hook għandu l-ambjent tiegħu stess, mimli mid-daemon, u huwa dokumentat separatament. Li tilħaq lejn REMOTE_ADDR hemmhekk ifisser tilħaq lejn varjabbli li qatt ma ġie stabbilit.
Żomm dak id-distinzjoni f'moħħok qabel ma tqabbel żewġ logs. Forsi qed tqabbel talba ta' paġna ma' hook, u dik mhix paragun xejn. Iċċekkja l-kuntest ta' eżekuzzjoni l-ewwel u l-indirizz wara.
Segwi l-passaġġ tat-talba qabel tafda n-numru
L-indirizz irrappurtat huwa l-pari tal-konnessjoni li ra s-server web. Daħħal xi ħaġa bejn il-klijent u dak is-server u l-pari jinbidel. Traduzzjoni, terminazzjoni u bilanċjar tat-tagħbija kull waħda ċċaqlaq l-osservazzjoni pass aktar 'il bogħod mill-utent.
Erba' passaġġi komuni jipproduċu erba' osservazzjonijiet differenti.
| 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 |
Ikteb il-passaġġ bl-isem tad-destinazzjoni, il-familja tal-indirizzi u kull punt ta' traduzzjoni. Mingħajr dik il-mappa, valur korrett u valur ħażin jidhru identiċi f'linja tal-log. Żewġ linji ta' dijagramma jiffrankaw nofs ta' jum ta' argument.
Is-sostituzzjoni sseħħ biss fejn hija kkonfigurata
Server jew framework jista' jissostitwixxi deliberatament l-indirizz tal-klijent. Il-modulu remote-IP ta' Apache u l-modulu real-IP ta' NGINX it-tnejn jagħmlu dan, u l-valur li jirċievi PHP jiddependi minn dik il-konfigurazzjoni flimkien mal-parametri mgħoddija lill-handler tal-iskript.
Għalhekk REMOTE_ADDR mhuwiex universalment il-pari TCP mhux mittiefes. Huwa l-pari kif is-server għażel li jirrappurtah wara li applika l-politika tiegħu stess. Dik id-distinzjoni tiddeċiedi jekk il-valur huwiex prova jew ornament.
Staqsi lis-sid tas-server liema qasam huwa awtorevoli f'dan id-deployment u kif il-pari oriġinali jinżamm meta sseħħ is-sostituzzjoni. Jekk ħadd ma jista' jwieġeb, il-log għadu ma jipprovax xejn.
Taqrax l-intestaturi tal-ibliet bil-fiduċja
Min iċempel jista' jibgħat hu stess l-intestaturi tal-ibliet. Li tittratta l-ewwel entrata mifruda bil-virgola bħala indirizz tal-utent ivverifikat ifisser tiddeċiedi li temmen lil kull min jikkonnettja, l-oppost ta' dak li għalih l-intestatura sservi. L-intestatura tiddeskrivi katina, u biss saff affidabbli jista' jiggarantixxi dik il-katina.
Uża l-appoġġ tal-proxies affidabbli tas-server jew tal-framework bil-katina reali tal-proxies ikkonfigurata, u ħallih jarmi valuri minn sorsi barra minn dik il-katina. L-analiżi miktuba bl-idejn hija fejn jgħixu ħafna mill-ħsarat interessanti.
Indirizz irrappurtat minn proxy lanqas ma jbiddel is-sors tal-pakketti li jara firewall aktar 'il fuq. Żomm il-metadata HTTP u l-iffiltrar tan-netwerk bħala osservazzjonijiet separati, għax iwieġbu mistoqsijiet differenti.
Uża l-identità tal-applikazzjoni għad-deċiżjonijiet
Għall-aċċess għar-rekords ta' utent, iddependi fuq il-prinċipal awtentikat u fuq ir-regoli ta' awtorizzazzjoni tal-applikazzjoni. Indirizz intern jista' jiġi allokat mill-ġdid, u indirizz tradott wieħed jista' jirrappreżenta mijiet ta' utenti simultanji. L-ebda waħda minn dawn il-proprjetajiet ma tista' tiġi msewwija minn verifika tal-indirizz.
Jekk l-operazzjonijiet jeħtieġu jorbtu talba ma' sessjoni tal-VPN, għaqqad l-indirizz osservat u t-timbru tal-ħin mar-rekords tas-sessjonijiet awtorevoli skont il-mudell tat-traduzzjoni li ddocumentajt. Dan jipproduċi assoċjazzjoni li tista' tiddefendi; indirizz waħdu ma jagħmilx hekk.
Għad-dijanjosi, irreġistra ftit oqsma li għandek bżonn minflok l-array sħiħ tas-server, li jista' jġorr intestaturi u materjal ta' awtentikazzjoni. Il-konklużjoni utli tgħid x'ifisser dan il-valur f'dan id-deployment, mhux liema valur jixbah l-aktar klijent.