stringtranslate.com

X-reenviado-para

El campo de encabezado HTTP X-Forwarded-For ( XFF ) es un método común para identificar la dirección IP de origen de un cliente que se conecta a un servidor web a través de un proxy HTTP o un equilibrador de carga .

El X-Forwarded-Forencabezado de solicitud HTTP fue introducido por los desarrolladores del servidor proxy de almacenamiento en caché Squid . [ cita necesaria ]

X-Forwarded-ForTambién es un encabezado de correo electrónico que indica que un mensaje de correo electrónico fue reenviado desde una o más cuentas (probablemente automáticamente). [1]

Sin el uso de XFF u otra técnica similar, cualquier conexión a través del proxy revelaría sólo la dirección IP de origen del servidor proxy, convirtiendo efectivamente el servidor proxy en un servicio anónimo , haciendo así la detección y prevención de accesos abusivos significativamente más difícil que si la dirección IP de origen estaba disponible. La utilidad de XFF depende de que el servidor proxy informe verazmente la dirección IP del host original; Por esta razón, el uso eficaz de XFF requiere saber qué servidores proxy son confiables, por ejemplo, buscándolos en una lista blanca de servidores en cuyos mantenedores se puede confiar.

Formato

El formato general del campo es: [2]

X-Reenviado-Para: cliente, proxy1, proxy2

donde el valor es una lista de direcciones IP separadas por comas y espacios, la más a la izquierda es el cliente original y cada proxy sucesivo que pasó la solicitud agrega la dirección IP de donde recibió la solicitud. En este ejemplo, la solicitud pasó por proxy1 , proxy2 y luego proxy3 (no se muestra en el encabezado). proxy3 aparece como dirección remota de la solicitud.

Ejemplos: [3]

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

Debido a que el encabezado X-Forwarded-For no está formalmente estandarizado, existen algunas variaciones en el formato de la dirección IP. Por ejemplo, algunas implementaciones [ ¿cuáles? ] incluya el número de puerto de los clientes o incluya las direcciones IPv6 entre corchetes incluso sin el número de puerto, similar al formato del Forwardedencabezado más nuevo. Ejemplos:

X-reenviado-para: 203.0.113.195:41237, 198.51.100.100:38523X-reenviado-para: [2001:db8::1a2b:3c4d]:41237, 198.51.100.100:26321X-reenviado-para: [2001:db8::aa:bb]

Uso

Los servidores proxy HTTP agregan o editan el encabezado X-Forwarded-For al reenviar una solicitud. El servidor agrega la dirección del cliente a un encabezado X-Forwarded-For existente separado por una coma, o crea un nuevo encabezado X-Forwarded-For con la dirección del cliente como valor.

Dado que es fácil falsificar un campo X-Forwarded-For, la información proporcionada debe usarse con cuidado. La dirección IP de la derecha es siempre la dirección IP que se conecta al último proxy, lo que significa que es la fuente de información más confiable. Los datos X-Fordered-For se pueden utilizar en un escenario de proxy directo o inverso. Si el servidor está detrás de un proxy inverso confiable y solo permite conexiones desde ese proxy, generalmente se puede asumir que el valor del encabezado es confiable.

Simplemente registrar el campo X-Forwarded-For no siempre es suficiente, ya que la última dirección IP del proxy en una cadena no está contenida en el campo X-Forwarded-For, sino que está en el encabezado IP real. Un servidor web debe registrar tanto la dirección IP de origen de la solicitud como la información del campo X-Forwarded-For para que esté completa.

Alternativas y variaciones

RFC  7239 estandarizó un Forwardedencabezado HTTP con un propósito similar pero con más funciones en comparación con el X-Forwarded-Forencabezado HTTP. [4] Un ejemplo de la Forwardedsintaxis de un encabezado:

Reenviado: for=192.0.2.60;proto=http;by=203.0.113.43Reenviado: for="[2001:db8::1234]"

HAProxy define el protocolo PROXY que puede comunicar la dirección IP del cliente de origen sin utilizar el encabezado X-Forwarded-Foro Forwarded. [5] Este protocolo se puede utilizar en múltiples protocolos de transporte y no requiere inspeccionar el protocolo interno, por lo que no se limita a HTTP.

Ver también

Referencias

  1. ^ "Descripción general de los encabezados de correo analizados". Archivado desde el original el 20 de septiembre de 2014 . Consultado el 5 de mayo de 2014 .
  2. ^ "squid: follow_x_forwarded_for directiva de configuración". Squid-cache.org . Consultado el 12 de noviembre de 2017 .
  3. ^ "X-reenviado-para". Documentos web de MDN . Consultado el 6 de noviembre de 2020 .
  4. ^ Petersson, A; Nilsson, M (junio de 2014). Extensión HTTP reenviada. IETF . doi : 10.17487/RFC7239 . RFC 7239 . Consultado el 20 de febrero de 2020 .
  5. ^ Willy Tarreau: El protocolo PROXY. haproxy.1wt.eu. Recuperado el 24 de diciembre de 2012.

enlaces externos