18 Jul 2025, 00:00

Accès à des partages SMB depuis Windows 11 en tant qu'invité

La gestion des connexions SMB a changé depuis Windows 11 Pro 24H2.
Elle avait déjà changé pour les versions Education, Pro for workstations, Enterprise de Windows 10 et 11.
Elle reste similaire à avant pour Windows 11 Home.

En conséquence de ces changements, Windows exige maintenant que les connexions SMB soient signées, et la bascule sur un accès invité en cas de défaut de signature est désactivée.
Article chez MS

Dans mon cas, il s’agit de l’accès vers un serveur Samba, dont l’accès invité fonctionne correctement et nativement depuis un poste Windows 10.
Avec Windows 11 Pro 24H2, je suis confronté aux 2 problèmes : la signature de la connexion SMB, et l’accès en tant qu’invité.

À noter que la solution ne semble pas fonctionner pour des profils cloud, que pour les utilisateurs locaux du poste. Question de configuration ?

Accès SMB non signé

https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-signing

Par défaut, Windows 11 Pro (au moins 24H2) exige que les connexions SMB soient signées.
La fonctionnalité de signature ne fonctionne pas avec l’accès invité, il est donc indispensable de la désactiver (source chez MS).

Cela peut se vérifier par la commande Powershell
Get-SmbClientConfiguration | findstr req.*sign
qui doit nous indiquer la valeur de RequireSecuritySignature, probablement à True.

Le problème se manifeste par “Une erreur étendue s’est produite” (si accès depuis la fenêtre “Exécuter”) ou “Windows ne peut pas accéder à my-srv” (si accès depuis la barre d’adresse de l’explorateur).

Pour ceci, j’ai 3 possibilités : le registre, les stratégies locales, ou Powershell.
Ces 3 possibilités sont équivalentes : l’activation (ou désactivation) par une méthode se répercute de manière visible sur les autres méthodes (il faut toutefois fermer/rouvrir les stratégies locales pour actualiser).

Registre :
HKLM\SYSTEM\CurrectControlSet\Services\LanmanWorkstation\Parameters et définir la valeur DWORD
RequireSecuritySignature
à 0

Stratégies locales :
gpedit.msc
Config ordi -> Paramètres Windows -> Paramètres de sécurité -> Stratégies locales -> Options de sécurité
Client réseau Microsoft : communications signées numériquement (toujours)

Powershell :
Set-SmbClientConfiguration -RequireSecuritySignature $false -Force

Connexion en tant qu’invité

Sources pour cette partie :

https://memo.raphaelguetta.fr/post/server-2019-access-guest-share/
https://learn.microsoft.com/en-us/windows-server/storage/file-server/enable-insecure-guest-logons-smb2-and-smb3
https://forum.qnap.com/viewtopic.php?t=175771

Une fois la connexion non-signée autorisée, lorsque je cherche à me connecter à mon serveur, je suis accueilli par une invite d’authentification, sans possibilité de me connecter en invité (alors que mon serveur l’accepte). Ceci car l’accès à des partages sans authentification est désactivé par défaut.

On peut vérifier en lançant la commande Powershell
Get-SmbClientConfiguration | findstr /I enablei
qui nous retourne la valeur de EnableInsecureGuestLogons, probablement False.

Comme pour les signatures, on peut contrôler ce paramètre par le registre, Powershell, ou les stratégies locales.
La stratégie locale a toutefois priorité ! Si elle est est configurée (activée ou désactivée), alors la valeur de l’entrée de registre n’aura aucun impact.
En ce cas, le résultat de Get-SmbClientConfiguration affichera la configuration effective, indépendamment de la valeur de registre.
Set-SmbClientConfiguration continuera de modifier la valeur de registre, mais n’aura pas d’impact sur la stratégie locale.

Registre/Powershell

On peut au choix ouvrir l’éditeur de registre, ouvrir la clé
HKLM\SYSTEM\CurrectControlSet\Services\LanmanWorkstation\Parameters
et ajouter/éditer la valeur DWORD AllowInsecureGuestAuth en la passant à 1.
Il est également possible de lancer la commande Powershell
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
qui aura pour résultat de créer/modifier cette même valeur registre.

Stratégies locales

gpedit.msc
Configuration ordinateur -> Modèles d'administration -> Réseau -> Station de travail LANMAN
Activer les ouvertures de session invité non sécurisées -> Activé

19 Mar 2023, 00:00

Aggrégation de lien ethernet

https://www.thomas-krenn.com/en/wiki/Link_Aggregation_and_LACP_basics
https://fr.wikipedia.org/wiki/IEEE_802.3ad

