Le fait de connecter des dizaines de milliers de Raspberry Pi à Internet finira par susciter l’intérêt de certaines personnes qui aimeraient faire des choses peu recommandables sur les petits ordinateurs, en particulier lorsque de nombreuses personnes utilisent leur Pi pour créer des serveurs de réseau. Linux est un système d'exploitation solide prêt à l'emploi, mais en dehors du simple changement de mot de passe, que faut-il faire pour "durcir" le Raspberry Pi si j'ai l'intention d'héberger des services Internet sur l'appareil?
Eben Upton a déclaré que "le Raspberry Pi a vendu plus de 200 000 de ses modules informatiques de base et expédie actuellement 4 000 unités par jour" , ajoute Eben Upton . Il est probablement prudent de supposer que des dizaines de milliers de ces 200 000 personnes ont été connectées à Internet. Il est moins sûr de supposer que des dizaines de milliers de ces Raspberry Pis connectés à Internet hébergent un service Web destiné au public, mais le potentiel d'enthousiasme des hackers existe toujours.
Réponses:
Sécuriser un ordinateur n’est pas un processus simple, des livres entiers sont écrits sur le sujet. La taille du Pi ne réduit pas la menace pour la sécurité ou la surface d'attaque présentée à un éventuel attaquant. En conséquence, je vais décrire les étapes et fournir des liens vers des instructions plus détaillées et des tutoriels.
Puisque vous n'avez pas mentionné la distribution que vous utilisez, je supposerai le distro Raspbian recommandé.
J'ai vu que la distribution Raspbian recommandée inclut le serveur Web Apache et l'active au démarrage (quelqu'un peut-il confirmer cette information). Avez-vous vraiment besoin d'un serveur Web en cours d'exécution? Si ce n'est pas le désactiver. Si vous avez besoin d’exécuter Apache, assurez-vous de le sécuriser , et faites de même pour les autres services (par exemple, FTP, NGINX, MySQL, etc.), une recherche google devrait vous fournir plusieurs ressources.Quelques points supplémentaires à prendre en compte:
Vous devez également lire cette question connexe. Comment puis-je me protéger contre les intrusions et les logiciels malveillants avant de le connecter à Internet (en particulier sur une adresse IP publique)? .
Ce n’est que le strict minimum pour sécuriser votre Pi. Pour plus d'informations, vous pouvez lire le manuel de Sécurisation de Debian .
la source
Après avoir examiné le RPi, cela semble être un appareil assez sécurisé, du moment que vous faites quelques choses.
Les besoins par défaut d'utilisateur / passe ont changé. À tout le moins, changez le mot de passe. Pour améliorer encore la sécurité, changez également le nom d'utilisateur. (Ajoutez un nouvel utilisateur, puis désactivez PI. Vérifiez que ROOT est également désactivé à partir de la connexion SSH, bien que ce soit le cas par défaut.)
L'analyse du RPi ne renvoie qu'un seul port ouvert, 22, qui est la connexion SSH, et même cela doit être activé avant qu'il ne s'affiche (bien que la plupart des gens l'utilisent à la place d'un moniteur, d'un clavier et d'une souris, je suppose, surtout sur un serveur {web})
Vous pouvez changer le numéro de port SSH, mais cela ne fera pas grand chose, car le port peut être numérisé assez facilement. Activez plutôt l'authentification par clé SSH.
Vous n'avez maintenant aucun moyen pour quiconque d'entrer dans votre ordinateur sans la clé SSH, le nom d'utilisateur et le mot de passe corrects.
Ensuite, configurez votre serveur Web. Apache est à peu près où il se trouve. Cela surveillera et surveillera le port 80 par défaut, et répondra automatiquement aux connexions des navigateurs servant vos pages Web.
Si vous avez un pare-feu ou un routeur, vous pouvez modifier les ports RPi et laisser le routeur diriger le trafic d’un port à l’autre. Par exemple, le trafic du port 80 dans le routeur est redirigé vers le port 75 du RPi et SSH sur 22 est redirigé vers le port 72. Cela ajouterait une autre couche de protection, mais serait un peu plus complexe.
Gardez tout mis à jour et patché, évidemment.
Cela ne vous protégera pas des attaques qui exploitent des serveurs Java, Flash, SQL, etc. que vous pourriez bien ajouter ultérieurement, mais c'est tout pour les bases, vraiment.
Vous pouvez également ajouter un pare-feu, ce qui ralentira l'accès à un port différent pour tous les utilisateurs de votre système s'ils installent un nouveau service. Votre routeur devrait traiter de cela, mais s'il est directement connecté, configurez-le, et pendant combien de temps cela prend, vous pourriez aussi bien l'exécuter de toute façon - cela n'ajoutera pas beaucoup de ressources système.
Une autre chose que vous voudrez peut-être ajouter est fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ), qui ajoute une règle de pare-feu pour bloquer plusieurs tentatives de connexion, empêchant ainsi les attaques par dictionnaire. Bien que ceux-ci ne puissent pas fonctionner sur votre système si vous avez suivi ce qui précède, si pour une raison quelconque vous devez laisser le mot de passe uniquement l’autorisation SSH (vous vous connectez à distance à partir de nombreuses machines différentes, par exemple), vous éviterez ainsi une attaque par dictionnaire. de travailler. Après le nombre de tentatives que vous spécifiez, il bloquera temporairement toute tentative supplémentaire de cette adresse IP. (Veillez simplement à ne pas voir de routeur / adresse IP locale et interdisez-le trop tôt ou trop longtemps!)
Édité à ajouter: Une fois que tout est correctement configuré, utilisez un outil tel que dd ou Win32DiskImager pour effectuer une sauvegarde complète par bit de votre carte SD. De cette façon, si quelque chose ne va pas, vous pouvez le restaurer sur la même carte ou l'écrire sur une nouvelle carte et continuer malgré tout. (Mais si piraté, vous voudriez savoir quel trou a été trouvé et fermer celui-là en premier, peut-être!)
la source
linode a un excellent guide sur la sécurisation d’un serveur Linux: http://library.linode.com/securing-votre-serveur . les mêmes règles peuvent être appliquées à la framboise pi
la source
En plus de renforcer le système d'exploitation, vous pouvez également envisager d'utiliser un service de surveillance de la sécurité basé sur le cloud pour surveiller l'activité de / vers / sur votre appareil et recevoir des alertes si quelque chose de indésirable est détecté. De nos jours, quelques outils SIEM basés sur le cloud sont disponibles, et certains (comme siemless) utilisent un modèle freemium afin que les utilisateurs à domicile n’aient pas à payer un centime. Pour utiliser un tel service, vous devez vous familiariser avec des choses comme rsyslog / syslog, qui est une partie standard de toutes les distributions du système d'exploitation Linux.
la source