Documentation de sécurisation de l’Orange Pi Zero 3
L’importance de la sécurité dans les systèmes n’est plus un atout, mais une nécessité absolue. À l’ère du numérique, les menaces informatiques sont omniprésentes et de plus en plus sophistiquées. Les mots de passe par défaut, tout comme les connexions non sécurisées, doivent absolument être bannis, car ils représentent des failles majeures que les cybercriminels peuvent exploiter facilement. Il est crucial de renforcer la sécurité des accès en utilisant des méthodes telles que la connexion par clé, qui offre une protection supplémentaire et bien d’autres choses à mettre en place.
De plus, la gestion des privilèges d’accès doit être rigoureuse, limiter les droits d’accès au strict nécessaire et auditer régulièrement les systèmes sont des pratiques essentielles pour minimiser les risques.
C’est pourquoi il est essentiel de mettre en place, et de promouvoir activement, les actions décrites dans cette documentation afin de maximiser la sécurité de vos Orange Pi. En suivant ces recommandations, vous réduisez significativement les risques d’exploitation des vulnérabilités, en assurant la protection des données et la résistance aux attaques potentielles. Que ce soit à travers la mise à jour régulière des systèmes, la configuration sécurisée des accès ou l’activation des mécanismes de chiffrement, chaque étape joue un rôle clé dans la sécurisation de votre environnement.
Avant de commencer ce tutoriel, vous aurez besoin d’avoir déjà configurer l’Orange Pi Zero 3 !
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 sudoEt 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.
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 noPuis 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 pour la partie ssh : Redémarrer Fail2ban
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.
Configurer un pare-feu avec UFW
Installer UFW
Si ce n’est pas déjà fait :
apt update
apt install ufw -yDéfinir les règles de base :
- Autoriser l’accès SSH
ufw allow ssh- Bloquer toutes les connexions entrantes par défaut
ufw default deny incoming- Autoriser toutes les connexions sortantes
ufw default allow outgoingActiver le pare-feu UFW
ufw enableVous pouvez vérifier le statut et les règles appliquées avec :
ufw status verboseAvec cette configuration, vous avez le strict minimum de protection. C’est mieux que rien, mais ne pensez pas être totalement sécurisé, aucun système n’est infaillible !
Approfondissement avec UFW (pare-feu)
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 22Vous 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 :
ufw limit 80/tcp
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 80Il s’agit ici d’une liste non exhaustive des possibilités de sécurisation. Vous pouvez tout à fait mettre en place des méthodes plus avancées, comme supprimer l’identifiant par défaut orangepi et créer votre propre utilisateur. Cela empêchera toute tentative de connexion sur le compte orangepi, puisqu’il n’existera plus. Un attaquant pourra toujours essayer, mais sans aucune chance de réussir.
Vous pouvez également durcir la configuration de Fail2ban, par exemple en augmentant la durée de bannissement ou le nombre de tentatives contrôlées, afin de bloquer plus efficacement un attaquant qui tenterait une intrusion progressive en multipliant les essais.
Côté pare-feu, vous pouvez sans problème utiliser une autre solution qu’UFW, comme iptables ou même nftables, qui permettent un contrôle plus fin et une configuration plus avancée si nécessaire.