web-dev-qa-db-fra.com

Comment puis-je détecter une connexion VPN (même juste dans certains cas) pour obtenir l'emplacement réel de l'utilisateur

Je crée un site Web, je voudrais autoriser les gens à s'inscrire uniquement à partir de leur "vrai" emplacement physique (sans utiliser de VPN).

Je pensais peut-être comparer l'heure locale et l'heure du serveur ... quoi d'autre ...?

Serait-ce une vérification du DNS utilisé et s'il s'agit de l'une des IP DNS ouvertes ... Ou s'il est possible de savoir que les plages IP se sont enregistrées pour les sociétés VPN?

9
Yovav

Découvrir qu'un utilisateur utilise un fournisseur de services VPN n'est pas si difficile. La plupart d'entre eux ont des adresses IP statiques pour leurs passerelles de sortie, il pourrait donc simplement utiliser une liste d'adresses IP connues pour identifier les VPN. Et même lorsqu'ils n'ont pas de liste, une simple recherche DNS inversée peut leur indiquer que l'IP a un nom d'hôte qui est évidemment un fournisseur VPN et non celui attribué par un fournisseur de services Internet normal.

La deanonymisation d'un utilisateur VPN, cependant, peut être plus difficile, car la plupart des services VPN sont conçus spécialement pour éviter cela. Les vecteurs d'attaque possibles sont les empreintes digitales du navigateur et les plugins de navigateur bavards qui en disent plus sur l'utilisateur qu'ils ne le devraient.

12
Philipp

Étant donné que les en-têtes VPN autour de chaque paquet prendront de l'espace puis disparaîtront, ils pourraient examiner la taille du paquet par rapport à MTU pour trouver un moyen de deviner (ce serait une supposition sauvage) que l'utilisateur est derrière un VPN parce que leur les paquets sont toujours plus petits que les autres flux.

Une supposition encore plus sauvage serait qu'ils regardent le temps d'aller-retour (plus précisément, combien de temps entre l'envoi d'un accusé de réception TCP et le retour du prochain paquet). La plupart des ordinateurs sont assez rapides pour tourner en quelques microsecondes. Donc, pour un hôte donné (demandes d'envoi IP unique) si certains/tous les utilisateurs sont derrière un VPN qui mène vraiment à des parties éloignées du monde, la variation de RTT sera énorme (120 ms pour certains, 30 ms pour d'autres, etc.) qui peut former une empreinte digitale de qui est unique et de ce qui pourrait être un VPN vs juste un NAT (où il y a beaucoup d'utilisateurs mais les RTT sont presque identiques.)

6
Jeff Meden

En général, vous ne pourrez pas savoir si quelqu'un provient d'un VPN.

Vous pourrez peut-être trouver certaines plages IP de certaines entreprises qui proposent un VPN, mais ces informations ne seront pas disponibles de manière lisible et deviendront obsolètes très rapidement. Même si vous voulez trouver une bonne liste et la tenir à jour, elle ne sera jamais exhaustive. Lorsque je travaillais pour une multinationale, je pouvais choisir d'acheminer mon trafic via n'importe lequel de leurs bureaux. Toute personne disposant d'une connexion Internet peut proposer des services VPN à ses amis. Si vous essayez de deviner l'emplacement par adresse IP, vous devrez également essayer de détecter les utilisateurs TOR ou liste noire tous les nœuds de sortie TOR.

Notez également que certains fournisseurs d'accès Internet proposent des adresses IP qui ne sont pas géolocalisées correctement, cela peut entraîner des faux positifs et des faux négatifs.

4
David Waters