10 façons de sécuriser votre serveur Samba sous Linux



Points Essentiels de Sécurisation

  • Activez le chiffrement des échanges SMB pour bloquer les intrusions et les attaques informatiques. Utilisez TLS (Transport Layer Security) pour sécuriser les communications de votre serveur Samba sous Linux.
  • Mettez en place des contrôles d’accès et des permissions rigoureux pour les ressources partagées via le fichier de configuration /etc/samba/smb.conf. Définissez des règles d’accès, d’autorisation et de restrictions pour limiter l’accès aux ressources aux seuls utilisateurs autorisés.
  • Adoptez des mots de passe complexes et uniques pour les comptes d’utilisateurs SMB afin de renforcer la sécurité. Mettez à jour régulièrement Linux et Samba pour prévenir les vulnérabilités et les cybermenaces, et évitez d’utiliser le protocole SMBv1 obsolète.
  • Configurez votre pare-feu pour contrôler l’accès aux ports SMB et envisagez la segmentation du réseau pour isoler le trafic SMB des réseaux non sécurisés. Surveillez les logs SMB pour détecter toute activité suspecte ou incident de sécurité et limitez l’accès invité et les connexions anonymes.
  • Mettez en œuvre des restrictions basées sur l’hôte pour gérer l’accès depuis des machines spécifiques et refuser l’accès aux autres. Renforcez vos mesures de sécurité pour protéger votre réseau et vos serveurs Linux.

Le protocole SMB (Server Message Block) est indispensable au partage de fichiers et d’imprimantes dans les environnements connectés. Cependant, une configuration Samba par défaut peut introduire des faiblesses de sécurité importantes, rendant votre réseau vulnérable aux intrusions et aux attaques informatiques.

Si vous hébergez un serveur Samba, vous devez examiner attentivement vos configurations. Voici 10 étapes importantes pour assurer la sécurité et la protection de votre serveur SMB.

1. Activer le Chiffrement du Trafic SMB

Le trafic SMB n’est pas chiffré par défaut. Vous pouvez le constater en analysant les paquets réseau avec des outils tels que tcpdump ou Wireshark. Il est crucial de chiffrer l’ensemble du trafic afin d’empêcher un attaquant d’intercepter et d’analyser les données.

Il est fortement conseillé de configurer TLS pour crypter et sécuriser les échanges de votre serveur Samba sous Linux.

2. Mettre en Place des Contrôles d’Accès et des Autorisations Rigoureux pour les Ressources Partagées

Il est essentiel de mettre en place des contrôles d’accès et des permissions stricts pour empêcher tout accès non autorisé aux ressources. Samba utilise un fichier de configuration central, /etc/samba/smb.conf, pour définir les règles d’accès et d’autorisation.

Grâce à une syntaxe spécifique, vous pouvez déterminer les ressources à partager, les utilisateurs ou groupes autorisés, et préciser si les ressources peuvent être parcourues, écrites ou lues. Voici un exemple de syntaxe pour déclarer une ressource et implémenter des contrôles d’accès :

 [sambashare]
comment= Exemple Samba
path = /home/votre_nom_utilisateur/sambashare
browseable = yes
writable = yes
valid users = @nom_du_groupe

Dans cet exemple, nous ajoutons un nouvel emplacement de partage avec son chemin, et nous limitons l’accès à un groupe spécifique d’utilisateurs. Il existe de nombreuses autres façons de définir les contrôles d’accès. Vous trouverez plus d’informations à ce sujet dans notre guide dédié à la configuration d’un dossier partagé en réseau sous Linux avec Samba.

3. Utiliser des Mots de Passe Forts et Uniques pour les Comptes Utilisateurs SMB

L’adoption de politiques de mots de passe robustes pour les comptes d’utilisateurs SMB est une mesure de sécurité fondamentale. En tant qu’administrateur système, vous devez encourager la création de mots de passe complexes et uniques pour tous les comptes, ou même les générer automatiquement.

Vous pouvez également opter pour des changements réguliers de mots de passe afin de réduire le risque de fuites de données et d’accès non autorisés.

4. Mettre Régulièrement à Jour Linux et Samba

La meilleure défense passive contre les cyberattaques est de maintenir à jour vos logiciels critiques. Les PME sont souvent la cible de vulnérabilités, et donc une proie lucrative pour les attaquants.

De nombreuses vulnérabilités critiques SMB ont été identifiées par le passé, menant à la prise de contrôle complète du système ou à la perte de données confidentielles. Il est impératif de maintenir à jour votre système d’exploitation et ses services critiques.

5. Éviter l’Utilisation du Protocole SMBv1

