web-dev-qa-db-fra.com

L'affichage de votre adresse IP dans l'URL est-il une mauvaise pratique?

Quelqu'un m'a dit que l'affichage de votre adresse IP dans une URL (comme http://192.0.2.34/default.html) est plus facile à pirater. Est-ce vrai? Je pourrais retrouver n'importe quel nom de domaine et obtenir son numéro IP également.

18
Delmonte

Plus facile à pirater? Plus facile à faire? Potentiellement. L'utilisation d'une adresse IP au lieu d'un nom d'hôte avec une entrée DNS signifie que vous abandonnez une couche de flexibilité de routage qui peut être très bénéfique.

Par exemple, si un logiciel malveillant cible votre adresse IP dans une attaque DoS, si vous utilisez un nom de domaine, vous changez l'adresse IP du site et dans l'enregistrement DNS, et l'attaque est terminée sans que vos utilisateurs connaissent la différence. Cependant, si vos utilisateurs font des demandes directement à votre adresse IP, ce n'est pas une option. Vous êtes lié à cette adresse IP, sauf si vous souhaitez gêner (et éventuellement perdre) vos utilisateurs en cours de route.

45
Xander

Généralement, si votre site est accessible en tant que http://1.2.3.4/ cela impliquerait qu'il n'applique aucune limitation sur le Host: entête. Cela signifierait que vous pourriez y accéder non seulement via l'adresse IP, mais tout nom d'hôte qui s'est résolu à cette adresse - y compris un domaine enregistré par un attaquant et pointé sur elle.

Cela ouvre DNS rebinding attaques, où un attaquant contourne la même politique d'origine en basculant l'adresse IP d'un nom d'hôte entre son propre serveur et le vôtre, et les attaques par cookie où il pointe attacker.com à votre service puis sub.attacker.com à part, permettant au cookie d'être lu à partir du sous-domaine.

Le degré de risque que cela représente dépend de la conception et de l'objectif de votre application. Il est plus susceptible d'être exploitable sur des applications non publiques, où vous disposez d'une autorisation implicite basée sur une plage d'adresses IP privées ou SSO (Windows auth et al); dans ce cas, une application pourrait produire des données sensibles sans interaction de l'utilisateur, et ces données pourraient devenir visibles pour un tel attaquant.

Sans le savoir, la voie la plus sûre est de limiter ce que le Host: l'en-tête peut contenir pour les requêtes HTTP. Cela signifie généralement configurer des serveurs virtuels basés sur l'hôte et autoriser uniquement les noms d'hôte connus à frapper vos applications Web, auquel cas les noms d'hôte de l'attaquant et l'accès direct à l'adresse IP frapperaient une page d'erreur.

Mais vous pourriez certainement proposer une vérification personnalisée qui n'autoriserait qu'une adresse IP et pas tout autre nom d'hôte, si vous le vouliez vraiment - donc non, ce n'est pas l'adresse IP qui est un problème en soi.

Et/ou utilisez simplement HTTPS, qui offre une assurance plus étanche que vous atteignez le bon serveur.

17
bobince

Contrairement aux autres réponses, je considère que l'utilisation d'adresses IP au lieu de noms d'hôtes est une mauvaise pratique pour un certain nombre de raisons. Notamment:

  1. Il est beaucoup plus difficile pour un utilisateur moyen de vérifier qu'il parle avec le bon service et non avec un site de phishing: il doit se souvenir d'un grand nombre au lieu d'un nom.

  2. L'utilisation d'adresses IP implique que vous ne pouvez pas utiliser https avec un certificat valide.

  3. Les adresses IP peuvent être réaffectées pour un certain nombre de raisons, et toutes ne sont pas sous votre contrôle. Ainsi, quelqu'un d'autre peut obtenir votre adresse IP actuelle.

  4. Une façon courante de gérer d'énormes quantités de trafic (par exemple, une attaque DDoS) consiste à pointer l'entrée DNS vers un énorme réseau de mise en cache distribué. En utilisant une adresse IP, vous excluez cette option efficace et relativement peu coûteuse.

6

L'utilisation de l'adresse IP à la place du domaine n'est pas une mauvaise pratique sécurité, car un attaquant pourrait l'obtenir trivialement.

Une simple commande de terminal comme nslookup peut vérifier toute adresse IP résolue par le domaine donné. De plus, si le domaine est connecté à une seule adresse IP, ping fait aussi bien le travail.

Donner l'adresse de votre [site Web] dans un sens ou dans l'autre ne la rend pas plus "piratable" qu'elle ne l'est peut-être déjà.

1
Gurzo

Cela ne peut pas être un problème de sécurité car tout le monde peut trouver l'adresse IP du domaine.
par exemple, vérifiez ceci: ip-lookup

0