List all share on the PC name helene-pc, with the user helene:
smbclient -L \\\\helene-pc -U helene Domain=[HELENE-PC] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1] Sharename Type Comment --------- ---- ------- ADMIN$ Disk Administration à distance C$ Disk Partage par défaut Documents Disk IPC$ IPC IPC distant Users Disk
Now connect directly on the share Documents:
smbclient \\\\helene-pc\\Documents -U helene smb: \>
You can use the following commands:
smb: \> ? ? allinfo altname archive blocksize cancel case_sensitive cd chmod chown close del dir du echo exit get getfacl hardlink help history iosize lcd link lock lowercase ls l mask md mget mkdir more mput newer open posix posix_encrypt posix_open posix_mkdir posix_rmdir posix_unlink print prompt put pwd q queue quit readlink rd recurse reget rename reput rm rmdir showacls setmode stat symlink tar tarmode translate unlock volume vuid wdel logon listconnect showconnect .. !
Mount a CIFS share on Linux:
- CIFS for latest Linux clients
- SMBFS for oldest
mount -t smbfs -o username=<username>,password=<password> //<win-box>/<share> /mnt/<name-of-mountpoint> or mount -t cifs //ntserver/download -o username=vivek,password=myPassword /mnt/ntserver or mount -t cifs CORESERVER:F\$ /mnt/temp -o username=nimda,domain=WINLAB Password:
Add an enty into /etc/fstab:
//windows_srv/c$ /mnt/recurring smbfs defaults,user,noauto,username=Administrator,password=Password 0 0 or MachineName:ShareFolderName /mnt/MountFolderName cifs username=UserName,domain=DomainName,password=Password 0 0
You can also use a credential file:
root@mystery:~# cat >/etc/recurring.smbpass <<EOF username=Administrator password=password EOF By changing the permissions this can then be read only by the root user: root@mystery:~# chmod 600 /etc/recurring.smbpass root@mystery:~# chown root.root /etc/recurring.smbpass Add into /etc/fstab: //windows_srv/c$ /mnt/recurring smbfs defaults,credentials=/etc/recurring.smbpass 0 0
Description du contrôle | Commande ou paramètre relevé | Valeur recommandée |
---|---|---|
Analyse des éventuelles vulnérabilités connues; pour lesquelles un code d'exploitation a été rendu public et impactant la version de SAMBA actuellement utilisée | smbd -V | N/A |
Authentification mise en œuvre pour SAMBA | “Fichier smb.conf:- paramètre security - paramètre server role” | Cette valeur est adaptée à l'utilisation du service SAMBA qui est faite |
Analyse de la correspondance entre les utilisateurs SAMBA et les utilisateurs du système AIX | Analyse du fichier /samba/usermap | Seuls les comptes utilisateurs nécessitant un accès aux partages SAMBA devraient être présents au sein du fichier /samba/usermap |
Analyse des permissions systèmes appliquées au fichier de correspondance entre les utilisateurs SAMBA et les utilisateurs du système AIX | ls -al /samba/usermap | '-rw-r–r– root system /samba/usermap |
Analyse des permissions systèmes appliquées aux ressources stockant les mots de passe chiffrés des utilisateurs SAMBA | Afficher les permissions des fichiers TDB | '-rw-r–r– root system |
Définition d'une ou plusieurs interface(s) réseau(x) exlplicitement liée(s) au service SAMBA | “Fichier smb.conf:- interfaces - bind interfaces only” | “interfaces = < inclure adresse IP et nom interface ici bind interfaces only = yes” |
Analyse des services réseaux rendus par SAMBA | “Fichier smb.conf: - server services” | Désactiver les services réseaux non utilisés (par ex. -dns -dnsupdate) |
Support des connexions anonymes | “Fichier smb.conf: - guest ok - guest only - only guest - map to guest” | Les connexions anonymes ne doivent pas être supportées |
Chaine de caractères renvoyée par le serveur SAMBA pour les demandes de découverte clientes | “Fichier smb.conf: - server string” | La chaine de caractères renvoyée par le serveur ne doit pas contenir d'informations techniques (par ex. version de SAMBA) |
Présence d'une solution anti-virus installée et configurée pour analyser la présence éventuelle de fichiers / dossiers malveillants | N/A | Une solution anti-virus devrait être utilisée |
Niveau de verbosité défini pour la journalisation des évènements SAMBA | “Fichier smb.conf:- log level” | log level = 3 |
Permissions appliquées pour le fichier de journalisation SAMBA | ls -al /samba/logs/smbd.log | -rw-r–r– root system /samba/logs/smbd.log |
Permissions appliquées pour les dossiers partagés | ls -al /samba/interfaces | N/A |
Possibilité d'énumérer le contenu des répertoires partagés | “Fichier smb.conf:- browseable - access based shared enum” | “browseable = no access based shared enum = yes” |
Définition des accès en lecture seule ou lecture / écriture | “Fichier smb.conf:- read only” | read only = yes pour les partages ou aucune modification / ajout de fichier ne doit être implémenté |
Limiter le nombre de processus SMBD concurrents | “Fichier smb.conf: - max smbd processes” | max smbd processes = 1000 |
Délai de déconnexion automatique des sessions inactives | “Fichier smb.conf:- deadtime” | deadtime = 10 |
Limiter le nombre de connexions réseaux concurrentes | “Fichier smb.conf:- max connections” | max connections = 30 |
Analyse des utilisateurs autorisés / non autorisés à accéder aux ressources SAMBA | “Fichier smb.conf: - valid users - invalid users” | Préférer utiliser une approche de type liste blanche (valid users) pour autoriser un nombre restreint de comptes utilisateurs à accéder aux ressources SAMBA |
Analyse des systèmes autorisés / non autorisés à accéder aux ressources SAMBA | “Fichier smb.conf:- hosts allow - hosts deny” | Préférer utiliser une approche de type liste blanche (host allow) pour autoriser un nombre restreint de systèmes à accéder aux ressources SAMBA |
Permissions configurées lors de la création de fichiers ou dossiers | “Fichier smb.conf:- create mask - directory mask” | directory mask 0777 |
Politique de mots de passe utilisée au sein de SAMBA | “Fichier smb.conf:- check password - unix passwd sync” | Présence d'une politique de mots de passe |
Désactivation de la mise en cache des fichiers / dossiers SAMBA | “Fichier smb.conf:- csc policy” | csc policy = disable |
Désactivation de NetBIOS | “Fichier smb.conf:- disable netbios” | disable netbios = yes |
Désactiver le suivi des liens symboliques | “Fichier smb.conf:- follow symlinks” | follow symlinks = no |
Désactiver les diffusions LanManager | “Fichier smb.conf:- lm announce” | lm announce = no |
Désactiver les protocoles d'authentification non sécurisés | “Fichier smb.conf:- server min protocol - ntlm auth” | “ntlm auth = no server min protocol = NT1” |
Signature du traffic SMB pour le protocole SMB1 | “Fichier smb.conf:- server signing” | server signing = auto |
Check samba server parameters
# testparm -vs | grep "protocol" client ipc max protocol = default client ipc min protocol = default client max protocol = default client min protocol = CORE server max protocol = SMB3 server min protocol = LANMAN1
Check using man smb.conf (/etc/samba/smb.conf)
The value of the parameter (a string) is the highest protocol level that will be supported by the client. Possible values are :
To create a user in samba, if local authentification, then create the user locally then use pdbedit
List all users (verbose)
# pdbedit -L -v
Create a user, you 'll be prompt for password, the user must exist on unix
# pdbedit -a -u myuser
Remove a user
# pdbedit -x -u myuser