Le protocole SMBv1 est non sécurisé. Il est fortement recommandé de ne jamais l’utiliser et de privilégier SMBv2 ou des versions ultérieures, que ce soit sous Windows ou Linux. Pour désactiver le protocole SMBv1, ajoutez cette ligne à votre fichier de configuration :

 min protocol = SMB2 

Cette commande assure que le niveau minimal de protocole utilisé soit SMBv2.

6. Appliquer des Règles de Pare-feu pour Restreindre l’Accès aux Ports SMB

Configurez votre pare-feu pour autoriser l’accès aux ports SMB (généralement les ports 139 et 445) uniquement à partir de sources de confiance. Cela limite les accès non autorisés et réduit le risque d’attaques SMB provenant de l’extérieur.

Il est également judicieux d’installer une solution IDS couplée à un pare-feu pour un meilleur contrôle et un enregistrement du trafic. Si vous ne savez pas quel pare-feu utiliser, consultez notre liste des meilleurs pare-feu Linux gratuits.

7. Mettre en Œuvre la Segmentation du Réseau pour Isoler le Trafic SMB des Réseaux Non Fiables

La segmentation du réseau consiste à diviser un réseau en plusieurs sous-réseaux, ou segments, afin d’améliorer sa sécurité, sa performance et sa gestion.

Pour isoler le trafic SMB des réseaux non approuvés, vous pouvez créer un segment de réseau distinct et configurer des règles de pare-feu qui n’autorisent le trafic SMB qu’à l’intérieur de ce segment. Cela permet de mieux gérer et surveiller ce type de trafic.

Sous Linux, vous pouvez utiliser iptables ou un outil similaire pour configurer les règles de pare-feu et contrôler le flux de trafic entre les différents segments du réseau. Vous pouvez par exemple, autoriser le trafic SMB vers et depuis le segment dédié, tout en bloquant le reste. Cela isolera efficacement le trafic SMB des réseaux non fiables.

8. Surveiller les Logs SMB pour Détecter les Activités Suspectes et les Incidents de Sécurité

La surveillance des logs SMB est une mesure essentielle pour la sécurité de votre réseau. Les logs SMB contiennent des informations relatives au trafic, notamment les accès aux fichiers, les authentifications et autres événements. En les surveillant régulièrement, vous pouvez identifier les menaces potentielles et agir en conséquence.

Sous Linux, vous pouvez utiliser la commande journalctl et rediriger son résultat vers la commande grep pour visualiser et analyser les logs SMB.

 journalctl -u smbd.service 

Cette commande affichera les logs du service smbd, qui gère le trafic SMB. Vous pouvez utiliser l’option -f pour suivre les logs en temps réel ou l’option -r pour afficher d’abord les entrées les plus récentes.

Pour rechercher des événements spécifiques, utilisez la commande grep. Par exemple, pour identifier les tentatives d’authentification échouées, exécutez :

 journalctl -u smbd.service | grep -i "authentication failure" 

Cette commande affichera toutes les entrées contenant le texte « échec d’authentification », ce qui permet d’identifier rapidement toute activité suspecte ou tentative de force brute.

9. Limiter l’Utilisation de l’Accès Invité et des Connexions Anonymes

L’activation de l’accès invité permet aux utilisateurs de se connecter au serveur Samba sans nom d’utilisateur ni mot de passe, tandis que les connexions anonymes permettent de se connecter sans authentification. Ces deux options peuvent représenter un risque pour la sécurité si elles ne sont pas gérées correctement. Il est recommandé de les désactiver. Pour ce faire, modifiez la section globale du fichier smb.conf :

 map to guest = never
restrict anonymous = 2

10. Mettre en Place des Restrictions Basées sur l’Hôte

Par défaut, un serveur Samba est accessible par tous les hôtes (adresses IP). Pour autoriser l’accès à des hôtes spécifiques et le refuser aux autres, vous pouvez utiliser les options ‘hosts allow’ et ‘hosts deny’. Voici la syntaxe à ajouter au fichier de configuration :

 hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0

Dans cet exemple, Samba refusera toutes les connexions sauf celles provenant de l’hôte local et du réseau 192.168.1.0/24. C’est une des méthodes de base pour sécuriser votre serveur SSH également.

Vous Savez Maintenant Comment Sécuriser Votre Serveur Samba Linux

Linux est un excellent choix pour héberger des serveurs. Cependant, la prudence est de mise, car les serveurs Linux sont souvent une cible de choix pour les acteurs malveillants.

Il est essentiel de mettre tout en œuvre pour renforcer votre réseau et vos serveurs Linux. En plus de la configuration correcte de Samba, n’oubliez pas d’adopter d’autres mesures pour vous prémunir contre les attaques.