LAG : Link Aggregation Group : agrégation statique (tous les paramètres sont manuels)

LACP : Link Aggregation control Protocol : configuration automatique des propriétés du lien entre 2 périphériques ; les 2 doivent supporter LACP sinon ça ne fonctionne pas. Spécification IEEE 802.3ad

Synology

Selon mes tests, le Adaptative Load Balancing répartit bien le flux lors d’un téléchargement sur 2 PC en parallèle (le Synology choisit le chemin), mais le flux n’est pas réparti en envoi (le switch envoie les 2 connexions sur le même port).

En mode LACP (si le switch le supporte), la connexion est répartie aussi bien en envoi qu’en réception (1Gbps sur 2 connexions simultanées).

14 Mar 2021, 00:00

Vrac sur LDAP / Active Directory

Généralités

DC : Domain Component (ce qui définit le domaine lui-même) OU : Organisation Unit (une organisation à l’intérieur du domaine, décidée par le service informatique ; non obligatoire) CN : Common Name (le nom courant d’un objet, par exemple “myUser”) DN : Distinguished Name (+- un chemin absolu, qui identifie l’objet de manière unique dans le répertoire ; comprend forcément des références aux DC et au CN, et éventuellement aux OU)

Exemple de DN : CN=OpenVPN,OU=OpenVPN,OU=IT,DC=paris,DC=myCompany,DC=com
Il s’agit du nom courant “OpenVPN” (un utilisateur), situé dans l’OU “OpenVPN”, elle-même située dans l’OU “IT”, elle-même située dans le domaine “paris.mycompany.com”

On peut obtenir le DN de n’importe quel objet dans Utilisateurs et ordinateurs Active Directory en faisant un clic-droit sur l’objet -> Éditeur d'attributs, puis en cherchant l’attribut distinguishedName (taper dist au clavier devrait amener dessus).

Recherche dans l’Active Directory depuis Linux

On peut utiliser le logiciel ldapsearch, disponible dans le paquet ldap-utils.

sudo apt install ldap-utils

On utilisera les flags suivants :

-H pour spécifier l'annuaire ldap (ou le serveur AD)
-x pour une authentification simple
-W pour demander le password
-D pour spécifier l'utilisateur utilisé pour se connecter auprès de l'AD ; ce peut être l'adresse mail (user@contoso.com) ou le DN de l'objet
-b pour définir le chemin de base de la recherche ; par exemple DC=paris,DC=myCompany,DC=com
-LLL pour supprimer les commentaires et la version de LDAP de l'affichage des résultats

On peut ensuite définir un ou plusieurs filtres pour sélectionner les objets désirés ; par exemple (sAMAccountName=Administrateur)" pour sélectionner l’objet dont le nom de compte est Administrateur ; on peut passer plusieurs filtres, avec la syntaxe suivante : (&(sAMAccountName=Administrateur)(memberOf=CN=myGroup,OU=Groups,OU=IT,DC=paris,DC=myCompany,DC=com)

Enfin, on peut choisir un attribut à afficher, pour ne récupérer que ce champ dans la liste des résultats. Par exemple "name" pour récupérer le nom du compte.

Ceci nous donne la syntaxe suivante pour rechercher le nom des membres du groupe

ldapsearch -H ldap://192.168.10.101 -x -W -D “CN=OpenVPN,OU=OpenVPN,OU=VCI,DC=boulogne,DC=escda,DC=viseoci,DC=fr” -b “DC=boulogne,DC=escda,DC=viseoci,DC=fr” “(&(memberOf=CN=Utilisateurs du VPN,OU=Groupes,OU=VCI,DC=boulogne,DC=escda,DC=viseoci,DC=fr))” “name”

28 Nov 2020, 00:00

Vrac wireguard

Point-to-point setup

https://www.wireguard.com/quickstart/
https://wiki.archlinux.org/index.php/WireGuard


## INSTALL
# Install wireguard
apt install wireguard

## KEYS
# Create storage
cd /etc/wireguard
mkdir keys && chmod go-rwx ./keys && cd keys

# Generate private key
(umask 0077; wg genkey > peer_A.key)
# Derive public key
wg pubkey < peer_A.key > peer_A.pub

# Optionnal - Generate Pre-Shared Key ; 1 for each peer pair
wg genpsk > peer_A-peer_B.psk


## NETWORKING
# Create interface
ip link add dev wg0 type wireguard

# Assign address and mask
ip address add dev wg0 192.168.2.1/24

# Set port
wg set wg0 listen-port 51871


wg set wg0 listen-port 51871 private-key ./peer_A.key