¿Se puede suplantar la dirección IP de una solicitud HTTP?


27

En un sitio web que estoy construyendo, planeo registrar las direcciones IP de los envíos, en caso de que sea necesario. No me importan los proxys, pero falsificar su dirección IP sería un fracaso para el propósito.

Para realizar una acción GET completa, (independientemente de si recibió o no, ¿se requiere una dirección IP legítima? ¿O un sitio web recibe correo no deseado con publicaciones de direcciones IP falsas al azar?

(¿POST es diferente?)


2
Otro enfoque es el adoptado por DuckDuckGo: no rastrean las direcciones IP, en caso de que se las soliciten. Consulte su política de privacidad en duckduckgo.com/privacy.html#s3 . Dices "por si es necesario". ¿Tienes buenas ideas de por qué podría ser necesario?
Randy Orrison

Respuestas:


31

No. Bueno si. O tal vez. Depende de dónde obtenga los datos de su "dirección IP" y de si confía en ellos.

Si está tomando la dirección de los propios paquetes IP, puede confiar en que quien envió los paquetes tiene acceso a los paquetes enviados a esa dirección IP. Eso puede significar que es un usuario legítimo de esa dirección IP (para valores adecuadamente limitados de la palabra "legítimo", en esta era de botnets, proxies abiertos y Tor), o que quien envió los paquetes tiene acceso a un sistema intermedio y puede ver los paquetes que está enviando a medida que pasan.

Sin embargo, con la amplia prevalencia de servidores proxy inversos, el paquete IP a menudo puede tergiversar la fuente de la conexión, por lo que se han introducido varios encabezados HTTP para permitir que el proxy proporcione la dirección IP de origen "real". El problema aquí es que debe confiar en quien envía el encabezado para proporcionar información precisa. Además, las configuraciones predeterminadas (o mal copiadas) pueden fácilmente dejarlo abierto a la falsificación de esos encabezados. Por lo tanto, debe identificar si algún proxy inverso está legítimamente involucrado en sus solicitudes y asegurarse de que ellos (y su servidor web) estén configurados y asegurados correctamente.


23

No.

Las conexiones TCP (que utiliza HTTP) requieren comunicación bidireccional. Si bien puede falsificar la IP de origen de un SYNpaquete fácilmente, la SYN-ACKrespuesta del servidor se enrutará a la IP que falsificó en el paquete inicial; no podrá completar la conexión a menos que pueda ver la respuesta del servidor.

Sin embargo, las herramientas de representación anónimas como Tor pueden proporcionar un medio para anonimizar la fuente de una conexión fácilmente; tenga en cuenta que esto puede vencer el control de spam mediante la prohibición de IP fácilmente.


12

Respuesta corta ... no hoy no puedes.

En el pasado, las computadoras eran muy predecibles en los números de secuencia para el tráfico TCP. Eso significa que un atacante simplemente enviaría tráfico legítimo hasta que descubriera los números de secuencia y pudiera adivinar lo que vendría después. Luego enviaría el tráfico TCP para imitar una dirección IP falsificada y el host del otro extremo lo creería. Entonces podrías fingir el apretón de manos de tres vías .

Hoy y yo diría que más de 10 años ... las computadoras son mucho mejores para aleatorizar eso, por lo que es bastante difícil, si no imposible. Sería una pérdida de tiempo en mi opinión que un atacante haga eso.


8

HTTP se ejecuta sobre TCP. Para que TCP funcione, necesita el protocolo de enlace SYN / ACK completo de 3 vías antes de llegar lo suficientemente lejos como para emitir una solicitud GET o POST, por lo que una fuente suplantada simple no hará mucho. Otras formas más avanzadas de suplantación de identidad (MitM) seguirían siendo efectivas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.