Comment sécuriser votre carte Raspberry Pi [Tutorial] | shoppingmaroc.net


Dans ce tutoriel Raspberry Pi, nous allons apprendre à sécuriser notre carte Raspberry Pi. Nous allons également apprendre à implémenter et activer les fonctions de sécurité pour sécuriser le Pi.

Changer le mot de passe par défaut

Chaque Raspberry Pi qui utilise le système d'exploitation Raspbian a le nom d'utilisateur par défaut pi et par défaut mot de passe framboise qui devrait être changé dès que nous démarrons le Pi pour la première fois. Si notre Raspberry Pi est exposé à Internet et que le nom d'utilisateur et le mot de passe par défaut n'ont pas été changés, il devient une cible facile pour les pirates.

Pour changer le mot de passe du Pi au cas où vous utilisez la GUI ouvrir le menu et aller à Préférences et Raspberry Pi Configuration comme indiqué dans Figure 10.1 :

 Figure 10.1

Dans la configuration de Raspberry Pi sous la Onglet Système sélectionnez l'option Modifier le mot de passe, qui vous invitera à fournir un nouveau mot de passe. Après cela, cliquez sur OK et le mot de passe est changé (voir Figure 10.2 ):

 Figure 10.2

Si vous vous connectez via PuTTY avec SSH, ouvrez le paramètre de configuration en exécutant la commande sudo raspi-config comme illustré dans Figure 10.3 :

 Figure 10.3

Une fois la commande exécutée, la fenêtre de configuration s'ouvre. Ensuite, sélectionnez la deuxième option pour changer le mot de passe et terminer, comme indiqué dans Figure 10.4 :

 Figure 10.4

Il vous demandera de fournir un nouveau mot de passe; vous avez juste besoin de le fournir et de sortir. Ensuite, le nouveau mot de passe est défini. Voir Figure 10.5 :

 Figure 10.5

Changement du nom d'utilisateur

Tous les Raspberry Pis ont le nom d'utilisateur par défaut pi qui devrait être changé pour le rendre plus sûr . Nous créons un nouvel utilisateur et lui assignons tous les droits, puis supprimons l'utilisateur pi .

Pour ajouter un nouvel utilisateur, exécutez la commande sudo adduser adminuser dans le terminal. Il vous demandera un mot de passe; fournissez-le, et vous avez terminé, comme indiqué dans Figure 10.6 :

 Figure 10.6

Maintenant, nous allons ajouter notre nouvel utilisateur au groupe sudo afin qu'il a toutes les permissions au niveau racine, comme indiqué dans Figure 10.7 :

 Figure 10.7

Maintenant, nous pouvons supprimer l'utilisateur par défaut, pi en lançant le sudo deluser pi commande. Cela supprimera l'utilisateur, mais son dossier de dépôt / home / pi sera toujours là. Si nécessaire, vous pouvez aussi le supprimer

Rendre sudo nécessite un mot de passe

Lorsqu'une commande est exécutée avec sudo comme préfixe, elle s'exécute avec les privilèges super-utilisateur. Par défaut, exécuter une commande avec sudo n'a pas besoin de mot de passe, mais cela peut coûter cher si un pirate accède à Raspberry Pi et prend le contrôle de tout. Pour vous assurer qu'un mot de passe est requis chaque fois qu'une commande est exécutée avec des privilèges de superutilisateur, éditez le fichier 010_pi-nopasswd sous /etc/sudoers.d/ en exécutant la commande indiquée dans Figure 10.8 :

 Figure 10.8

Cette commande va ouvrir le fichier dans l'éditeur nano ; remplacer le contenu par pi ALL = (ALL) PASSWD: ALL et enregistrez-le

Amélioration de la sécurité SSH

SSH est l'une des techniques les plus courantes pour accéder à Raspberry Pi sur le réseau et devient nécessaire à utiliser si vous voulez le sécuriser.

Sécurité du nom d'utilisateur et du mot de passe

En plus d'avoir un mot de passe fort, nous pouvons autoriser et refuser l'accès à des utilisateurs spécifiques. Cela peut être fait en apportant des modifications dans le fichier sshd_config . Exécutez la commande sudo nano / etc / ssh / sshd_config .

Cela ouvrira le fichier sshd_config ; puis, ajoutez les lignes suivantes à la fin pour autoriser ou refuser des utilisateurs spécifiques:

  • Pour autoriser les utilisateurs, ajoutez la ligne : AllowUsers tom john merry
  • Pour refuser les utilisateurs, ajoutez cette ligne : DenyUsers peter methew

Pour que ces modifications prennent effet, il est nécessaire de redémarrer le Raspberry Pi.

