web-dev-qa-db-fra.com

Comment puis-je protéger mes appareils connectés à Internet contre la découverte par Shodan?

Il y a eu beaucoup de buzz autour ce récent article CNN à propos de Shodan, un moteur de recherche qui peut trouver et autoriser l'accès à des appareils connectés à Internet non sécurisés.

Shodan fonctionne 24h/24 et 7j/7 et collecte des informations sur environ 500 millions d'appareils et de services connectés chaque mois.

C'est étonnant ce que l'on peut trouver avec une simple recherche sur Shodan. D'innombrables feux de circulation, caméras de sécurité, appareils domotiques et systèmes de chauffage sont connectés à Internet et faciles à repérer.

Les chercheurs de Shodan ont trouvé des systèmes de contrôle pour un parc aquatique, une station-service, une cave à vin d'hôtel et un crématorium. Des chercheurs en cybersécurité ont même localisé des systèmes de commande et de contrôle pour des centrales nucléaires et un cyclotron accélérateur de particules en utilisant Shodan.

Ce qui est vraiment remarquable à propos de la capacité de Shodan à trouver tout cela - et ce qui rend Shodan si effrayant - est que très peu de ces appareils ont une sorte de sécurité intégrée. [...]

Une recherche rapide de "mot de passe par défaut" révèle d'innombrables imprimantes, serveurs et dispositifs de contrôle du système qui utilisent "admin" comme nom d'utilisateur et "1234" comme mot de passe. De nombreux autres systèmes connectés ne nécessitent aucune information d'identification - vous n'avez besoin que d'un navigateur Web pour vous y connecter.

Il me semble que certains de ces appareils ont été sécurisés, mais ne sont pas réellement sécurisés car les mots de passe, etc., sont évidents et/ou inchangés des paramètres par défaut.

Comment puis-je (en tant que personne "normale" ou professionnelle) prendre des mesures pour empêcher mes appareils d'être accessibles par des robots comme Shodan? Existe-t-il d'autres moyens d'atténuer mon risque de découverte par quelque chose comme Shodan?

95
Aarthi

Shodan fait référence à des machines accessibles au public qui fonctionnent comme ceci:

Speak Friend and Enter

Ne le fais pas.

Edit: l'analogie est pertinente! Shodan se connecte aux machines et demande leur "bannière", un texte accessible au public qui peut simplement dire: "pour entrer, utilisez ce mot de passe par défaut: 1234". Vous voudrez peut-être éviter que les gens frappent à la porte par le simple expédient d'installer un calmar géant comme gardien devant la porte (métaphoriquement, un pare-feu), mais, en réalité, il serait beaucoup plus sûr de configurer un mot de passe non par défaut.

89
Tom Leek

