10 façons de sécuriser votre serveur Samba sous Linux
Principaux enseignements
- Activez le chiffrement du trafic SMB pour empêcher les accès non autorisés et les cyberattaques. Utilisez Transport Layer Security (TLS) pour sécuriser le trafic de votre serveur Samba sous Linux.
- Mettez en place des contrôles d’accès et des autorisations strictes pour les ressources partagées à l’aide du fichier de configuration /etc/samba/smb.conf. Définissez des règles d’accès, des permissions et des restrictions pour vous assurer que seuls les utilisateurs autorisés peuvent accéder aux ressources.
- Appliquez des mots de passe forts et uniques pour les comptes d’utilisateurs SMB afin de renforcer la sécurité. Mettez régulièrement à jour Linux et Samba pour les protéger contre les vulnérabilités et les cyberattaques, et évitez d’utiliser le protocole SMBv1 non sécurisé.
- Configurez les règles du pare-feu pour restreindre l’accès aux ports SMB et envisagez la segmentation du réseau pour isoler le trafic SMB des réseaux non fiables. Surveillez les journaux SMB pour détecter les activités suspectes et les incidents de sécurité, et limitez l’accès des invités et les connexions anonymes.
- Mettez en œuvre des restrictions basées sur l’hôte pour contrôler l’accès à des hôtes spécifiques et refuser l’accès à d’autres. Prenez des mesures de sécurité supplémentaires pour renforcer votre réseau et vos serveurs Linux.
Le protocole SMB (Server Message Block) est la pierre angulaire du partage de fichiers et d’imprimantes dans les environnements connectés. Cependant, la configuration par défaut de Samba peut présenter des risques de sécurité importants, rendant votre réseau vulnérable aux accès non autorisés et aux cyberattaques.
Si vous hébergez un serveur Samba, vous devez être particulièrement prudent avec les configurations que vous avez mises en place. Voici 10 étapes essentielles pour garantir la sécurité et la protection de votre serveur SMB.
1. Activer le cryptage pour le trafic SMB
Par défaut, le trafic SMB n’est pas crypté. Vous pouvez le vérifier en capturant des paquets réseau avec tcpdump ou Wireshark. Il est primordial de crypter tout le trafic afin d’empêcher un pirate d’intercepter et d’analyser le trafic.
Il est recommandé de configurer Transport Layer Security (TLS) pour chiffrer et sécuriser le trafic de votre serveur Linux Samba.
2. Mettre en œuvre des contrôles d’accès et des autorisations stricts pour les ressources partagées
Vous devez mettre en œuvre des contrôles d’accès et des autorisations stricts pour garantir que les utilisateurs connectés ne peuvent pas accéder à des ressources non sollicitées. Samba utilise un fichier de configuration central /etc/samba/smb.conf qui vous permet de définir des règles d’accès et des autorisations.
À l’aide d’une syntaxe spéciale, vous pouvez définir les ressources à partager, les utilisateurs/groupes auxquels donner accès à ces ressources, et préciser si les ressources peuvent être consultées, écrites ou lues. Voici un exemple de syntaxe pour déclarer une ressource et mettre en place des contrôles d’accès :
Dans les lignes ci-dessus, nous ajoutons un nouvel emplacement de partage avec un chemin d’accès et, avec des utilisateurs valides, nous limitons l’accès au partage à un seul groupe. Il existe de nombreuses autres façons de définir les contrôles et l’accès à un partage. Pour en savoir plus, consultez notre guide dédié à la création 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’application de politiques de mots de passe robustes pour les comptes d’utilisateurs SMB est une meilleure pratique fondamentale en matière de sécurité. En tant qu’administrateur système, vous devez créer ou inciter tous les utilisateurs à créer des mots de passe forts et uniques pour leurs comptes.
Vous pouvez également accélérer ce processus en générant automatiquement des mots de passe forts à l’aide d’outils. En option, vous pouvez également procéder à une rotation régulière des mots de passe afin d’atténuer le risque de fuites de données et d’accès non autorisés.
4. Mettez régulièrement à jour Linux et Samba
La forme la plus simple de défense passive contre toutes sortes de cyberattaques consiste à s’assurer que vous utilisez des versions actualisées des logiciels essentiels. SMB est sujet à des vulnérabilités. Il constitue toujours une cible lucrative pour les attaquants.
Par le passé, de nombreuses vulnérabilités critiques des PME ont conduit à une prise de contrôle complète du système ou à la perte de données confidentielles. Vous devez maintenir à jour votre système d’exploitation et les services critiques qu’il contient.
5. Évitez d’utiliser le protocole SMBv1
SMBv1 est un protocole non sécurisé. Il est toujours recommandé, lorsque vous utilisez SMB, que ce soit sous Windows ou Linux, d’éviter d’utiliser SMBv1 et de n’utiliser que SMBv2 et les protocoles supérieurs. Pour désactiver le protocole SMBv1, ajoutez cette ligne au fichier de configuration :
Cela garantit que le niveau de protocole minimal utilisé sera SMBv2.
6. Appliquer les règles du pare-feu pour restreindre l’accès aux ports SMB
Configurez le pare-feu de votre réseau de manière à n’autoriser l’accès aux ports SMB, généralement les ports 139 et 445, qu’à partir de sources fiables. Cela permet d’empêcher les accès non autorisés et de réduire le risque d’attaques basées sur SMB provenant de menaces externes.
Vous devriez également envisager d’installer une solution IDS en même temps qu’un pare-feu dédié afin de mieux contrôler et enregistrer le trafic. Vous ne savez pas quel pare-feu utiliser ? Vous trouverez peut-être celui qui vous convient dans la liste des meilleurs pare-feu Linux gratuits à utiliser.
7. Mettre en œuvre la segmentation du réseau pour isoler le trafic SMB des réseaux non fiables
La segmentation du réseau est la technique qui consiste à diviser un modèle monolithique unique de réseau informatique en plusieurs sous-réseaux, chacun étant appelé segment de réseau. Cette technique permet d’améliorer la sécurité, les performances et la facilité de gestion du réseau.
Pour isoler le trafic SMB des réseaux non fiables, vous pouvez créer un segment de réseau distinct pour le trafic SMB et configurer les règles du pare-feu de manière à n’autoriser que le trafic SMB en provenance et à destination de ce segment. Cela vous permet de gérer et de surveiller le trafic SMB de manière ciblée.
Sous Linux, vous pouvez utiliser iptables ou un outil réseau similaire pour configurer des règles de pare-feu afin de contrôler le flux de trafic entre les segments du réseau. Vous pouvez créer des règles autorisant le trafic SMB vers et depuis le segment de réseau SMB tout en bloquant tout autre trafic. Cela permettra d’isoler efficacement le trafic SMB des réseaux non fiables.
8. Surveiller les journaux SMB pour détecter les activités suspectes et les incidents de sécurité
La surveillance des journaux SMB à la recherche d’activités suspectes et d’incidents de sécurité est un élément important du maintien de la sécurité de votre réseau. Les journaux SMB contiennent des informations sur le trafic SMB, notamment l’accès aux fichiers, l’authentification et d’autres événements. En surveillant régulièrement ces journaux, vous pouvez identifier les menaces potentielles pour la sécurité et les atténuer.
Sous Linux, vous pouvez utiliser la commande journalctl et acheminer sa sortie vers la commande grep pour afficher et analyser les journaux SMB.
Ceci affichera les journaux pour le smbd.service qui est responsable de la gestion du trafic SMB. Vous pouvez utiliser l’unité -f pour suivre les journaux en temps réel ou utiliser l’option -r pour afficher d’abord les entrées les plus récentes.
Pour rechercher des événements ou des modèles spécifiques dans les journaux, envoyez la sortie de la commande journalctl à grep. Par exemple, pour rechercher les tentatives d’authentification qui ont échoué, exécutez la commande grep :
Cela affichera toutes les entrées de journal qui contiennent le texte « échec de l’authentification », ce qui vous permettra d’identifier rapidement toute activité suspecte ou tentative de force brute.
9. Limitez 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 fournir de nom d’utilisateur ou de mot de passe, tandis que les connexions anonymes permettent aux utilisateurs de se connecter sans fournir d’informations d’authentification.
Ces deux options peuvent présenter un risque pour la sécurité si elles ne sont pas correctement gérées. Il est recommandé de les désactiver. Pour ce faire, vous devez ajouter ou modifier quelques lignes dans le fichier de configuration de Samba. Voici ce que vous devez ajouter/modifier dans la section globale du fichier de configuration de Samba smb.conf du fichier smb.conf :
10. Implémenter des restrictions basées sur l’hôte
Par défaut, un serveur Samba exposé peut être accédé par n’importe quel hôte (adresse IP) sans restrictions. Par accès, on entend l’établissement d’une connexion et non pas l’accès littéral aux ressources.
Pour autoriser l’accès à des hôtes spécifiques et refuser l’accès aux autres, vous pouvez utiliser l’option hosts allow et les hôtes refusent . Voici la syntaxe à ajouter au fichier de configuration pour autoriser/refuser des hôtes :
Ici, vous demandez à Samba de refuser toutes les connexions à l’exception de celles de l’hôte local et du réseau 192.168.1.0/24. C’est aussi l’une des méthodes fondamentales pour sécuriser votre serveur SSH.
Vous savez maintenant comment sécuriser votre serveur Linux Samba
Linux est idéal pour l’hébergement de serveurs. Cependant, chaque fois que vous avez affaire à des serveurs, vous devez faire preuve de prudence et de vigilance, car les serveurs Linux sont toujours une cible lucrative pour les acteurs de la menace.
Il est primordial que vous fassiez des efforts sincères pour fortifier votre réseau et durcir vos serveurs Linux. Outre la configuration correcte de Samba, il existe d’autres mesures à prendre pour s’assurer que votre serveur Linux est à l’abri du regard des adversaires.