Authentification par clé

Utilisation d'une paire de clés publique-privée pour authentifier un client à un serveur SSH (Raspberry Pi), nous pouvons sécuriser notre Raspberry Pi contre les pirates. Pour activer l'authentification par clé, nous devons d'abord générer une paire de clés publique-privée à l'aide d'outils appelés PuTTYgen pour Windows et ssh-keygen pour Linux. Notez qu'une paire de clés doit être générée par le client et non par Raspberry Pi. Pour notre propos, nous utiliserons PuTTYgen pour générer la paire de clés. Téléchargez PuTTY à partir du lien suivant:

Notez que puTTYgen est livré avec PuTTY, donc vous n'avez pas besoin de l'installer séparément.

Ouvrez le client puTTYgen et cliquez sur Générer comme indiqué dans Figure 10.9 :

 Figure 10.9

Ensuite, nous devons placer la souris sur la zone vide pour générer la clé, comme souligné dans Figure 10.10 :

 Figure 10.10

Une fois le processus de génération de clé terminé, une option permet de sauvegarder les clés publiques et privées séparément pour une utilisation ultérieure, comme illustré dans Figure 10.11 : assurez-vous que votre clé privée est sécurisée: [19659041] Figure 10.11  » width= »418″ height= »411″/>

Nommez le fichier de clé publique rpi_pubkey et le fichier de clé privée rpi_privkey.ppk et transférez le fichier de clé publique rpi_pubkey de notre système Raspberry.

Connectez-vous à Raspberry Pi et sous le référentiel de l'utilisateur, qui est / home / pi dans notre cas, créez un répertoire spécial avec le nom .ssh comme indiqué dans Figure 10.12 :

 Figure 10.12

Maintenant, entrez dans le répertoire .ssh utilisant la commande cd et créant / ouvrant le fichier avec le nom authorized_keys comme indiqué dans Figure 10.13 : [19659046] Figure 10.13  » width= »395″ height= »250″/>

La ​​commande nano ouvre le fichier authorized_keys dans lequel nous allons copier le contenu de notre fichier de clé publique, rpi_pubkey . Ensuite, enregistrez ( Ctrl + O ) et fermez le fichier ( Ctrl + X ).