Le projet Shodan est assez cool, mais à la base ce n'est pas beaucoup plus qu'une grande base de données nmap honkin. Le projet dispose de scanners qui scannent régulièrement Internet et publient les résultats dans la base de données. Cette base de données est ce que vous recherchez. Puisqu'ils utilisent des routines de détection standard, les protections que vous mettriez pour un scan normal devraient vous protéger ici.

  1. Configurez vos pare-feu de manière appropriée. - Cela signifie que pour tous les services que vous fournissez, limitez-les autant que possible. Si vous n'avez que 5 personnes du marketing utilisant votre application Web, alors le monde entier n'a pas besoin de l'utiliser. Découvrez quelles adresses marketing d'espace utilise et ouvrez-les uniquement à eux. (Vous pouvez également autoriser les solutions d'accès à distance, mais cela dépend de vous).
  2. Nettoyez vos bannières. - De nombreuses bannières, par défaut, donnent des masses d'informations. Par exemple, par défaut, Apache httpd vous dira de quelle version il s'agit, sur quel système d'exploitation il s'exécute, sur quels modules il a été activé, etc. C'est vraiment assez inutile. Apache httpd a des paramètres de configuration pour donner moins d'informations, mais les détails dépendront du service que vous hébergez.
  3. Faites bloquer silencieusement vos pare-feu. Par défaut, de nombreux pare-feu enverront une destination ICMP administrativement interdite lors de la suppression de paquets. Cela permettra au scanner de savoir que quelque chose existe sur ce port, il n'est tout simplement pas autorisé à le toucher. En activant le mode furtif, silencieux ou quel que soit le mode, les connexions expireront simplement du côté du scanner. Pour eux, cela ressemblera à l'hôte n'existe même pas.
62
Scott Pack

Pour la plupart des utilisateurs à domicile, le seul appareil connecté à Internet est leur routeur.

Alors, comment sécurisez-vous le routeur de choses comme Shodan?

  • Tout d'abord, changez le mot de passe par défaut . Toute personne armée d'un outil de numérisation IP (Angry IP Scanner est celui que j'ai essayé) peut vous trouver si elle saisit la plage IP appropriée et entre en contact avec la norme de tourbière admin/admin s'identifier. Que peuvent-ils faire s'ils ont cet accès?
    • Ils peuvent obtenir le mot de passe de votre connexion haut débit (et dans certains cas commencer à voler votre bande passante)
    • Ils peuvent configurer la redirection de port et accéder à vos ordinateurs/appareils.
    • Ils peuvent changer votre serveur DNS et rediriger votre navigation vers leurs clones malveillants de sites Web. À moins que le site utilise SSL, vous ne pourrez pas savoir que cela se produit. Notez que SSL sur le site peut ne pas être suffisant - la plupart des gens ne remarqueraient pas s'ils recevaient des versions http de leurs sites https préférés.
    • Ils peuvent simplement gâcher votre routeur
  • Une autre chose à faire est de désactiver la gestion à distance ( exemple pour les routeurs Linksys ). Cela cache les pages de configuration du routeur au monde extérieur, de sorte que les gens ne peuvent pas entrer même s'ils essaient le forçage brut. (De plus, vous n'apparaîtrez pas dans une analyse IP à moins que vous n'ayez une redirection de port). Notez qu'il y a des cas où vous voudriez que cette option soit activée - je l'ai gardée pendant de brèves périodes de temps lors des tests. Mais généralement, il n'y a aucun mal à le garder.
  • Vérifiez vos règles de redirection de port. Même si vous corrigez les deux problèmes ci-dessus, un port transféré se traduit par une connexion directe à votre ordinateur. Dans la plupart des cas, vous ne devriez pas avoir de ports redirigés. Si vous êtes un joueur, vous pouvez avoir quelques ports spécifiques au jeu. (Habituellement, les ports sont choisis de manière à ne pas interférer avec certains autres services) Assurez-vous que rien ne transmet aux ports 21, 22, 3389. Si c'est le cas, assurez-vous que vos mots de passe ssh/ftp/remote desktop sont sécurisés (ou ssh/ftp/rdp est désactivé). Il y a probablement d'autres ports qui fournissent un moyen facile de reprendre la machine, mais je ne pense à aucun OTOH.

Sur l'ordinateur, vérifiez votre pare-feu. Rendez-le aussi restrictif que possible sans casser les choses.

Notez que pour arrêter Shodan spécifiquement pour un système domestique, vous n'avez besoin que du point 1 ou 2. Cependant, j'ai répertorié le reste car Shodan pourrait facilement s'améliorer pour analyser davantage les connexions du routeur.

40
Manishearth

Donc, la réponse courte est que si vous fournissez un service accessible au public (par exemple sur Internet en général), votre service doit être accessible et donc les moteurs de recherche comme shodan peuvent le trouver, et tout shodan le fait pour indexer les informations accessibles au public.

Ce que vous pouvez faire est de minimiser les informations trouvées par Shodan, en supprimant les bannières des services accessibles et en garantissant également la suppression des informations d'identification par défaut (bonnes pratiques de sécurité standard).

De plus, si le service que vous exécutez n'a pas besoin d'être accessible par tout Internet (c'est-à-dire que seules certaines personnes doivent pouvoir y accéder), l'utilisation de pare-feu pour restreindre les adresses IP source pouvant accéder au service est également une protection efficace contre découverte par des choses comme Shodan.

Une autre protection théorique (que je dirais est une mauvaise approche mais pour des raisons d'exhaustivité, je mentionnerai) est que si vous pouviez trouver les plages d'adresses IP que Shodan utilise, vous pouvez essayer de les bloquer spécifiquement.

Les risques qui font que shodan semble "effrayant" sont qu'il existe un grand nombre de systèmes qui ont été placés sur Internet avec des paramètres par défaut et très peu pensés pour la sécurité. Malheureusement, les personnes qui placent des systèmes sur Internet dans cet état ne sont probablement pas suffisamment conscientes de la sécurité pour prendre des mesures telles que le blocage spécifique de shodan ...

Une autre chose à mentionner est que même bloquer des choses comme shodan ne vous aiderait pas contre des choses comme le projet Internet Census qui s'est produit l'année dernière. Cela a utilisé un grand nombre de systèmes compromis pour analyser tout Internet. La sortie du projet est disponible sous forme de torrent et je serais prêt à parier que de nombreux chercheurs et attaquants recherchent actuellement les données à attaquer (qu'ils trouveront probablement)

15
Rory McCune

un moteur de recherche qui peut trouver et autoriser l'accès à des appareils connectés à Internet non sécurisés.

La vraie question avec Shodan est pourquoi ces appareils sont d'abord connectés à Internet. Cela n'excuse pas la nécessité de modifier les informations de configuration par défaut, mais laisser votre imprimante accessible à tous est tout simplement stupide.

Il existe une mesure de sécurité que vous pouvez utiliser contre ce genre de chose: un VPN pour les travailleurs distants et un pare-feu. C'est un atout pour l'entreprise, alors demandez aux utilisateurs de se connecter au réseau d'entreprise avec toutes les restrictions que cela implique. Ne pas le faire signifie que vous ne savez pas qui se connecte à un appareil de votre réseau. Placez l'appareil derrière un pare-feu et demandez aux utilisateurs de se connecter.

Ensuite, sur l'échec numéro deux - c'est assez évident - changez ces valeurs par défaut. La plupart des organisations ont une sorte de politique de gestion des actifs et cela devrait inclure la gestion des identifiants de connexion, surtout si elles doivent être sur le réseau. L'appareil doit être configuré en toute sécurité.

S'il n'est pas possible de configurer l'appareil en toute sécurité en raison d'un bug introduit par le fabricant, le moteur nous rend service en l'exposant - cela mettra la pression sur ces sociétés pour résoudre leurs problèmes.

Enfin, vous pouvez (et à mon avis devrait) cacher des informations aux serveurs, par exemple Chaînes de version Apache. Cela n'excusera pas ou ne remplacera pas une configuration de sécurité appropriée et un logiciel mis à jour avec diligence, mais il n'y a aucune raison de tout dire à l'attaquant sur votre système.

12
user2213

Si vous avez certains services que vous souhaitez vous exposer sur une IP publique mais que vous souhaitez les cacher du reste du monde, vous pouvez utiliser port knocking pour masquer les appareils des analyses de port générales tout en restant les rendant accessibles sans connexion VPN à quelqu'un qui sait frapper. J'ai plusieurs webcams à la maison auxquelles je souhaite parfois avoir accès depuis le travail, mais le pare-feu au travail ne me permet pas de lancer un VPN sur mon pare-feu domestique.

Donc, je "frappe" 3 ports sur mon pare-feu domestique et il permet des connexions de l'IP de frappe aux caméras.

Le portage est une sécurité assez faible de la part de quelqu'un déterminé à pénétrer votre réseau car les coups sont facilement détectés (les coups sont en fait un mot de passe envoyé en texte brut) , mais le forçage brutal des ports est presque impossible même si un attaquant savait que le détournement de port était en cours d'utilisation - 3 ports aléatoires fournissent environ 48 bits d'entropie de mot de passe, il est donc assez à l'abri d'un pirate aléatoire. Un VPN serait plus sécurisé car il crypte tout.

De plus, comme cela fonctionne au niveau IP, une fois que je déverrouille les ports de mon adresse IP professionnelle, tout le monde au travail peut y accéder car ils partagent tous la même adresse IP. (ils sont à l'extérieur des caméras dans un DMZ que j'utilise habituellement pour surveiller le chien, donc je ne suis pas trop inquiet pour quelqu'un au travail les voyant, mais je ne veux pas vraiment tout monde pour les voir)

Il y a beaucoup plus d'informations sur les avantages/inconvénients du portknocking ici:


Un commentateur a noté que 48 bits d'entropie, ce n'est pas beaucoup, ce qui est vrai avec quelque chose comme un mot de passe où si l'attaquant peut obtenir le hachage, il peut exécuter une attaque hors ligne et tester des millions ou des milliards de combinaisons par seconde. Cependant, étant donné que toute attaque par force brute de suppression de port est limitée par la latence du réseau et les contraintes de bande passante, 48 bits représentent encore beaucoup d'entropie. Pour forcer avec succès un mot de passe, vous devez en moyenne faire N/2 suppositions où dans ce cas N = 2 ^ 48 donc N/2 = 2 ^ 47

Chaque supposition signifie l'envoi de 3 paquets syn pour frapper sur les 3 ports, donc en supposant 60 octets pour un paquet SYN, vous devrez envoyer 2 ^ 47 * 3 * 60 = 2,5 x 10 ^ 16 octets ou 22 pétaoctets.

En utilisant ma connexion Internet à domicile de 15 Mo, il faudrait 510 ans pour envoyer autant de données.

Et cela ignore la latence du réseau, si vous pouviez envoyer le coup et tester immédiatement votre coup avec 1 msec de latence (la latence typique du ping dans le monde réel de mon réseau domestique au premier saut hors du réseau de mon FAI est de 13 ms), cela prendrait 2 ^ 47 msec, ou 4000 ans pour le forcer brutalement.

Et bien sûr, tout cela suppose que vous pouvez faire des suppositions illimitées avant que le démon de port knock ne vous ignore ou avant que je remarque que quelque chose consomme toute ma bande passante entrante (mon FAI le remarquerait certainement et m'étranglerait)

Et il ignore également que le fait de savoir si vous avez réussi a ajouté de l'entropie si vous ne savez pas quel port vérifier - mes caméras écoutent sur certains ports non évidents, de sorte que des annonces supplémentaires sur 16 bits environ sont entropiées.

Donc, comme je l'ai dit, le portage est une sécurité faible car il est si facile à renifler, mais il n'est pas facilement forcé brutalement.

4
Johnny

Assurez-vous simplement que vos appareils sont sécurisés et n'annoncez pas leur présence s'ils n'en ont pas besoin. Vous pouvez utiliser des services tels que Gibson research ShieldsUp pour vérifier facilement si vous avez des ports sur votre connexion réseau qui répondent aux services d'Internet public.

Si vous avez quelque chose qui ne doit pas l'être, désactivez le service et bloquez le port sur votre routeur. Si vous avez besoin du service, assurez-vous qu'il est correctement sécurisé afin qu'il ne puisse pas être facilement utilisé abusivement. Il n'y a pas grand-chose à faire sur le fait que les services accessibles au public qui doivent répondre aux demandes seront détectables par les analyses de port. Essayer d'éviter cela revient à essayer d'éviter que quelqu'un sache où se trouve votre magasin alors qu'il peut simplement conduire dans la rue et regarder le panneau.

Vous pouvez essayer de retirer le signe (supprimer les bannières, changer les ports par défaut, etc.) pour essayer de rendre plus difficile pour quelqu'un de reconnaître ce que fait le magasin (ce qu'est le service), mais vous ne pouvez pas vraiment cacher le fait qu'il y a un immeuble sur le terrain (une prestation sur le port).

2
AJ Henderson

La meilleure défense qui puisse jamais être offerte pour se protéger contre les scans Shodan est la même que pour tous les autres scans.

  • Configurez correctement votre logiciel, HIPS et pare-feu
  • Construisez vos serveurs pour qu'ils s'exécutent dans des conteneurs (c.-à-d. Prisons bsd/conteneurs linux/sandboxie windows).
  • Assurez-vous qu'aucune version vulnérable du logiciel ne s'exécute sur le serveur
  • Limite de débit des connexions abusives (c.-à-d. Connexions non initiées par des humains qui atteignent un pic dans une petite fenêtre)
  • Éliminez les bannières de serveur offertes par votre logiciel
  • Enfin, Null Route toutes les adresses IP abusives. À savoir ceux de Shodan et d'autres inscrits sur les RBL.

La réponse évidente est la première, une suite de sécurité à jour et un logiciel bien configuré fonctionnant avec les derniers correctifs de sécurité. Bien que ce soit la norme commune de nos jours, ce n'est pas différent de simplement jeter votre système aux loups avec une torche. Toute la sécurité (à travers l'histoire dans le monde réel et le monde virtuel) est construite sur des couches.

Si vous construisez votre système pour qu'il fonctionne dans un environnement de type bac à sable, si quelque chose se passe mal, vous pouvez revenir à une version de travail avant le problème et analyser ce qui s'est mal passé à partir de là. Cela a également l'avantage supplémentaire d'être un serveur agile dans lequel si un bogue est introduit pour une raison quelconque, malveillant ou non, vous pouvez simplement repousser vers une version de travail en quelques instants et ne pas avoir de temps d'arrêt.

Limiter et éliminer simplement les bannières et tout autre caractère d'identification rend plus difficile l'énumération des serveurs ou la collecte d'informations, ce qui constitue la première étape de la pénitration.

Enfin, le routage nul et l'utilisation des RBL aident à éliminer les adresses IP abusives bien connues telles que les nœuds malveillants/botnet, les utilisateurs abusifs/malveillants et les sites de piratage en tant que service tels que shodan.

Si vous respectez ces règles, Internet n'est plus un endroit effrayant, car vous avez déjà vaincu les "barbares" avant même de créer des sites sur votre serveur.

1
Dwight Spencer