Notifications Webhook
UserLock élargit les possibilités d’automatisation en vous permettant d’envoyer directement des notifications à des applications tierces dès qu’un évènement de connexion se produit sur votre réseau. Ces notifications en temps réel peuvent être intégrées à des applications ou des plateformes de surveillance, et des workflows personnalisés peuvent être construits en fonction d’évènements d’accès spécifiques.
Chaque évènement de connexion – ou de tentative de connexion – sera notifié via le webhook avec toutes les informations associés à l’évènement (utilisateur, machine, adresse IP, type de session, date et heure, etc.).
Les webhooks et l’API de UserLock peuvent être utilisés de plusieurs manières pour apporter les données de UserLock dans d'autres applications.
- Envoyez les données de connexion vers votre solution SIEM pour une analyse plus précise.
- Envoyez les données de connexion vers votre système de gestion de présence, pour enregistrer avec précision les horaires et heures supplémentaires de vos employés.
- Déclenchez des processus en temps réel, tel qu’un blocage dans votre Active Directory d’un utilisateur suite à un évènement de connexion suspect.
- Intégrez les données de connexions à votre système de contrôle d’accès physique pour mieux contrôler l’accès des employés aux portes et portiques d’entrée. (Par exemple, une tentative d’accès à un bâtiment avec un badge compromis serait refusée si un utilisateur est déjà connecté sur son poste de travail)
Pour configure les notifications webhooks, il suffit d’entrer l’URL de l’application cible. Une fois la sauvegarde effectuée, UserLock enverra automatiquement une notification au format JSON à chaque évènement de connection (tel que les connexions, déconnexions, verrouillages, déverrouillages, connexions refusées, etc.).
Note: Si le serveur primaire UserLock devient indisponible, et qu'un serveur de sauvegarde a été déployé, ce dernier continuera d'envoyer les notifications webhook, en plus de traiter les évènements de session. Ainsi le service vers vos applications tierces ne sera pas interrompu. Les paramètres du webhook sont synchronisés automatiquement entre le serveurs primaire et le serveur de sauvegarde. Il n'est donc pas possible de modifier ces paramètres au niveau du serveur de sauvegarde.
Exemple d’application
Nous vous avons mis à disposition une application pour tester la fonctionnalité: https://userlockwebhook.azurewebsites.net/
Cette simple application est couplée avec un webservice de géolocalisation tierce, qui trouvera, pour chaque évènement de connexion envoyé par UserLock, le pays de l’utilisateur.
Les données affichées sur cette application sont publiques, donc nous vous recommandons de ne pas tester avec votre environnement de production. Néanmoins, les données affichées ne sont pas d’une nature critique : type et heure de l’évènement, nom de l’utilisateur, nom de la machine, pays, et une partie de l’ID de votre UserLock, pour que vous puissez identifier facilement les notifications envoyées par votre instance UserLock.
Comment créer votre propre application web
Si vous souhaitez créer votre propre application, veuillez suivre ce guide (en anglais). Il vous aidera à créer pas à pas une application .NET semblable à celle fournie en exemple ci-dessus (sans le webservice de géolocalisation).
Vous pouvez également consulter et utiliser l’API UserLock pour augmenter considérablement les interactions possibles grâce au webhook.
Comment sécuriser vos notifications webhook
Recevoir des notifications depuis une source non autorisée peut générer des problèmes si un utilisateur malveillant a décidé de tromper votre application. Pour supprimer cette possibilité, les notifications JSON envoyées par le service UserLock contiennent un champ « UserLock ID » qui permet de s’assurer que toutes les notifications reçues proviennent d’une source de confiance.
A ce moment, il est important de comprendre qu’en appliquant un filtre sur le UserLock ID, toutes les notifications provenant d’un serveur non autorisé seront ignorées : le champ « UserLock ID » est le secret échangé entre le service UserLock et votre application. Si un membre de votre organisation partage ce secret, le compromettant, il vous sera possible de le modifier (voir la section Réinitialiser le champ « UserLock ID »). Néanmoins, à chaque fois que le champ « UserLock ID » sera réinitialisé, il vous faudra mettre à jour toutes les applications capables de recevoir les notifications puisque le nouveau « UserLock ID » leur sera inconnu.
Note : si vous avez déployé un serveur de sauvegarde en plus du serveur primaire, veuillez ne pas oublier de rajouter son propre « UserLock ID » à la liste des serveurs autorisés dans votre application.
Récupérer le champ « UserLock ID »
Pour récupérer le champ « UserLock ID », veuillez ouvrir une console Powershell sur le serveur où le service UserLock est installé et entrez la commande suivante :
Get-UserLockServerConfiguration -Property 'ServerGuid'
Réinitialiser le champ « UserLock ID »
Pour réinitialiser le champ « UserLock ID », veuillez ouvrir une console Powershell sur le serveur où le service UserLock est installé et entrez la commande suivante :
(Get-UserLockServerConfiguration).ResetGUID()
Important ! Vous ne devriez réinitialiser le champ « UserLock ID » qu’en de rares occasions i.e. quand celui-ci a été compromis ce qui permettrait à des sources malveillantes d’envoyer de fausses notifications JSON à votre application webhook. En effet, réinitialiser le champ « UserLock ID » entraîne la mise à jour de toutes les applications webhook clientes pour que le nouveau secret soit accepté comme expliqué précédemment.