2010-04-14 8 views
3

Comment détecter si l'adresse IP pour les données reçues via un formulaire Web provient d'une adresse IP falsifiée?Détecter une adresse IP contrefaite?

Si la détection est possible en PHP, existe-t-il une bibliothèque qui tentera également de trouver l'adresse IP réelle?

+0

Appartient à serverfault.com –

+5

Je pensais que c'était lié à une bibliothèque PHP que ce serait bien ici. Déplacez-le à serverfault si vous pensez que c'est un meilleur endroit. –

Répondre

2

- vous ne pouvez pas. Il ne peut pas y avoir d'adresse IP usurpée.

Voir, HTTP (qui est la base des formulaires Web) s'exécute au-dessus de TCP.

Si je spoofe mon adresse IP dans le processus TCP, je n'arriverai jamais à établir la connexion TCP. Sans connexion TCP établie, je ne peux pas envoyer de données à votre serveur. La connexion de votre côté reste bloquée dans un état semi-ouvert - ce qui était, il y a quelques temps, l'un des vecteurs d'attaque pour une attaque par déni de service (surcharger les serveurs avec des connexions à moitié ouvertes pour que les vrais ne soient pas établi):

Ergo: Afin de compléter la soumission de données de formulaire, j'ai besoin d'ouvrir le canal TCP, pour lequel mes paquets IP doivent fournir l'adresse IP réelle. Où avez-vous eu l'idée que vos soumissions proviennent d'adresses IP usurpées?

+0

Si le site n'utilise pas de syncookies et utilise des numéros de séquence initiaux prévisibles, il est possible de créer une connexion TCP en direct sans réellement utiliser votre adresse IP correcte (puisque vous n'avez pas besoin de voir les réponses). Bien sûr, la solution dans ce cas est que le site utilise des syncookies ou au moins des numéros de séquence initiaux imprévisibles. –

+0

Si une adresse IP donnée est utilisée pour soumettre le même formulaire plusieurs fois, cette adresse IP peut être bannie des futures soumissions? Et il n'y a aucun moyen pour quelqu'un d'en abuser pour interdire l'adresse IP de quelqu'un d'autre? (Mon souci est que l'autoban pourrait être usurpé pour empêcher d'autres personnes d'employer le formulaire.) –

+0

Les adresses IP évidemment ne sont pas assignées par personne ainsi je ne vois pas comment ceci fonctionnerait. Si vous interdisez une adresse IP, l'adresse IP peut être réaffectée à un autre ordinateur, ce qui a) a) l'ordinateur d'origine récupère l'accès et b) le nouvel ordinateur est interdit. En outre, de nombreuses adresses IP seront partagées par de nombreux utilisateurs. Par exemple, si vous interdisez une adresse IP de proxy, vous bannirez tout le monde sur ce proxy, et pas seulement l'agresseur. Le filtrage IP fonctionne très bien pour des choses comme MegaVideo où l'interdiction est sensible au temps (72 minutes), mais vous ne pouvez pas vous débarrasser définitivement de l'abus de cette façon, je ne pense pas. –