Comment détecter une connexion VPN ou proxy?
Je voudrais bloquer toutes les connexions de mon serveur que l'utilisation d'un VPN ou un Proxy. Est-il de toute façon à détecter qu'un VPN ou un proxy de connexion est utilisé? Si non, est-il de toute façon que je peux vérifier la probabilité qu'un VPN ou un proxy est utilisé? Enfin, est-il quelque chose que je peux requête ou une invite à l'utilisateur de vérifier si elles sont à l'aide d'un VPN ou un Proxy, de sorte que si quelqu'un fait passer à travers, je peux essayer et d'effectuer une vérification supplémentaire? Je n'ai pas besoin de toute l'information de l'utilisateur, tels que l'emplacement, la vraie IP, ou quelque chose comme ça. Je veux juste entièrement connexions de la barre de Vpn ou proxy.
Edit: j'ai pensé que je pourrais potentiellement exécuter un test pour voir si il est compatible écarts entre les ping de l'IP VPN et l'détectable temps de latence du client, mais qui semble assez peu fiable.
Edit2: Un serveur proxy ou VPN aurait probablement beaucoup plus de ports ouverts qu'une maison standard de connexion donc je peux utiliser le nombre de ports ouverts pour aider à évaluer la probabilité d'un lien provenant d'un VPN par l'exécution d'un scan de ports de la personne qui se connecte.
source d'informationauteur Zach Sugano
Vous devez vous connecter pour publier un commentaire.
Malheureusement, il n'y a pas de moyen technique pour obtenir les informations que vous souhaitez. Vous pourriez inventer quelques tests, mais ceux-ci ont une très faible corrélation avec la réalité. Donc, soit vous ne serez pas attraper ceux que vous voulez, ou vous aurez un plus grand nombre de faux positifs. L'un ne peut être considéré comme un sens.
De générer toute sorte de trafic vers l'arrière à partir d'un serveur Internet en réponse à l'arrivée d'un client (un scan de ports, ou même un simple ping) est généralement mal vu. Ou, dans le cas d'un scan de ports, il peut être encore pire pour vous, par exemple, lorsque le client vit derrière une centrale de pare-feu d'entreprise, le pire c'est quand le client vient de derrière le gouvernement central pare-feu de réseau de la piscine...
Franchement, IP interdictions (ou en fait n'importe quel type de limiter concentrer sur les gens qui ne sont pas exclusivement possèdent leur adresse IP publique: les serveurs proxy, Vpn, NAT, etc) ont été irréaliste pour une longue période, et que l'IPv4 piscines ont été épuisés dans de nombreuses parties du monde, les Fai mettent de plus en plus de clients derrière les grands NAT piscines (c'est les nouvelles de la semaine, dans mon pays, que le plus grand fournisseur de services internet, filiale de Deutsche Telekom, a commencé à distribuer privé adresses IPv4 comme un moyen standard de l'entreprise à ses clients, et les gens doivent demander au fournisseur explicitement pour obtenir une adresse IP publique), donc il n'y a même de moins en moins de point à le faire. Si vous souhaitez interdire clients, vous devez leur interdiction fondée sur l'identité (compte), et non pas basé sur l'adresse IP.
La façon la plus simple pour ce faire est d'utiliser un service externe comme une API pour bloquer les VPN ou proxy utilisateurs.
MaxMind et GetIPIntel à la fois l'offrir via l'API, vous pouvez lui donner un essai. GetIPIntel fournit gratuitement de l'API de service donc je vous suggère d'essayer le premier.
Pour OpenVPN, quelqu'un a utilisé unique MSS valeurs pour identifier les connexions VPN mais la configuration est complexe et il peut être corrigé maintenant.
Les stratégies que vous avez mentionné dans vos modifications ne semble pas être une très bonne idée parce que vous allez courir dans de nombreux faux positifs. Envoyer les scans de ports dès qu'ils se connectent à votre service va prendre beaucoup de temps et de ressources avant d'obtenir les résultats.
Vous pouvez utiliser l'API web est que garder une trace des adresses IP pour vous comme: http://xioax.com/host-blocker/
Il n'y a même Bibliothèque Java: https://github.com/HiddenMotives/Java-VPNDetection
Vous pouvez voir que :
La détection de la connexion VPN
Mais la réponse courte est non, vous ne pouvez pas.
Vous pouvez télécharger une liste des adresses IP de proxy et de recherche en local pour voir si il est VPN, proxy ouvert etcs.
Il y a plusieurs produits commerciaux sur le marché. IP2Proxy LITE est un gratuit vous pouvez essayer immédiatement.
Oui, vous pouvez détecter si une IP appartient à un VPN/proxy à l'aide de Shodan. Le code Python suivant montre comment le faire:
Vous pouvez également consulter la liste des ports pour déterminer la probabilité que le visiteur se connecte à partir d'un proxy HTTP: