SAMBA : Présentation,Fonctionnalités et Mise en place d'un serveur de partage de fichiers - Partie 5

Publié le 10 Janvier 2025 à 04:38 par BlueSpirit
Administration Systèmes
...

V/Accéder aux partages depuis les systèmes Linux et Windows
Ici vous l’aurez déjà compris, il s’agit de se servir de clients pour accéder aux éléments partagés par notre serveur Samba.

1-Accéder au partage depuis Linux
C’est ici qu’entre en jeu notre client SMB smbclient installé précédemment sur notre machine cliente. C’est grâce à lui que nous interagirons avec le partage effectué, smbclient est un client en ligne de commande qui permet de se connecter aux serveurs SMB et ayant un fonctionnement similaire à celui d’un client FTP. En effet, il nous offre la possibilité de parcourir, uploader et télécharger des fichiers sur des partages réseaux à la manière d’un client FTP.

Pour se connecter à notre serveur SMB et accéder au partage de fichiers, la commande de base s’exécute selon la syntaxe suivante :
smbclient //nom_du_serveur/nom_du_partage -U utilisateur
nom_du_serveur : c’est l’adresse du serveur (son adresse IP par exemple)
nom_du_partage : c’est le nom du partage (le nom donné à notre partage par exemple)
utilisateur : c’est l’utilisateur Samba que nous voulons utiliser pour accéder au partage
Exemple : Supposons que nous voulions accéder au partage Documents de notre serveur SMB Samba à l’adresse 192.168.145.146 depuis notre client smbclient en tant que l’utilisateur Samba alice. Nous ferions donc :

smbclient //192.168.145.146/Documents -U alice

Après la commande exécutée, le serveur nous demandera le mot de passe de notre utilisateur et une fois saisi hop ! Nous sommes connectés au partage Documents !
De là nous pourrons pourrons interagir avec notre serveur comme s’il s’agissait d’un serveur FTP avec des commandes telles que :
ls, cd, pwd, mget, put, bye etc...(On peut se documenter sur les commandes d’un shell ftp)
Si nous ne voulons pas directement accéder aux partages mais seulement lister ceux qui sont disponibles, nous pouvons le faire en exécutant la commande selon la syntaxe suivante :
smbclient -L //nom_du_serveur -U utilisateur
Exemple :

smbclient -L //192.168.145.146 -U alice

Si vous disposez aussi d’une interface graphique pour votre machine cliente Linux vous pouvez aussi accéder au partage en vous servant de Fichiers (explorateur de fichiers Linux) comme le démontre la figure suivante :

Miniature Image

Le nom de notre serveur s’affiche dans la section réseau

Miniature Image

On choisit notre serveur et il nous est demandé de saisir les identifiants SMB

Miniature Image

Une fois les identifiants saisis j’ai accès au partage !

2-Accéder au partage depuis Windows
Pour accéder à notre partage nous allons nous servir de notre explorateur de fichiers Windows.
Tout d’abord, assurons-nous que les paramètres de Windows qui rendent possible notre accès au partage soient activés
Ouvrons Paramètres Windows > Réseau et Internet > Centre Réseau et Partage > Modifier les paramètres de partage avancés
Il faut que les paramètres suivants soient activés :

Miniature Image
Miniature Image

Ensuite, on enregistre les modifications

Miniature Image

Maintenant nous pouvons ajouter notre partage proprement dit à Windows. Commençons par faire ce qui suit

Miniature Image

Ensuite,

Miniature Image

Ensuite,

Miniature Image

On saisit l’adresse de notre serveur et le nom de notre partage ( sous Windows, on utilise l’antislash \ à la place du slash /) . Ensuite on fait suivant :

Miniature Image

Par la suite, on nous demande nos identifiants Samba que l’on renseigne

Miniature Image

Et hop nous avons accès à notre partage !

VI/ Sécurité de Samba
Une chose est de mettre en place un serveur Samba et une autre est de savoir comment le sécuriser. Ici nous verrons les différents moyens que nous pourrons employer pour sécuriser notre serveur Samba. Nous allons essentiellement nous concentrer sur notre fichier de configuration car c’est en sachant le paramétrer correctement que nous allons nous protéger contre les attaques :

