Publié le 30 novembre 2016 - par

Une mise à jour de sécurité pour Raspbian

maj_jessie_01Les plus observateurs d’entre vous ont sans doute remarqué que l’image de Raspbian-PIXEL disponible dans l’espace Téléchargements a été mise à jour le 25 novembre 2016.
Lorsqu’une version majeure de l’OS est diffusée, on s’aperçoit habituellement dès que la communauté les utilise qu’il y a quelques petits bugs et problèmes.

Mise à jour de Raspbian Jessie PIXEL

===== traduction d’un article paru sur le blog de la Fondation =====

La Fondation rassemble les correctifs et produit une version 1.1 quelques semaines plus tard. Il n’y a pas d’annonce sur ces correctifs, car il n’y a pas réellement de nouvelle fonctionnalité. Ce sont juste des correctifs apportés pour que les choses fonctionnent comme prévu à l’origine.

Cependant, dans le cas présent, il y a eu quelques changements importants. Ils ne seront pas remarqués par de nombreux utilisateurs, mais pour ceux qui les remarqueront et qui seront impactés voilà quelques explications…

Pourquoi ces modifications ?

Si vous suivez les actualités concernant la technologie, vous avez vu au cours des derniers mois des histoires au sujet de botnets fonctionnant sur des dispositif de l’Internet des objets (IoT). Les pirates utilisent les mots de passe par défaut sur les webcams et autres systèmes pour créer un réseau capable d’envoyer suffisamment de requêtes à un site Web pour le bloquer (attaque DDOS).

maj_jessie_02

La Fondation a toujours essayé de garder le Raspberry Pi aussi ouvert que possible. Il y a un compte d’utilisateur par défaut (pi) avec un mot de passe par défaut (raspberry), et ce compte peut utiliser sudo pour contrôler ou modifier ce qu’il veut sans mot de passe. Ceci facilite la prise en main par les débutants. Il y a également un port SSH ouvert par défaut, afin que les personnes qui utilisent un Raspberry Pi à distance puissent simplement installer la dernière image Raspbian, brancher et utiliser leur Raspberry Pi sans configurer quoi que ce soit.

Malheureusement, les pirates utilisent de plus en plus les accès comme ceux-ci dans pour prendre discrètement le contrôle des appareils. En général, cela n’a pas posé trop de problème avec les Raspberry Pi. Si un Raspberry Pi est sur un réseau privé chez vous, il est peu probable qu’un attaquant puisse l’atteindre. Si vous mettiez un Raspberry Pi sur un réseau public, il fallait être conscient des risques que vous courriez et penser à changer le mot de passe par défaut ou à désactiver SSH.

Mais la menace de piratage est maintenant à un point tel qu’il faut changer d’approche. Même si la Fondation déteste imposer des restrictions aux utilisateurs, son approche relativement détendue de la sécurité pourrait causer des problèmes importants. Avec cette version, ils ont apporté quelques petits changements pour améliorer la sécurité, ce qui devrait suffire à rendre extrêmement difficile la prise de main sur un Raspberry Pi, sans rendre la vie trop difficile aux  utilisateurs.

Qu’est ce qui a changé?

D’abord, SSH sera désactivé par défaut sur les images de Raspbian. SSH (Secure SHell) est un protocole réseau qui permet de se connecter à distance à un ordinateur Linux et de le contrôler à partir d’une interface ligne de commande distante. Comme mentionné plus haut, de nombreux propriétaires de Raspberry Pi l’utilisent pour installer un Raspberry Pi « headless » (sans écran ni clavier) et le contrôlent à partir d’un autre PC.

Auparavant, SSH était activé par défaut.  Les utilisateurs de Raspberry Pi « headless » pouvaient ainsi facilement mettre à jour leur carte SD. L’activation ou la désactivation de SSH nécessite toujours l’utilisation de raspi-config ou de l’application Raspberry Pi Configuration, mais pour y accéder, il faut un écran et un clavier connectés au Pi lui-même, ce qui n’est pas le cas dans les applications « headless ». Le système fournit donc un mécanisme simple permettant d’activer SSH avant le démarrage d’une image.

