L'adresse IP d'une demande HTTP peut-elle être usurpée?


27

Sur un site Web que je construis, je prévois d'enregistrer les adresses IP des soumissions, au cas où cela serait nécessaire. Cela ne me dérange pas les procurations, mais l'usurpation pure et simple de votre adresse IP irait à l'encontre du but.

Pour effectuer une action GET complète, (que vous receviez ou non ou non), une adresse IP légitime est-elle requise? Ou un site Web serait-il spammé avec des messages provenant d'adresses IP usurpées au hasard?

(Le POST est-il différent?)


2
Une autre approche est celle adoptée par DuckDuckGo: ils ne suivent pas les adresses IP, juste au cas où on les leur demanderait. Consultez leur politique de confidentialité sur duckduckgo.com/privacy.html#s3 . Vous dites "juste au cas où c'est nécessaire" - avez-vous de bonnes idées pourquoi cela pourrait être nécessaire?
Randy Orrison

Réponses:


31

Eh bien, oui. Ou peut-être. Cela dépend d'où vous obtenez vos données "d'adresse IP" et si vous leur faites confiance.

Si vous prenez l'adresse des paquets IP eux-mêmes, vous pouvez avoir confiance que la personne qui a envoyé les paquets a accès aux paquets envoyés à cette adresse IP. Cela peut signifier qu'il s'agit d'un utilisateur légitime de cette adresse IP (pour les valeurs limitées appropriées du mot "légitime", à l'ère des botnets, des proxys ouverts et de Tor), ou que celui qui a envoyé les paquets a accès à un système intermédiaire et peut voir les paquets que vous envoyez au fur et à mesure.

Cependant, avec la grande prévalence des proxys inverses, le paquet IP peut souvent déformer la source de la connexion, et donc divers en-têtes HTTP ont été introduits pour permettre à l'adresse IP d'origine "réelle" d'être fournie par le proxy. Le problème ici est que vous devez faire confiance à celui qui envoie l'en-tête pour fournir des informations précises. De plus, les configurations par défaut (ou copier-coller malencontreuses) peuvent facilement vous laisser ouvert à l'usurpation de ces en-têtes. Par conséquent, vous devez identifier si des mandataires inverses sont légitimement impliqués dans vos demandes, et vous assurer qu'ils (et votre serveur Web) sont correctement configurés et sécurisés.


23

Non.

Les connexions TCP (que HTTP utilise) nécessitent une communication bidirectionnelle. Bien que vous puissiez usurper SYNfacilement l' IP source d'un paquet, la SYN-ACKréponse du serveur sera acheminée vers l'IP que vous avez usurpée dans le paquet initial - vous ne pourrez pas terminer la connexion à moins que vous ne puissiez voir la réponse du serveur.

Cependant, des outils de proxy anonyme comme Tor peuvent fournir un moyen d'anonymiser facilement la source d'une connexion - gardez à l'esprit que cela peut vaincre le contrôle du spam en interdisant facilement IP.


12

Réponse courte .. pas aujourd'hui, vous ne pouvez pas.

Dans le passé, les ordinateurs étaient très prévisibles dans les numéros de séquence du trafic TCP. Cela signifie qu'un attaquant enverrait simplement du trafic légitime jusqu'à ce qu'il comprenne les numéros de séquence et pourrait faire une assez bonne estimation de ce qui allait suivre. Ensuite, il enverrait le trafic TCP pour imiter une adresse IP usurpée et l'hôte à l'autre bout croirait. Vous pouvez donc simuler la poignée de main à trois .

Aujourd'hui et je dirais plus de 10 ans .. les ordinateurs sont bien meilleurs pour randomiser cela, donc c'est assez difficile, voire impossible. Ce serait une perte de temps à mon avis pour un attaquant de le faire.


8

HTTP s'exécute sur TCP. Pour que TCP fonctionne, vous avez besoin de la prise de contact SYN / ACK à 3 voies complète avant d'aller assez loin pour émettre une demande GET ou POST, donc une simple source usurpée ne fera pas grand-chose. D'autres formes plus avancées d'usurpation d'identité (MitM) seraient toujours efficaces.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.