1)Restreindre l’accès au serveur Samba à certaines adresses IP et/ou certains réseaux
On peut autoriser l’accès au serveur Samba à certaines IP et/ou à certains réseaux et le refuser à d’autres. Ici les deux paramètres qui rentrent en compte sont hosts allow et hosts deny de la partie [global] de notre fichier de configuration /etc/samba/smb.conf . Comme nous l’avons vu précédemment
hosts allow désignera les adresses IP et/ou les réseaux autorisés à accéder au serveur Samba
Exemple : hosts allow = 192.168.145.148,127.
Ici l’adresse IP 192.168.145.148 et le réseau 127.0.0.0 sont autorisés à accéder au serveur Samba
hosts deny désignera les adresses IP et/ou les réseaux qui ne sont pas autorisés à accéder au serveur Samba
Exemple : hosts deny = 192.168.145.147,10.
Ici l’adresse IP 192.168.145.147 et le réseau 10.0.0.0 ne sont pas autorisés à accéder au serveur Samba
Il faut noter que le paramètre hosts allow prend l’ascendant sur le paramètre hosts deny. Cela veut dire que si par exemple une adresse IP figure à la fois dans hosts allow et dans hosts deny, le paramètre qui primera sera hosts allow : l’adresse IP en question sera autorisée à accéder au serveur Samba.
Dans la pratique, ce qu’on a tendance à faire c’est bloquer l’accès à toutes les adresses IP et n’autoriser que les IP légitimes qui auront à accéder à notre serveur. Si par exemple l’IP que nous voulons autoriser à accéder à notre partage est 192.168.145.148, ce que nous écrirons dans notre fichier de configuration est ce qui suit :

hosts allow = 192.168.145.148
hosts deny = 0.0.0.0/0

0.0.0.0/0 désigne toutes les adresses IP possibles (on peut aussi écrire à la place ALL)

N.B : Les restrictions d’accès que nous venons de mettre en place peuvent également être faites à partir des fichiers /etc/hosts.allow et /etc/hosts.deny. Dans ces fichiers ce que nous ferons c’est déterminer les adresses IP qui pourront avoir accès aux services smbd et nmbd de Samba et celles qui ne pourront pas. Si par exemple nous voulons autoriser l’IP 192.168.145.148 à accéder à notre serveur Samba uniquement nous éditerons ces deux fichiers de la manière suivante :
/etc/hosts.allow

Miniature Image


/etc/hosts.deny

Miniature Image


2-Choisir une bonne méthode d’authentification au serveur Samba
Il faut que vous choisissiez un bon moyen d’authentification à votre serveur Samba. Ici le paramètre concerné est security de la partie [global] de notre fichier de configuration /etc/samba/smb.conf. Ici la valeur que je vous conseille de choisir pour ce paramètre est user. Ainsi, pour chaque utilisateur Samba que vous créerez, chacun aura son mot de passe propre et vous définirez les droits d’accès des utilisateurs pour chaque partage que vous mettrez en place. Il est important que chaque utilisateur ait un mot de passe fort qu’il évite de communiquer à d’autres personnes.
security = user
Aussi pour le stockage des identifiants, je vous conseille d’utiliser la base de données Trivial qui même si elle est limitée à 250 utilisateurs, crypte les mots de passe des utilisateurs. Ainsi, on aura le paramètre :
passdb backend = tdbsam

3-Définir la version minimale de SMB utilisée par le serveur Samba et ses clients pour communiquer
Pour éviter que des individus mal intentionnés n’exploitent les failles présentes dans les anciennes versions de SMB, il est nécessaire que vous limitiez les versions de SMB que votre serveur Samba et vos clients peuvent utiliser entre eux pour communiquer(la version minimale). Ceci se fait également en éditant le fichier de configuration /etc/samba/smb.conf. Toujours dans la partie [global] on ajoute les paramètres suivants  :
server min protocol = SMB3
client min protocol = SMB3
Ici, j’ai mis SMB3 comme valeur pour les deux paramètres car c’est la version la plus sécurisée de SMB au moment où j’écris ce article.
N.B :La version minimale que vous utiliserez peut changer à tout moment en fonction des failles qui seront découvertes dans le protocole. C’est donc à vous de faire une veille informatique rigoureuse pour être à l’affût des failles et déterminer la version minimale la plus sûre pour votre serveur et vos clients.

4-Faire des mises à jour régulières
Un des excellents moyens pour protéger son serveur est de faire des mises à jour régulièrement : les développeurs fournissent des mises à jour pour améliorer Samba et corriger ses failles de sécurité.

En dehors de ces initiatives pour protéger notre serveur Samba, nous pouvons aussi ajouter à ces mesures une protection contre le bruteforce en installant l’outil de sécurité Fail2ban. Lorsqu’on le mettra en place , il surveillera les logs de notre serveur Samba à la recherche d’évènements suspects tels que des tentatives répétées d’authentification échouées provenant de certaines IP et il les bloquera automatiquement.




RECHERCHE
DERNIERS ARTICLES
ANNONCES
RESSOURCES UTILES