Débuter avec le RPI3, sécuriser avant tout.

C’est en quelques étapes très simples que je vais vous expliquer ma routine habituelle pour la mise en place de base d’un nouveau RPI3 (j’en ai deux qui tournent jour et nuit sur mon bureau).

Au sortir de la boite le PI est nu, personnellement j’ai pris un bundle comprenant la carte mère avec deux petits répartiteurs de chaleur à coller sur les processeurs, une Sdcard 32Go, le boîtier, l’alimentation et un stick USB pour lire, écrire, flasher la Sdcard et le câble HDMI.

La mise en place physique est simple, je passerai donc l’étape pour arriver au système. Pour ce bundle, la Sdcard est déjà chargée avec Noobs, le système d’installation automatique de distributions, celui-ci propose entre autre Raspbian, Archlinux ARM, LibreElec, Windows 10 IOT… personnellement j’aime reformater la carte et installer moi-même ce que je désire (j’ai testé Raspbian, Gladys pour l’assistance domotique, LibreElec pour le médiacenter). Le premier PI est installé est sous Raspbian et gère un serveur Nextcloud sur lequel sont téléchargées automatiquement et en “real time” de leur prise, toutes les photos de nos smartphones. Le second me sert actuellement à tester un peu tout ce qui se présente et j’ai bien envie de me frotter à Archlinux ARM (Arch que j’ai en dur sur mon PC de bureau) mais aussi la version RPI de Fedora.

En attendant je vais revenir sur ce qui semble être le plus évident si on débute avec le PI : Raspbian. La distro est bien tenue, les aides de la communauté bien achalandées en tutos en tous genres et il est presque impossible de rester coincé face à la petite machine, l’idéal pur débuter.

Donc pour moi, première étape : formatage de la carte SD en ext4 (par habitude mais ça ne changera rien 😉 )

Téléchargement de l’image Raspbian la plus récente ici… : https://www.raspberrypi.org/downloads/raspbian/

…et flash de la carte. J’utilise un excellent outil gratuit : Etcher, que vous pouvez trouver ici : https://etcher.io/ et qui est tellement intuitif que je n’ai pas vraiment d’explications à donner.

Installation de la carte dans le PI et démarrage, tout va très vite et on se retrouve sur l’écran de base.

