web-dev-qa-db-fra.com

Comment valider la propriété d'une adresse IP pour l'authentification?

J'ai un site Web où le contenu numérique est derrière un paywall. Nous vérifions que les utilisateurs ont accès par adresse IP. Nos clients sont tous de grandes entreprises, avec des adresses IP statiques. Ainsi, si un utilisateur se trouve sur le réseau de son entreprise, il a automatiquement accès à notre site. Le problème, c’est que nous n’avons aucun moyen de confirmer que les entreprises sont propriétaires de toutes les adresses de la liste qu’elles nous ont communiquées.

Tout le monde a une idée de la façon dont nous vérifions que les entreprises sont réellement propriétaires des adresses IP qu'elles nous ont communiquées.

2
Randy

Vous pouvez envoyer quelqu'un physiquement à la société et vérifier avec un simple "ifconfig" quelle est l'adresse IP ... c'est une solution idiote et c'est vraiment dommage si vous êtes basé aux États-Unis et si la société est en AUS. Vous pouvez penser à autre chose, mais le fait est que vous devriez absolument éviter l'authentification basée sur IP. Supposons que quelqu'un connaisse votre entreprise et l'un de vos clients, qu'il puisse effectuer des tests d'intrusion et découvrir leur adresse IP ... puis, en utilisant l'usurpation d'adresse IP, ils trompent votre système.

Je pense que vous devriez penser à une solution basée sur un certificat X.509 mettant en œuvre une sorte de système challenge-response asymétrique. Il est important d'utiliser la technlogie asymétrique au lieu de symétrique pour être mieux protégé en termes de non-répudiation. Bien entendu, vos clients doivent disposer de certificats valides ... votre société peut agir en tant qu'autorité de certification pour émettre les certificats ... les clients devront alors protéger correctement la clé privée. Une bonne solution pourrait être RSA avec clé 2048 bits et SHA-1 pour la signature (utilisé par Twitter par exemple)

En général, évitez toujours l'authentification par adresse.

1
user33338

La réponse courte est que s’ils vous donnent juste une liste de numéros IP, il n’ya aucun moyen de vérifier qu’ils appartiennent tous à la société. Cependant, pour les grandes entreprises, vous pouvez effectuer une recherche whois sur une plage d'adresses IP et déterminer le propriétaire: http://whois.arin.net/ui

Par exemple, si j'entre 8.8.8.8, cela signifie que 8.8.8.0 - 8.8.8.255 sont attribués à Google, avec divers détails et coordonnées.

Toutefois, la liste des adresses IP qui vous a été fournie par une entreprise peut inclure l'adresse IP du domicile du PDG, qui serait sans aucun doute contrôlée par Verizon ou Comcast, par exemple, ou par un autre fournisseur. Les membres de la société peuvent se rendre à une conférence et avoir besoin d'un accès depuis un hôtel IP.

Une meilleure solution serait d'exploiter le schéma d'authentification d'une entreprise via OAuth ou un autre service Web, ou lorsqu'un utilisateur tente de se connecter à partir d'une adresse IP inconnue, d'exiger un e-mail professionnel valide et de lui envoyer un lien. pour vérification.

1
Digital Chris