Sécuriser votre Orange Pi : Les bonnes pratiques
Comme mentionné dans l'article précédent Configuration de votre Orange pi, où je vous avais proposé à la fin quelques bonnes pratiques pour sécuriser votre Orange Pi, cet article va approfondir les mesures de sécurité que vous pouvez mettre en place pour protéger votre appareil. Cet article s'appliquent également à des cartes similaires, telles que le Raspberry Pi, le Rock Pi, etc.
Cet article a été écrit avec la distribution Debian d’installer et donc est susceptible de ne pas fonctionner avec d’autres distributions proposées par Orange Pi.
Suppression du sudoers orangepi
Explication
Par défaut, l’utilisateur orangepi appartient au groupe sudo. Cette appartenance lui confère des privilèges avancés, proches de ceux d’un administrateur (root). Pour effectuer des tests ou une première prise en main du système, cela n’est pas problématique.
En revanche, à plus long terme, cela peut représenter un risque de sécurité, de plus en mode (PROD).
En effet, si le mot de passe de l’utilisateur orangepi venait à être découvert, ou même compromis, une personne malintentionnée pourrait se connecter à votre machine. Il lui suffirait alors d’exécuter une commande comme :
sudo suet de saisir le mot de passe de l’utilisateur orangepi pour obtenir un accès complet au compte root, sans jamais connaître le véritable mot de passe root.
Cette situation augmente considérablement la surface d’attaque et peut entraîner une compromission totale du système.
C’est pourquoi, dans une démarche de sécurisation, il est fortement recommandé de retirer l’utilisateur orangepi du groupe sudo.
Suppression
Pour retirer l’utilisateur orangepi du groupe sudo, il suffit d’exécuter :
deluser orangepi sudo
Et voilà, votre utilisateur orangepi n’est désormais plus sudoer, ce qui empêche toute personne malintentionnée de devenir root. La seule manière d’obtenir les droits root est désormais de connaître le mot de passe root.
Sécuriser la connexion SSH
Explication
Par défaut, la plupart des systèmes permettent de se connecter en SSH à l’aide d’un simple mot de passe. Même si cela peut sembler pratique, cette méthode constitue un risque majeur de sécurité. En effet, des robots effectuent en permanence des tentatives de connexion automatisées (brute-force), testant des milliers de mots de passe jusqu’à trouver le bon.
Si votre mot de passe est faible, réutilisé ou compromis, un attaquant pourrait accéder à votre machine en quelques secondes en fonction de votre mot de passes.
Pour éviter ce type d’attaque, il est fortement recommandé de désactiver complètement l’authentification par mot de passe et de n’autoriser que la connexion via clé SSH.
Une clé SSH est beaucoup plus robuste qu’un mot de passe : elle ne peut pas être devinée.
Désactivation
Une fois vos clés créées et installées, il vous suffit de modifier la configuration SSH de l’orange pi:
sudo nano /etc/ssh/sshd_configDans ce fichier, désactivez l’authentification par mot de passe :
PasswordAuthentication no
Puis redémarrez le service SSH :
systemctl restart sshÀ partir de ce moment, seule la connexion via clé SSH sera autorisée, ce qui renforce considérablement la protection de votre Orange Pi contre toute tentative d’intrusion.
Si toutefois votre clé n’est pas bonne, vous pouvez toujours prendre la main en direct (clavier, écran) sur votre Orange Pi.
Mise en place Fail2ban
Même avec l’accès par clé SSH, il est possible que votre machine soit ciblée par des tentatives d’intrusion automatisées. Pour bloquer ces tentatives répétées, l’outil Fail2ban est une solution simple et très efficace.
Il analyse les journaux du système et bannit temporairement les adresses IP qui échouent trop souvent à se connecter.
Installation de Fail2ban avec la commande suivante :
apt install fail2banUne fois installé, Fail2ban active automatiquement sa protection de base.
Configuration de Fail2ban
Pour personnaliser les règles, créez un fichier local de configuration :
nano /etc/fail2ban/jail.localAjoutez-y par exemple :
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 10m
findtime = 10m
- maxretry : nombre d’essais avant bannissement
- bantime : durée du bannissement
- findtime : période pendant laquelle les tentatives sont comptabilisées
Vous pouvez toutefois régler comme vous le souhaitez, afin de maximiser ou à votre guise pour avoir les paramétrages que vous souhaitez.
Redémarrer Fail2ban :
systemctl restart fail2banVérifier que Fail2ban fonctionne :
fail2ban-client status sshdVous verrez alors le nombre de tentatives bloquées et les IP bannies.
Grâce à Fail2ban, les attaques par force brute sont automatiquement stoppées, renforçant encore la sécurité de votre serveur SSH et de votre Orange Pi.
Approfondissement avec UFW (pare-feu)
Dans l'article précédent, nous avons abordé la configuration de base d'UFW pour mettre en place un pare-feu minimal sur votre Orange Pi. Cette fois, nous allons approfondir l'utilisation de UFW en explorant des configurations plus avancées pour renforcer la sécurité de votre dispositif.
Autoriser l'accès SSH uniquement pour une adresse IP spécifique :
Imaginons que vous vous connectiez toujours en SSH depuis la même IP. Il vous serait donc intéressant de dire à votre pare-feu (UFW) d'autoriser l'accès au port SSH uniquement à votre IP, au lieu de donner l'accès à tout le monde. Pour cela, vous pouvez utiliser la commande suivante :
ufw allow from VOTRE_IP to any port 22
Vous pouvez, en plus de Fail2ban, ajouter une limite de requêtes sur le port ssh. Par exemple, pour cela, vous pouvez exécuter la commande suivante :
ufw limit 22/tcpExplication
Pour garantir la sécurité de votre Orange Pi, il est essentiel de bien configurer votre pare-feu en ordonnant correctement vos restrictions. Comprendre l'impact de chaque commande est crucial, car chaque règle définit précisément ce qui est autorisé ou refusé.
Définir la règle par défaut pour les connexions entrantes :
ufw default deny incomingCette commande va définir la règle par défaut pour les connexions entrantes sur "refuser". Cela signifie que toutes les connexions entrantes seront bloquées par défaut.
Autoriser le trafic sortant par défaut :
ufw default allow outgoingCette commande permet de définir la règle par défaut pour les connexions sortantes sur "autoriser". En d'autres termes, toutes les connexions sortantes de votre Orange Pi seront autorisées sans restriction.
Restreindre l'accès SSH à une seule adresse IP :
ufw allow from 192.168.1.10 to any port 22Cette commande autorise l'accès ssh uniquement à l'adresse ip 192.168.1.10 (c'est un exemple) sur le port 22. Cela signifie que seule cette adresse ip pourra se connecter à votre serveur via ssh.
Limiter les tentatives de connexion SSH:
ufw limit 22/tcpCette commande active une limitation sur le port SSH (22), en réduisant le nombre de tentatives de connexion à 6 tentatives en 30 secondes par adresse IP. Si une IP dépasse cette limite, elle sera temporairement bloquée.
Ajout d'une règle supplémentaire, par exemple, pour un serveur web :
Si votre Orange Pi héberge un service par exemple (un serveur web), il est important de configurer des règles spécifiques dans UFW pour permettre l'accès aux ports nécessaires. Voici quelques règles que vous pouvez ajouter en fonction des services que vous souhaitez autoriser.
Autoriser le Trafic HTTP (Port 80) :
Si vous hébergez un site web avec un serveur HTTP (comme Apache ou Nginx), vous devez autoriser les connexions entrantes sur le port 80, qui est utilisé pour les requêtes HTTP non sécurisées.
ufw limit 80/tcpAutoriser le Trafic HTTPS (Port 443) :
Si votre serveur web est configuré pour utiliser le https, vous devrez également autoriser les connexions sur le port 443, qui est utilisé pour le trafic sécurisé.
ufw limit 443/tcpLimiter les Requêtes HTTP/HTTPS :
Une autre bonne pratique consiste à limiter le nombre de connexions sur les ports HTTP (80) et HTTPS (443) afin de prévenir certaines attaques, comme les attaques par déni de service (DDoS). Pour ce faire, vous pouvez activer une limitation sur ces ports, comme suit :
sudo ufw limit 80/tcp
sudo ufw limit 443/tcpLimiter les accès :
Si, par exemple, vous hébergez un service auquel vous voulez restreindre l'accès uniquement à votre IP, vous pouvez utiliser cette commande. Cela peut être le cas pour des services sensibles comme Pi-hole.
ufw allow from 192.168.1.10 to any port 80Pour sécuriser, il est déjà important de bien savoir ce à quoi vous avez besoin d'accéder et de connaître également qui a besoin d'accès. Une fois que vous avez toutes ces informations, vous pouvez appliquer ce que nous avons vu pour donner accès, limiter le nombre de requêtes ou restreindre l'accès à certaines personnes.
Vous disposez désormais de bonnes clés pour rendre votre Orange Pi bien plus sécurisé. Je ne le répéterai jamais assez, aucun système n'est infaillible. C'est pourquoi une surveillance permanente est essentielle pour garantir la sécurité. Ne vous demandez pas si votre Orange Pi sera attaqué, mais plutôt quand, cela pourrait se produire n'importe quand. Si vous suivez les bonnes pratiques, le risque sera considérablement réduit.
N’hésitez pas à nous rejoindre si vous souhaitez de l’aide ou un guide plus approfondi sur les Orange Pi.
ainsi que sur Instagram :