Il faut savoir qu’au premier démarrage, on se retrouve avec l’utilisateur pi qui est de base, le root (pass : raspbian) donc il va falloir sécuriser tout cela… mais avant, nous allons commencer par les locales et la configuration de base (pensez à modifier le nom d’hôte (raspberry) :

Concernant l’onglet « Performances » si vous désirez utiliser l’interface graphique vous laissez à 64, personnellement je gère mon PI par console en ssh donc 16 (le minimum) c’est bon… on reboot.

comme pour toute nouvelle installation fraîche de Debian on met à jour :

sudo apt-get update

sudo apt-get upgrade

Une bonne chose de faite.

Ensuite je crée un nouvel utilisateur :

sudo adduser nouveauuser

procédure habituelle… renseigner le pass deux fois et c’est fait.

J’ajoute nouveauuser au groupe sudo

sudo adduser nouveauuser sudo

le but étant de sécuriser, nous allons supprimer le user pi qui je le rappelle est root et dont le pass est bien connu de tous…

Déconnexion et reconnexion avec nouveauuser.

Pi étant de base, actif dans plusieurs processus, il faut d’abord les arrêter :

sudo service lightdm stop

sudo systemctl stop autologin@tty1

ensuite on supprime l’existence de pi :

sudo deluser –remove-all-files pi

si le répertoire de /home/pi n’a pas été supprimé :

sudo su (pour se retrouver en super utilisateur) et rm -Rf /home/pi

Reboot et reconnexion en tant que nouveauuser.

Un RPI n’a pas de disque dur, donc préserver la SDcard des écritures multiples est important et dieu sait si les logs sont nombreux et réguliers, les envoyer plutôt en mémoire vive et ne les inscrire sur la carte que toutes les heures, permet la préservation de notre SD.

Nous allons donc éditer le fichier fstab :

sudo nano /etc/fstab

et on y ajoute à la fin ces deux lignes :

tmpfs /tmp tmpfs defaults,noatime,nosuid,size=100m 0 0

tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=30m 0 0

Ctrl+o et Enter pour sauvegarder

Ctrl+x pour sortir de nano

sudo reboot

Le logiciel log2ram va permettre maintenant d’écrire les nombreux logs de Raspbian en mémoire vive (dans les deux répertoires que nous venons de créer et de les sauvegarder toutes les heures en dur.

cd pour revenir à la racine

mkdir download (création du répertoire download)

cd download (on entre dans le répertoire download)

sudo apt install git (pour installer git… chez moi, il était de base dans la distro)

git clone https://github.com/azlux/log2ram.git (clonage de log2ram)

cd log2ram (on entre dans le répertoire log2ram)

chmod +x install.sh (on rend le ficher install.sh exécutable)

sudo ./install.sh (on installe log2ram)

sudo reboot

au retour un df -h nous confirme que c’est ok :

Il reste à sécuriser SSH.

sudo nano /etc/ssh/sshd_config

Modifier les lignes suivantes comme dans les copies d’écran :

LogLevel VERBOSE

LoginGraceTime 20

PermitRootLogin no

et à la fin du fichier :

AllowUsers nouveauuser

AddressFamily inet

On sauvegarde comme chaque fois Ctrl+O – Enter – Ctrl+X

sudo systemctl restart ssh

et si vous voulez voir le status de ssh : sudo systemctl status ssh

q pour sortir du status

Fin de la sécurisation : Fail2ban.

Fail2ban permet de bannir les auteurs de tentatives de connexion ssh manquées (les petits malins qui tentent plusieurs mots de passe, etc.)

Fail2ban a besoin d’un serveur de mail pour fonctionner, nous allons l’installer.

sudo apt install sendmail

puis on modifie le fichier hosts :

sudo nano /etc/hosts

la première ligne est à modifier :

127.0.0.1 localhost.localdomain localhost votre_nom_d_hôte

On installe fail2ban

sudo apt install fail2ban

Il faut maintenant exclure des adresses à bannir, celles de notre réseau local, soit pour moi de 0 à 26 :

On édite

sudo nano /etc/fail2ban/jail.conf

et à la ligne « ignoreip = 127.0.0.1/8 »

un espace derrière le 8 et ajouter la plage des adresses de votre réseau, pour moi : 192.168.0.0/26

Il suffit de redémarrer fail2ban :

sudo systemctl restart fail2ban

et de vérifier :

sudo systemctl status fail2ban

Voilà, nous voilà au bout des quelques opérations que je juge indispensables avant de découvrir et de vous amuser avec votre PI. Le PI n’est pas le seul concerné, quel que soit le PC que l’on ouvre vers le net avec un serveur web, mail, un serveur de fichiers, un médiacenter… pensez toujours à sécuriser un maximum.

A bientôt pour d’autres aventures de la Framboise PI.

De nombreuses sources de ce tuto sont issues du site SoozX : Informatique et Vie Privée – Logiciels Libres, merci pour la somme d’informations précieuses que l’on peut y trouver.

Commentaires récents

Bernard Mention Écrit par :

2 Comments

  1. Marco
    29 janvier 2018
    Reply

    Salut!!
    Tuto sympa, juste un point, pour la culture…
    Quand tu mets que tes adresses locales sont de 0 à 26 (car 192.168.0.0/26) en fait le /26 est le masque de sous réseau. Tes adresses locales sont donc de 192.168.0.0 ( adresse réseau) à 192.168.0.63 (adresse de broadcast). Tu peux donc avoir maxi 62 adresses pour tes machines.

    Bye et merci pour le tuto.

    • 29 janvier 2018
      Reply

      Salut Marco,

      Merci pour ton commentaire.
      Le routeur de mon FAI est un Netgear et le FAI (Voo Belgique) a volontairement bridé la plage d’adresse DHCP à 26.
      Les adresses locales effectivement “fixables” sont donc bloquées en fait de 2 à 26.
      Bonne journée.

      Ben

Laisser un commentaire

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

*

code

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.