La partition de démarrage d’un Raspberry Pi est accessible depuis n’importe quelle machine possédant un lecteur de carte SD, sous Windows, Mac ou Linux. Si vous voulez activer SSH, il vous suffit de placer un fichier appelé ssh dans le répertoire /boot/. Le contenu du fichier n’a pas d’importance : il peut contenir n’importe quel texte à votre choix, ou même rien du tout. Lorsque le Raspberry Pi démarre, il cherche ce fichier. S’il le trouve, il active SSH puis supprime le fichier. SSH peut encore être activé ou désactivé à partir de l’application Raspberry Pi Configuration ou raspi-config; C’est simplement un moyen supplémentaire de l’activer si vous ne pouvez pas facilement exécuter l’une de ces applications.

Fenêtre de configuration du Raspberry Pi montrant SSH activé

Cliquez pour agrandir

Le risque avec un port SSH ouvert est que quelqu’un puisse y accéder et se connecter; Pour ce faire, il faut disposer d’un compte d’utilisateur et d’un mot de passe. D’origine, toutes les installations de Raspbian ont le compte d’utilisateur par défaut ‘pi‘ avec le mot de passe ‘raspberry‘. Si vous activez SSH, il faut vraiment changer le mot de passe de l’utilisateur ‘pi‘ pour empêcher qu’un pirate utilise les valeurs par défaut. Pour encourager cela, vous aurez des avertissements lors du démarrage. Si SSH est activé et que le mot de passe de l’utilisateur ‘pi‘ est encore ‘raspberry‘, un message d’avertissement s’affiche chaque fois que vous démarrez le Raspberry Pi, que vous soyez en mode graphique ou en ligne de commande. Il n’y a pas d’obligation de modifier le mot de passe, mais vous serez averti chaque fois que vous démarrez si votre Raspberry Pi est potentiellement à risque.

Message d'avertissement de Raspbian indiquant que SSH est activé et que le mot de passe n'a pas été changé

Cliquez pour agrandir

Traduction : SSH est activé et le mot de passe par défaut de l’utilisateur ‘pi’ n’a pas été modifié.
C’est un risque pour la sécurité – Connectez vous comme utilisateur ‘pi’ et exécutez Raspberry Pi Configuration pour mettre un nouveau mot de passe.

La Fondation espère que ces changements (relativement mineurs) ne causeront pas trop d’inconvénients, mais ils rendront plus difficile la tâche des pirates voulant attaquer le Raspberry Pi.

Y a t-il quelque chose que je dois faire pour protéger mon Raspberry  Pi ?

A ce stade il ne faut pas paniquer ! Il n’y a pas d’information disant que des Raspberry Pi ont été utilisés dans les botnets ou « détournés » en grand nombre. Votre propre Raspberry Pi n’est certainement pas piraté actuellement.

Cependant c’est une bonne pratique de se protéger pour éviter des problèmes à venir. La Fondation suggère donc d’utiliser l’application Raspberry Pi Configuration ou raspi-config pour désactiver SSH si vous ne l’utilisez pas et changer le mot de passe pour l’utilisateur ‘pi‘ si c’est encore ‘raspberry‘.

Pour modifier le mot de passe, vous pouvez soit cliquer sur le bouton Modifier le mot de passe dans la configuration graphique du Raspberry Pi, soit taper passwd sur la ligne de commande, puis suivre les instructions.

Fenêtre de configuration du mot de passe

Cliquer pour agrandir

Cette question a provoqué beaucoup de discussions à la Pi Towers. La Fondation avait de bonnes raison d’adopter une approche « détendue » et elle est plutôt réticente à la changer. Cependant, ils pensent que ces changements sont nécessaires pour protéger les utilisateurs des menaces potentielles actuelles et à venir, espèrent que vous pouvez comprendre ce raisonnement.

Comment puis-je obtenir les mises à jour?

