X-Välitetty-For- X-Forwarded-For

X-Siirretty-For ( XFF ) HTTP-otsikon kenttä on yleinen tapa tunnistaa peräisin IP-osoitteen asiakkaan yhteyden web-palvelimen kautta HTTP- välityspalvelimen tai kuormituksen tasausta .

X-Forwarded-ForHTTP-pyynnön otsikko otettiin käyttöön Squid välimuistiin välityspalvelimen kehittäjille.

X-Forwarded-Foron myös sähköpostin otsikko, joka osoittaa, että sähköpostiviesti on välitetty yhdeltä tai useammalta muulta tililtä (luultavasti automaattisesti).

Tässä yhteydessä välimuistipalvelimet ovat useimmiten suurten Internet -palveluntarjoajien palvelimia, jotka joko kannustavat tai pakottavat käyttäjiään käyttämään välityspalvelimia pääsyä varten World Wide Webiin , mikä usein tehdään ulkoisen kaistanleveyden vähentämiseksi välimuistilla. Joissakin tapauksissa nämä välityspalvelimet ovat läpinäkyviä välityspalvelimia , ja käyttäjä ei ehkä tiedä, että he käyttävät niitä.

Ilman XFF: n tai muun vastaavan tekniikan käyttöä kaikki välityspalvelimen kautta tapahtuvat yhteydet paljastavat vain välityspalvelimen alkuperäisen IP -osoitteen ja muuttavat välityspalvelimen anonyymipalveluksi , mikä tekee väärinkäytösten havaitsemisesta ja estämisestä huomattavasti vaikeampaa kuin jos alkuperäinen IP -osoite oli saatavilla. XFF: n hyödyllisyys riippuu siitä, että välityspalvelin ilmoittaa totuudenmukaisesti alkuperäisen isännän IP -osoitteen; tästä syystä XFF: n tehokas käyttö edellyttää tietoa siitä, mitkä välityspalvelimet ovat luotettavia, esimerkiksi etsimällä ne sellaisten palvelimien sallitusta luettelosta, joiden ylläpitäjiin voidaan luottaa.

Muoto

Kentän yleinen muoto on:

X-Forwarded-For: client, proxy1, proxy2

jossa arvo on pilkuilla ja välilyönteillä erotettu IP-osoitteiden luettelo, vasen osa on alkuperäinen asiakas, ja jokainen peräkkäinen välityspalvelin, joka on läpäissyt pyynnön, lisää IP-osoitteen, josta se on vastaanottanut pyynnön. Tässä esimerkissä pyyntö välitettiin välityspalvelimen1, välityspalvelimen2 ja sitten välityspalvelimen3 kautta (ei näy otsikossa). välityspalvelin3 näkyy pyynnön etäosoitteena.

Esimerkkejä:

X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178
X-Forwarded-For: 203.0.113.195
X-Forwarded-For: 2001:db8:85a3:8d3:1319:8a2e:370:7348

Koska X-Forwarded-For-kentän väärentäminen on helppoa, annettuja tietoja on käytettävä varoen. Oikein oleva IP-osoite on aina se IP-osoite, joka muodostaa yhteyden viimeiseen välityspalvelimeen, mikä tarkoittaa, että se on luotettavin tietolähde. X-Forwarded-For-tietoja voidaan käyttää eteenpäin tai taaksepäin välityspalvelimena.

Pelkkä X-välitetty-For-kentän kirjaaminen ei aina riitä, koska ketjun viimeinen välityspalvelimen IP-osoite ei sisälly X-edelleenlähetetty-For-kenttään, vaan se on varsinaisessa IP-otsikossa. Verkkopalvelimen tulee kirjata sekä pyynnön lähde-IP-osoite että X-edelleenlähetetty-For-kenttätiedot täydellisyyden vuoksi.

Välityspalvelimet ja välimuistimoottorit

Useimmat välityspalvelimet tukevat X-edelleenlähetetty-kenttää.

X-Forwarded-For-kirjaamista tukevat monet verkkopalvelimet, mukaan lukien Apache. IIS voi myös käyttää HTTP -moduulia tähän suodatukseen.

Zscaler peittää X-Forwarded-For-otsikon Z-Forwarded-For: lla, ennen kuin lisää oman X-Forwarded-For-otsikon, joka tunnistaa alkuperäisen asiakkaan IP-osoitteen. Tämä estää sisäisten IP -osoitteiden vuotamisen Zscaler -täytäntöönpanosolmuista ja tarjoaa kolmansien osapuolten sisällöntuottajille asiakkaan todellisen IP -osoitteen. Tämä johtaa ei-RFC-yhteensopivaan HTTP-pyyntöön.

Vaihtoehtoja ja muunnelmia

RFC  7239 standardisoi ForwardedHTTP -otsikon, jolla on samanlainen tarkoitus, mutta enemmän ominaisuuksia verrattuna X-Forwarded-ForHTTP -otsikkoon. Esimerkki Forwardedotsikon syntaksista:

Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43

HAProxy määrittää PROXY -protokollan, joka voi kommunikoida alkuperäisen asiakkaan IP -osoitteen käyttämättä X-Forwarded-Fortai Forwarded-otsikkoa. Tätä protokollaa voidaan käyttää useissa siirtoprotokollissa, eikä se vaadi sisäisen protokollan tarkistamista, joten se ei rajoitu HTTP: hen.

Katso myös

Viitteet

Ulkoiset linkit