X-Forwarded-For
Der X-Forwarded-For (XFF) ist ein De-facto-Standard-HTTP-Header-Eintrag im Internet. Der Header dient dazu, die IP-Adresse des Benutzers zu übermitteln, wenn dieser durch einen Proxy auf einen Webserver zugreift.
Meistens gehören diese Proxys zu großen Internet Service Providern (ISP), die die Kunden entweder ermutigen oder zwingen (im Fall von AOL bei Verwendung der hauseigenen Software oder bei einigen Mobilfunknetzbetreibern zur Kompression), den oder die Proxy-Server zu nutzen. In einigen Fällen sind diese Proxys transparent und arbeiten lediglich als Cache, da der Traffic dann nicht mehr das Netz des Providers verlassen muss (und damit den ISP weniger kostet).
Bei intransparenten Proxys hingegen ist dem Gegenüber nur die IP-Adresse des Proxys bekannt, er hat keinen Einblick in die reale Adresse des Clients. Dies macht den Proxy zu einem Anonymisierungsdienst. XFF wurde geschaffen, um dem Server die Möglichkeit zu geben, Clients eindeutig zu identifizieren. Ohne den XFF-Header würde ein Webserver nur die IP-Adresse des Proxys sehen, aber nicht die echte IP-Adresse des Benutzers.
Format
X-Forwarded-For: client1, proxy1, proxy2
client1 ist die ursprüngliche IP-Adresse des Clients. proxy1 und proxy2 sind die IP-Adressen der dazwischengeschalteten Proxys. Die erste IP-Adresse ist immer die des Originalclients und die letzte die des Proxys, der den Request vor dem Proxy durchgeleitet hat, dessen IP-Adresse der Server sieht (proxy3).
Der XFF-Header ist dadurch für Fälschungen anfällig. Abhilfe schafft hier eine Liste von bekannten, vertrauenswürdigen Proxys – wenn alle beteiligten Proxys auf einer solchen Liste verzeichnet sind, so ist anzunehmen, dass die übergebene Client-IP-Adresse korrekt ist.
Software
XFF-Senden wird von vielen Proxys unterstützt, u. a. Squid,[1] Apache mod_proxy,[2] Pound,[3] Varnish Cache,[4] IronPort Web Security Appliance,[5] Citrix NetScaler, F5 Big-IP, Blue Coat ProxySG, Cisco Cache Engine, Finjan’s Vital Security, NetApp NetCache, USP Secure Entry Server, jetNEXUS, Crescendo Networks’ Maestro, Microsoft ISA Server 2004/2006 mit der Erweiterung Winfrasoft X-Forwarded-For for ISA Server und McAfee Web Gateway.