Quelles sont les meilleures pratiques de sécurité pour sécuriser une caméra IoT distante?

27

J'ai fait un peu de domotique, comme la construction d'une caméra distante qui peut être activée via SSH localement et qui publie des images sur un serveur Linux exécuté par Raspberry Pi.

Je suis cependant curieux de savoir quels protocoles sont les meilleurs à suivre lorsque votre sécurité est derrière un routeur. J'ai utilisé des choses comme Putty et ouvert des ports pour pouvoir creuser un tunnel, mais je n'imagine pas que ce sont les méthodes les plus sécurisées.

Je me demande quels protocoles / outils sont les mieux utilisés lors de l'accès à distance à un système de serveur domestique.

Trevor J. Smith
la source
Avez-vous la possibilité de crypter le flux d'images?
tbm0115
@ tbm0115 J'ai un accès physique à l'appareil. Le savoir-faire technique, pas tant. Je continue d'apprendre.
Trevor J. Smith,
4
Idéalement, je pense que votre caméra crypterait le flux d'images et qu'une application sur un appareil sécurisé du réseau le décrypterait. Alternativement / en plus, vous pouvez potentiellement configurer un réseau séparé ou un sous-réseau dans votre réseau pour exécuter vos appareils IoT et ajouter une sécurité supplémentaire à cette zone du réseau.
tbm0115
Cela a du sens. Cela vaut vraiment la peine d'être exécuté si je veux ajouter quelques appareils supplémentaires au mix. Merci.
Trevor J. Smith
1
Cette question est incroyablement large. Surtout votre titre - étant donné le corps, je suppose que vous êtes spécifiquement préoccupé par la sécurité du réseau ? Néanmoins, cela dépend du type de connectivité réseau dont votre application a besoin.
Gilles 'SO- arrête d'être méchant'

Réponses:

18

PuTTY est en fait assez sécurisé - la session elle-même est cryptée. Cela fait partie de ce que SSH vous offre "prêt à l'emploi". Je fais beaucoup de ce genre de choses moi-même, et voici quelques points clés que je suggérerais:

  • N'ouvrez pas le port 22 au monde - configurez votre serveur SSH pour écouter sur un port non standard (par exemple 22022 ou 2222) sur votre interface WAN
  • Nécessite une authentification pour accéder à toutes les pages Web contenant vos images de sécurité. Même si c'est simple HTTP-AUTH utilisant des fichiers .htaccess, c'est mieux que rien.
  • Utilisez SSL pour parler aux serveurs Web, même s'ils sont derrière votre routeur
  • Utilisez OpenVPN ou une autre technologie VPN pour accéder à vos machines domestiques à partir de tout ce qui se trouve en dehors de votre routeur. Cela évite d'avoir besoin d'un accès SSH direct, bien que j'aime généralement garder SSH direct disponible en cas de défaillance des services VPN.
John
la source
Cela suppose que l'OP utilise Windows.
kenorb
1
Non, ce n'est pas le cas. Les recommandations ci-dessus s'appliquent à tout système d'exploitation, pas seulement à Windows.
John
Putty est un client SSH pour Windows uniquement. Si vous pouvez le reformuler en SSH et donner Putty comme exemple de client SSH, cela sonnerait mieux.
kenorb
1
La seule référence à PuTTY est la première phrase. Tout le reste fait référence à SSH, comme je le voulais.
John
14

Les autres réponses couvrent une grande partie des technologies que vous pouvez utiliser pour protéger votre système. Voici quelques réflexions / philosophies plus générales.

  1. Une DMZ est votre amie - Dans presque tous les cas où vous avez un service face à un réseau externe, une DMZ (voir a.) Sera très bénéfique. Dans ce cas, cela minimisera à la fois la surface d'attaque et les dommages. En limitant le nombre d'appareils dans la DMZ à ceux qui ont besoin d'un accès externe, vous limitez la surface d'attaque. De plus, la DMZ rendra l'accès à votre réseau principal beaucoup plus difficile pour quiconque, minimisant ainsi les dommages.
  2. Liste blanche, pas de liste noire - Par défaut, chaque protocole, port et connexion interne doit être bloqué par défaut. Ce blocage doit être configuré dans l'appareil (si possible), le pare-feu et le routeur. Activez uniquement les options que vous utilisez activement et uniquement pour les appareils qui en ont besoin. Si vous connaissez et devez utiliser un protocole pour un appareil IoT faible (par exemple, les appareils affectés par Mirai), vous devez configurer un appareil (comme un RaspberryPi) pour agir comme relais. Vous isolez complètement l'appareil du réseau et ne communiquez avec lui que via un protocole sécurisé (ssh, vpn etc.) que le RaspberryPi transforme en protocole dont l'appareil a besoin.

AstroDan
la source
2

SSH est un point de départ raisonnable, il est essentiel que vous utilisiez le cryptage TLS, et l'utilisation de mastic pour l'accès ssh est un moyen d'y parvenir. Un VPN en est un autre. Ce qui est vraiment important, c'est que vous utilisez des phrases de passe ou des clés fortes pour accéder aux périphériques de votre réseau et que vous gardiez les périphériques de passerelle à jour.

L'utilisation d'un port non standard est un peu raisonnable, mais ne fait rien pour sécuriser votre réseau si vous laissez votre appareil avec un mot de passe par défaut (ou commun).

Si vous voulez un accès à distance, vous avez besoin d'un port ouvert pour transférer SSH (ou quelque chose de très similaire). Si vous ne faites pas confiance à la mise en œuvre de la sécurité sur la caméra (c'est-à-dire que la dernière mise à jour du micrologiciel remonte à environ 6 mois), vous devez utiliser un VPN pour créer un segment de réseau isolé. S'il dispose du WiFi et d'un ancien firmware, il pourrait aussi bien être grand ouvert et public (au moins pour toute personne à proximité physique).

Sean Houlihane
la source