Déployer l'agent NPS

L’agent NPS étend le service Network Policy Server (NPS) afin d’appliquer les stratégies d’accès UserLock et l’authentification multifacteur (MFA) lors des authentifications RADIUS (VPN, Wi-Fi, etc.).

Publié le 31 mai 2024

Introduction

L’agent NPS de UserLock est une bibliothèque DLL enregistrée dans le service Network Policy Server (NPS).
Elle est appelée à chaque authentification RADIUS, ainsi qu’à l’ouverture et à la fermeture des sessions (comptabilité RADIUS).

Cette intégration permet à UserLock d’appliquer des stratégies d’accès et une MFA aux utilisateurs se connectant via VPN ou Wi-Fi.

Note
  • NPS prend en charge plusieurs DLL d’administration. L’agent UserLock peut coexister avec d’autres sans conflit.

  • La base de registre supporte la saisie de plusieurs chemins DLLs (valeur de type REG_MULTI_SZ).

  • NPS charge les DLL dans l’ordre indiqué dans le Registre Windows.

  • Consulter la documentation Microsoft – NPS Extensions

Étape 1. Installer l’agent

Vous pouvez installer l’agent NPS automatiquement depuis la console UserLock, ou manuellement sur votre serveur NPS.

Option A – Installation depuis la console

💡️ Le moyen le plus simple consiste à déployer l’agent NPS directement depuis la console UserLock.

Voir : Installation depuis la console

Option B – Installation manuelle

Si vous ne pouvez pas déployer l’agent NPS depuis la console, vous pouvez l’installer manuellement sur le serveur NPS.

  1. Copier et enregistrer le module

    1. Copiez le fichier DLL correspondant depuis le dossier d’installation de UserLock vers %windir%\System32\ sur le serveur (par exemple : C:\Program Files\UserLock IIS Agent).

    2. Ouvrez une invite de commandes avec élévation de privilèges (Exécuter en tant qu’administrateur).

    3. Exécutez la commande correspondant à l’architecture de votre serveur:

      Server architecture

      File to copy

      Command to register

      32-bit

      ULIasAgent.dll

      regsvr32 C:\Windows\System32\ULIasAgent.dll

      64-bit

      ULIasAgent_x64.dll
      (rename to ULIasAgent.dll)

      regsvr32 C:\Windows\System32\ULIasAgent.dll

  2. Enregistrez les paramètres de communication

    Créez la clé de registre suivante pour permettre à l’agent NPS de communiquer avec les serveurs UserLock:

    • Chemin du registre:
      HKEY_LOCAL_MACHINE\SOFTWARE\ISDecisions\UserLock\IAS

    • Clés:

      Valeur

      Type

      Description

      UserLockServer

      REG_SZ

      Nom du serveur UserLock principal

      UserLockServerBackup

      REG_SZ

      Nom du serveur UserLock de secours

Étape 2. Redémarrer les services

Après l’installation ou la désinstallation de l’agent NPS (depuis la console ou manuellement), son statut s’affiche comme Installation en cours ou Désinstallation en cours dans la page Environnement ▸ Machines.

Pour rendre l’installation effective :

  1. Arrêtez le service Routing and Remote Access (RemoteAccess).

    Attention : cette opération fermera toutes les connexions VPN actives.

  2. Arrêtez le service Network Policy Server (IAS).

  3. Redémarrez le service Routing and Remote Access (RemoteAccess).

  4. Redémarrez le service Network Policy Server (IAS).

Voici les commandes PowerShell qui permettent de le faire :

powershell
# Arrêter le service "Routing and Remote Access" (RemoteAccess)
Stop-Service RemoteAccess

# Attention : cette opération fermera toutes les connexions VPN actives.
# Arrêter le service "Network Policy Server" (IAS)
Stop-Service IAS

# Redémarrer les deux services
Start-Service RemoteAccess
Start-Service IAS 

Désinstaller l’agent

Option A – Depuis la console

  1. Désinstallez l’agent directement depuis la console UserLock.

  2. Le statut de l’agent s’affichera comme Désinstallation en cours. Redémarrez les services NPS comme décrit dans l'étape 2 pour finaliser la procédure.

Option B – Manuellement

  1. Désenregistrez la DLL en exécutant la commande suivante en tant qu’administrateur :
    regsvr32 /u C:\Windows\System32\ULIasAgent.dll

  2. L’agent sera désactivé mais restera chargé en mémoire tant que les services ne sont pas redémarrés.

  3. Redémarrez les services NPS comme décrit dans l'étape 2 pour finaliser la procédure.

Limitations connues et paramètres supplémentaires

Sessions Wi-Fi dupliquées

Certains points d’accès Wi-Fi ne respectent pas complètement la norme RADIUS et peuvent ne pas toujours envoyer les notifications de déconnexion.
En conséquence, une même session (même compte utilisateur, même appareil, éventuellement le même point d’accès Wi-Fi) peut apparaître plusieurs fois dans UserLock.

Pour éviter ces sessions dupliquées, l’agent NPS de UserLock propose deux paramètres de registre DWORD (32-bit) optionnels dans:
HKEY_LOCAL_MACHINE\SOFTWARE\ISDecisions\UserLock\IA

Nom de la valeur

Description

AutoResetPrevious
SessionSameData

Lorsqu’elle est activée (1), ferme une session précédente si le même utilisateur, le même appareil et le même point d’accès Wi-Fi (WAP) se reconnectent.
Default: 1 - (ON)

AutoResetPrevious
SessionSameDataAndWap

Lorsqu’elle est activée (1), ferme également les sessions précédentes même si l’utilisateur se connecte via un autre point d’accès Wi-Fi.
Default: 0 - (OFF)

Combinaisons de comportement

Le comportement dépend de la configuration des deux clés.
En combinant leurs valeurs, vous pouvez contrôler la façon dont UserLock gère les reconnexions d’un même utilisateur sur un ou plusieurs points d’accès Wi-Fi.

AutoReset
PreviousSession
SameData

AutoReset
PreviousSession
SameData
AndWap

Même utilisateur, même appareil et même WAP

Même utilisateur et appareil, WAP différent

1

1

✅ Fermeture automatique

⚠️ La session précédente reste active

1

0

✅ Fermeture automatique

✅ Fermeture automatique

0

0

⚠️ La session précédente reste active

⚠️ La session précédente reste active

Note
  • ✅ Fermeture automatique : UserLock met fin à toute session existante correspondant à la nouvelle connexion RADIUS, afin d’éviter les doublons.

  • ⚠️ La session précédente reste active : la session existante n’est pas fermée, ce qui peut entraîner des sessions dupliquées.