La dernière version de Raspbian avec l’image de PIXEL est disponible sur la page de téléchargements du site Web de la fondation. Notez que l’image non compressée fait plus de 4Go, et certains unzippers un peu anciens ne parviennent pas à la décompresser correctement. Si vous avez des problèmes, utilisez 7-Zip sur Windows et The Unarchiver sur Mac. Ce sont toutes les deux des applications gratuites qui ont été testées et décompressent le fichier correctement.

Pour mettre à jour votre image de Jessie existante avec toutes les corrections de bugs et ces nouvelles modifications de sécurité, tapez ce qui suit dans un terminal ou en ligne de commande :

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y pprompt

Puis redémarrez le Raspberry Pi

Sources

Raspbian

A security update for Raspbian PIXEL

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

27 réflexions au sujet de « Une mise à jour de sécurité pour Raspbian »

  1. Gpapig

    Hier, après plusieurs semaines d’hésitation, je me décide enfin à refaire from scratch un de mes PI, histoire de pouvoir en fair eune image stable et la garder dans un coin.

    Je télécharge raspbian lite, l’installe, impossible de se connecter en SSH, bon ça arrive, je recommence, pas mieux… Tentons avec la version « normale », pas mieux.

    Et vers 22h, un éclair de génie, un petit tour sur le site de la fondation, et en effet, depuis hier il fait faire cette petite maniclette pour accéder aux SSH au boot… ils auraient franchement pu mettre un petit avertissement sur la page de téléchargement des distributions ^^

    Enfin, merci pour l’article et pour le site, que je lis très régulièrement.

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      merci pour ce retour
      je suis d’accord pour le manque de communication
      on avait eu le même phénomène lors de la sortie de PIXEL
      la Fondation s’adresse plutôt à des débutants et devrait mieux accompagner les nouveautés 😉
      on ne lit pas leur blog tous les jours (enfin… moi, non)
      cordialement
      François

      Répondre
  2. CDBI30

    Bonsoir François
    quelle est la différence entre apt-get dist-upgrade et apt-get upgrade
    après un apt-get update ?
    suite à ce tuto, mon PI3 sous PIXEL a mis très longtemps pour se mettre à jour
    Beau reportage à Bedouin

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      merci pour le retour 🙂
      bin… RTFM comme je dis souvent 😉
      man apt-get et ….
      upgrade
      La commande upgrade permet d’installer les versions les plus récentes de tous les paquets présents sur le système en utilisant les sources énumérées dans /etc/apt/sources.list. Les paquets installés dont il existe de nouvelles versions sont récupérés et mis à niveau. En aucun cas des paquets déjà installés ne sont supprimés ; de même, des paquets qui ne sont pas déjà installés ne sont ni récupérés ni installés. Les paquets dont de nouvelles versions ne peuvent pas être installées sans changer le statut d’installation d’un autre paquet sont laissés dans leur version courante. On doit d’abord exécuter la commande update pour que apt-get connaisse l’existence de nouvelles versions des paquets.

      dist-upgrade
      La commande dist-upgrade effectue la fonction upgrade en y ajoutant une gestion intelligente des changements de dépendances dans les nouvelles versions des paquets ; apt-get possède un système « intelligent » de résolution des conflits et il essaye, quand c’est nécessaire, de mettre à niveau les paquets les plus importants avant les paquets les moins importants. Le fichier /etc/apt/sources.list contient une liste de sources où récupérer les paquets désirés. Voyez aussi apt_preferences(5) pour un mécanisme de remplacement des paramètres généraux pour certains paquets.

      ouala ouala 🙂
      cordialement
      François

      Répondre
  3. Thomas57000

    Bonjour
    Je préviens, je suis pas du tout expert en informatique
    J’ai fait les 3 commandes listé plus haut
    Au redémarrage, plus de Bluetooth !!!
    Quand je vais sur l’icone Bluetooth dans Raspbian, j’ai l’indication comme quoi il ne trouve pas de périphérique Bluetooth !!
    Alors que j’ai un Pi 3 !
    Est ce normal ?
    D’avance merci
    Thomas

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      essayez de repartir d’une installation « fraîche » de Raspbian à partir d’une version téléchargée sur la page Downloads.
      Je viens de faire un essai avec la version mise à jour comme ci-dessus sur une enceinte AUKEY en bluetooth et ça fonctionne bien.
      Cordialement
      François

      Répondre
      1. Thomas57000

        En cherchant, j’ai trouvé une commande pour réinstaller les drivers Bluetooth .
        Un reboot et ça marche de nouveau !!!
        J’avais pas le courage de refaire une installation depuis le début !
        Pas trop le temps !
        Merci

        Répondre
      1. Thomas57000

        L’icone était toujours présent, mais j’avais l’info comme quoi , j en’avais plus de périphérique Bluetooth !
        Ça marche maintenant, et c’est temps mieux !
        En tout cas, super site ! Pointu pour mes maigres connaissances, mais pas mal de chose pour me faire avancer dans le monde du Pi !

        Répondre
  4. U03

    La première chose que je fais est de désactiver l’authentification par mot de passe, de forcer l’utilisation des clés SSH et de changer le port de SSH. Ca permet de sécuriser et d’éviter de taper un mot de passe pour chaque machine, juste le mot de passe de la clé SSH.

    Ajout de la clé SSH:
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    cat <> ~/.ssh/authorized_keys
    ssh-dss AAAA…….(mettre votre clé ici)
    EOF
    chmod 600 ~/.ssh/authorized_keys

    Modification de la conf SSH et restart (tester qu’on arrive à se connecter en SSH avant de fermer la session courante)
    sed -i ‘s/^#*Protocol.*/Protocol 2/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*LogLevel.*/LogLevel VERBOSE/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*PermitRootLogin.*/PermitRootLogin yes/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*PubkeyAuthentication.*/PubkeyAuthentication yes/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*RhostsRSAAuthentication.*/RhostsRSAAuthentication no/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*HostbasedAuthentication.*/HostbasedAuthentication no/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*IgnoreRhosts.*/IgnoreRhosts yes/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*PermitEmptyPasswords.*/PermitEmptyPasswords no/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*PasswordAuthentication.*/PasswordAuthentication no/g’ /etc/ssh/sshd_config
    sed -i ‘s/^#*Port.*/Port 1222/g’ /etc/ssh/sshd_config
    service sshd restart

    Répondre
  5. Stef20

    Par chance j’ai downloadé une version de Raspbian Jessie light juste avant ce changement sinon j’aurais pas compris immédiatement pourquoi le SSH ne fonctionnait pas. 🙂

    J’utilise un Raspberry Pi 1b pour mon site web. Pour un site statique ça fonctionne très bien mais avec le monstre WordPress c’est horriblement lent. J’ai installé aucune interface graphique pour ne pas risquer de le ralentir et une console SSH me convient amplement pour ce que je fait. Je me demande a quel point la 3e génération de Raspberry est plus performante pour un serveur web. Mais a ce que je vois ça demande beaucoup plus de puissance électrique et donc le Raspberry doit sûrement devenir plus chaud?

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Stef
      de toute façon on peut forcer le SSH, il suffit de mettre un fichier dans /boot
      Effectivement le Pi 1B avec WordPress c’est pas le top 🙂 surtout si vous avez installé un Apache…
      par contre avec un Raspberry Pi 3 ça fonctionne bien. Je fais des tests de thèmes WordPress sur mon blog avec un RasPi 3 sous lightpd et wordpress et ça tourne plutôt bien. Bon, je suis seul connecté aussi.
      En utilisation normale le CPU se maintient vers 50 degrés. Si on le titille un peu la température grimpe. Sur les Pi 3 que je fais tourner 24/24 et/ou avec une forte charge j’ai pris l’habitude de coller un radiateur sur le CPU.
      cordialement
      François

      Répondre
  6. Jacques Mauduit

    Personnellement, j’utilise, comme beaucoup sans doute, Putty pour me connecter en SSH.
    Et j’utilise aussi Keepass pour gérer de vrais mots de passe, genre 30 caractères alphanumériques choisis de manière aléatoire. En associant les deux, vous pouvez sécuriser l’accès tout en rendant l’utilisation très pratique.
    Dans Putty, sauvegardez une session qui pointe vers votre RaspberryPi (généralement 192.168.***.***) et appelez-la RaspberryPi.
    Dans Keepass, créez une entrée pour la RaspberryPi, renseignez le Nom d’utilisateur et le Mots de Passe et le truc se situe dans la case URL : inscrivez cmd:// »C:\Program Files (x86)\PuTTY\putty.exe » -load « RaspberryPi » -l {USERNAME} -pw {PASSWORD}
    Quand vous voulez ouvrir une session SSH, il ne reste plus qu’à faire Ouvrir l’URL (ou Ctrl U) et c’est tout.
    A utiliser sans modération.

    Répondre
  7. Titouan Vincent

    Salut François 😉

    Ton article est encore une fois juste super MAIS j’ai un petit problème ‘fin un gros problème… Je n’ai pas d’écran compatible avec ma R-Pi 2 et je n’arrive pas a activer SSH en plaçant un fichier appelé ssh dans le répertoire /boot/ (qui n’existe même pas). J’ai vérifié mais le ficher nommé ssh n’est pas supprimé de la carte SD !

    J’attends ta réponse avec impatience 😉

    Merci d’avance

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Titouan
      /boot c’est en fait le répertoire que tu vois lorsque tu lis la carte avec une machine sous Windows.
      Ce répertoire sera monté par Linux comme /boot. Mais sous Windows il ne s’appelle pas /boot
      Il faut mettre un fichier ssh (en minuscule et sans extension !) dans ce répertoire
      attention sous windows quand on n’a pas activé l’affichage des extensions on peut très bien mettre un fichier ssh.txt sans s’en apercevoir 🙁 bin oui, c’est du windows, quoi 😀
      tiens moi au courant
      bonnes fêtes de fin d’année
      @ bientôt
      françois

      Répondre
      1. Titouan Vincent

        Ohlolo… Un grand merci pour ton aide… je viens juste de démarrer ma veille machine sous Unbuntu & MAGIE !!! Je trouve le répertoire /boot ! Reste plus qu’a mettre un fichier nommé ssh & le tour est joué hein !!! en tout cas maintenant je suis super confiant sur la continuité de mon projet… MERCI !!!

        Bonnes fêtes à toi aussi !!!

        Électroniquement 😉

        PS : ton site n’est pas à l’heure… 😉 je te fais confiance pour réparer ça !

        Titouan

        Répondre
  8. Florian

    Bonsoir,

    Meme problème … je ne trouve pas /boot …
    « /boot c’est en fait le répertoire que tu vois lorsque tu lis la carte avec une machine sous Windows. »
    /boot c’est en fait la racine de la carte SD ?.
    Merci pour le petit tuto !!

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Florian
      je ne sais pas si j’ai bien compris la question… je résume ?
      1 – Quand on est sous Linux
      Ce qu’on appelle la « racine » c’est le répertoire principal qui se nomme /
      Ce répertoire racine contient un certain nombre de répertoires :
      pi@raspberrypi:~ $ cd /
      pi@raspberrypi:/ $ ls
      bin debian-binary etc lib media opt root sbin sys usr
      boot dev home lost+found mnt proc run srv tmp var
      Dans la liste on trouve le répertoire boot qui est donc un sous-répertoire de la racine. /boot n’est donc pas la racine 🙂
      2 – Quand on est sous Windows
      La carte SD contient le système. La première partition est formatée dans un format reconnu par Linux. En fait c’est un format reconnu par le processeur du Raspberry Pi qui ne peut booter que sur une partition FAT32 (Windows). Sous Linux cette partition de boot s’appelle /boot (voir ci-dessus) et c’est celle qui est la seule visible sous Windows (y sont pas gentils chez Windows ils refusent de montrer les partitions Linux)
      Vous en saurez plus en lisant http://www.framboise314.fr/booter-le-raspberry-pi-sur-un-disque-dur-usb/
      cordialement
      François

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.