Maintenant, fournissez le fichier requis autorisations pour votre pi utilisateur pour accéder aux fichiers et dossiers. Exécutez les commandes suivantes pour définir les autorisations:

 chmod 700 ~ / .ssh / (définir l'autorisation pour le répertoire .ssh) 
 chmod 600 ~ / .ssh / authorized_keys (définir l'autorisation pour le fichier de clés) 

Voir [ Figure 10.14 qui montre les permissions avant et après l'exécution des commandes chmod :

 Figure 10.14

Enfin, nous devons désactiver les connexions par mot de passe pour éviter les accès non autorisés Fichier / etc / ssh / sshd_config . Ouvrez le fichier dans l'éditeur nano en exécutant la commande suivante:

 sudo nano etc / ssh / sshd_config 

Dans le fichier, il existe un paramètre #PasswordAuthentication yes . Nous devons décommenter la ligne en supprimant # et en définissant la valeur sur non :

 PasswordAuthentication no 

Enregistrer ( Ctrl + O ) et fermez le fichier ( Ctrl + X). Maintenant, la connexion par mot de passe est interdite et nous pouvons accéder au Raspberry Pi en utilisant le fichier clé seulement.

Redémarrez Raspberry Pi pour vous assurer que toutes les modifications entrent en vigueur avec la commande suivante:

 sudo reboot 

Supposons que Raspberry Pi et le système utilisé pour se connecter à Pi soient identiques.

Maintenant, vous pouvez vous connecter à Raspberry Pi en utilisant PuTTY. Ouvrez le terminal PuTTY et fournissez l'adresse IP de votre Pi. Sur le côté gauche de la fenêtre PuTTY, sous Catégorie développez SSH comme indiqué dans Figure 10.15 :

 Figure 10.15

Puis, sélectionnez Auth qui fournira l'option pour parcourir et télécharger le fichier de clé privée, comme indiqué dans Figure 10.16 :

 Figure 10.16

Une fois le fichier de clé privée téléchargé , cliquez sur Ouvrir et connectez-vous à Raspberry Pi sans mot de passe.

Configuration d'un pare-feu

De nombreuses solutions de pare-feu sont disponibles pour les systèmes d'exploitation Linux / Unix, tels que Raspbian OS dans le cas de Raspberry Pi. Ces solutions de pare-feu ont des tables IP en dessous pour filtrer les paquets provenant de différentes sources et permettre uniquement aux légitimes d'entrer dans le système. Les tables IP sont installées dans Raspberry Pi par défaut, mais ne sont pas configurées. C'est un peu fastidieux de configurer la table IP par défaut. Donc, nous allons utiliser un autre outil, Uncomplicated Fire Wall ( UFW ), qui est extrêmement facile à configurer et à utiliser ufw . ufw exécutez la commande suivante (reportez-vous à Figure 10.17 ):

 sudo apt installez ufw 
 Figure 10.17

Une fois le téléchargement terminé, activez ufw (voir Figure 10.18 ) avec la commande suivante:

 sudo ufw enable 
 Figure 10.18

Si vous voulez désactiver le pare-feu (voir Figure 10.20 ), utilisez la commande suivante:

 sudo ufw disable 
 Figure 10.19

Voyons maintenant quelques fonctionnalités de ufw que nous pouvons utiliser pour améliorer la sécurité de Raspberry Pi.

Autoriser le trafic uniquement sur un port particulier à l'aide de la commande allow comme illustré dans Figure 10.21 :

 Figure 10.20

Restreindre un ccess sur un port utilisant la commande deny comme indiqué dans Figure 10.22 :

Nous pouvons également autoriser et restreindre l'accès à un service spécifique sur un port spécifique. Ici, nous allons autoriser le trafic tcp sur le port 21 (voir Figure 10.23 ):

 Figure 10.22

Nous pouvons vérifier le statut de tous les règles sous le pare-feu utilisant la commande status comme indiqué dans Figure 10.24 :

Restreindre l'accès pour des adresses IP particulières à partir d'un port particulier. Ici, nous refusons l'accès à port 30 à partir de l'adresse IP 192.168.2.1 comme indiqué dans Figure 10.25 :

 Figure 10.24

Pour apprendre Pour en savoir plus sur ufw, visitez https://www.linux.com/learn/introduction-uncomplicated-firewall-ufw.

Fail2Ban

A certains moments, nous utilisons notre Raspberry Pi comme un serveur, qui interagit avec d'autres appareils agir en tant que client pour Raspberry Pi. Dans de tels scénarios, nous devons ouvrir certains ports et autoriser certaines adresses IP à y accéder. Ces points d'accès peuvent devenir des points d'entrée permettant aux hackers de s'emparer de Raspberry Pi et de faire des dégâts.

Pour nous protéger de cette menace, nous pouvons utiliser l'outil fail2ban . Cet outil surveille les journaux du trafic Raspberry Pi, vérifie les tentatives de force brute et les attaques DDOS, et informe le pare-feu installé pour bloquer une demande de cette adresse IP particulière.

Pour installer Fail2Ban, exécutez la commande suivante: [19659049] sudo apt install fail2ban

Une fois le téléchargement terminé, un dossier portant le nom fail2ban est créé au chemin / etc . Sous ce dossier, il y a un fichier nommé jail.conf . Copiez le contenu de ce fichier dans un nouveau fichier et nommez-le jail.local . Cela permettra fail2ban sur Raspberry Pi. Pour copier, vous pouvez utiliser la commande suivante:

 sudo /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Maintenant, modifiez le fichier à l'aide de l'éditeur nano : [19659049] sudo nano /etc/fail2ban/jail.local

Recherchez la section [ssh]. Il a une configuration par défaut, comme indiqué dans Figure 10.26 :

 Figure 10.25

Ceci montre que Fail2Ban est activé pour ssh. Il vérifie le port pour les connexions ssh, filtre le trafic selon les conditions définies dans le fichier de configuration sshd situé au chemin etcfail2banfilters.dsshd.conf analyse les journaux à / var / log / auth.log pour toute activité suspecte, et autorise seulement six tentatives de connexion, après quoi il limite cette adresse IP particulière.

L'action par défaut prise par fail2ban au cas où quelqu'un essaie de pirater est défini dans jail.local comme indiqué dans Figure 10.27 :

 Figure 10.26

Cela signifie que lorsque l'action iptables-multiport est pris contre toute activité malveillante, il fonctionne selon la configuration dans /etc/fail2ban/action.d/iptables-multiport.conf .

Pour résumer, nous avons appris comment sécuriser notre single Raspberry Pi -planche. Si vous avez trouvé ce post utile, consultez le livre Internet des objets avec Raspberry Pi 3, pour interfacer différents capteurs et actionneurs avec Raspberry Pi 3 pour envoyer des données au cloud.

Lire la suite: [19659028] Construire une application actionneur pour contrôler l'illumination avec Raspberry Pi 3

Si vous y allez avec Arduino Uno ou Raspberry Pi 3 pour votre prochain projet IoT?

Construisez votre premier projet Raspberry Pi