Winlogon

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Winlogon est un composant de Windows qui gère l'ouverture et la fermeture de session, et le Ctrl-Alt-Delete. En particulier :

Les fonctionnalités d'authentification et d'identification sont faites via la bibliothèque logicielle GINA[1] (Graphical Identification aNd Authorization). Winlogon gère les fonctions d'interface intermédiaire, qui sont indépendantes de la stratégie d'authentification.

Il implémente aussi les opérations de time-out.

Winlogon vérifie aussi la licence Windows.

Processus système critique[modifier | modifier le code]

WinLogon est un des processus système critiques de windows, c'est-à-dire qu'il ne peut être arrêté. Les autres processus critiques sont :

Procédure de démarrage de winlogon[modifier | modifier le code]

Voir Processus de démarrage de Windows NT#Winlogon

Ctrl-Alt-Suppr[modifier | modifier le code]

Ctrl-Alt-Suppr intercepté par WinLogon[modifier | modifier le code]

WinLogon intercepte les Ctrl-Alt-Sup. Dans ce cas, il appelle les fonctions de traitement du SAS (Secure attention key) dans la bibliothèque GINA. Voir (en) en:Secure attention key

Comparatif avec le ctrlaltsuppr de linux[modifier | modifier le code]

Dans la configuration de la plupart des distributions linux, la frappe de Ctrl-Alt-Suppr provoque le reboot (shutdown -r) du système, à moins qu'une interface graphique soit active. Ceci est paramétré par une ligne du fichier inittab (ligne contenant la chaîne de caractères ctrlaltsuppr).

NB : dans le cas d'une interface graphique sous linux, le ctrlaltsuppr est dans la plupart des cas intercepté par des processus intermédiaires et ne provoque donc pas le reboot.

Un WINLOGON.EXE pour chaque utilisateur connecté[modifier | modifier le code]

S'il y a N utilisateurs qui ont ouvert une session, il y aura

Chargement d'un profil utilisateur[modifier | modifier le code]

Quand un utilisateur s'est connecté et authentifié, WinLogon charge son profil dans le registre ; cela permet aux processus de cet utilisateur d'utiliser la clé de registre HKEY_CURRENT_USER (plus exactement, toutes les données qui sont sous l'arborescence correspondante). WinLogon fait cela automatiquement après un login réussi et avant l'activation du shell de l'utilisateur.

Fonction CreateProcessAsUser[modifier | modifier le code]

Sur la connexion d'un utilisateur, WinLogon appelle une fonction de la bibliothèque GINA, qui elle-même appelle une fonction appelée CreateProcessAsUser. Ce comportement par défaut peut éventuellement être modifié pour des besoins spécifiques (sécurité ou autre).

Le shell de Windows[modifier | modifier le code]

Après qu'un utilisateur s'est authentifié, il travaille sous un shell graphique, en général Explorateur Windows (explorer.exe).

En fait, le shell utilisé est un paramètre de Winlogon ; à la place de l'explorateur Windows, on peut mettre par exemple LiteStep.

Ce paramètre de Winlogon est défini par l'entrée du registre HKey_Current_User\Software\Microsoft\Windows NT\CurrentVersion\Winlogon>Shell.

Contrôle de l'écran de veille[modifier | modifier le code]

Winlogon contrôle le clavier et la souris pour déterminer quand activer un écran de veille. Une fois que l'écran de veille est activé, il continue à contrôler le clavier et la souris pour arrêter l'écran de veille dès qu'il détecte une activité.

Si l'écran de veille est marqué comme sécurisé, WinLogon verrouillera la session en cours et refera une demande d'authentification via la fonction WlxDisplayLockedNotice .

Écran d'accueil sur la connexion d'un utilisateur[modifier | modifier le code]

Écran d'accueil sur la connexion d'un utilisateur de Windows[modifier | modifier le code]

La liste des utilisateurs qui apparaissent éventuellement dans l'écran d'accueil est fonction du paramétrage de Winlogon. Exemple : pour que l'utilisateur Dupont n'apparaisse pas dans cette liste, il faut créer une valeur "Dupont", valeur 0 de type Dword dans HKey_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList". Dans le cas particulier d'un utilisateur qui a été renommé, le nom de la valeur doit être le nom initial de l'utilisateur (par exemple Dupont dans le cas d'un Mr Dupont ayant changé de patronyme pour Dupond, et il faudra créer une valeur Dword nommée Dupont à 0 pour éviter qu'il apparaisse dans l'écran d'accueil).

L'utilitaire regedit n'affichera la clé SpecialAccounts que si l'utilisateur a des droits suffisants, par exemple, s'il est membre du groupe des administrateurs.

REMARQUE

L'affichage ou le non-affichage du dernier utilisateur connecté avec succès n'est pas un paramètre de Winlogon (paramètre Dontdisplaylastusername de HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network)

Comparatif avec l'écran d'accueil de linux sur la connexion d'un utilisateur[modifier | modifier le code]

Sous linux, les logiciels gdmlogin et kdm (pour KDE) font partie de ceux qui assurent une fonction analogue à celle de l'écran d'accueil de WinLogon.

Le paramètre Dontdisplaylastusername de Microsoft Windows est analogue au paramètre DisplayLastLogin de gdmlogin.

Autologon[modifier | modifier le code]

Autologon de Windows[modifier | modifier le code]

Pour améliorer l'ergonomie (au détriment de la sécurité), il est possible de pouvoir se connecter automatiquement sans que l'utilisateur soit obligé de s'authentifier. Le paramétrage se fait sous la clef de registre HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon. Cette clef est interrogée par le processus Winlogon.exe lorsqu'une ouverture de session est sollicitée.

Les valeurs chaînes suivantes sont nécessaires à un autlogon :

  • AutoAdminLogon doit être égale à 1 (active l'autologon)
  • DefaultUserName doit contenir le nom du compte utilisé
  • DefaultPassword doit contenir le mot de passe du compte utilisé
  • DefaultDomainName doit contenir le nom de domaine du compte utilisé

Deux autres valeurs peuvent jouer un rôle :

  • AutologonCount est une valeur DWORD qui contient le nombre d'ouverture de session automatique souhaité. Cette valeur de décrémente de 1 à chaque ouverture de session (les session TSE sont comptabilisées). Une fois arrivée à 0, le système repasse AutoAdminLogon à 0 et supprime la valeur DefaultPassword.
  • ForceAutoLogon est une valeur chaîne. Si elle est égale à 1, elle active l'autologon à la fermeture de session. Sans elle l'autologon n'est actif qu'au démarrage du système. Elle permet d'exécuter un LogOff/LogOn en automatique.

Comparatif avec l'autologon de linux[modifier | modifier le code]

L'autologon est aussi possible sous linux; par exemple, si on utilise l'interface GNOME, le paramètre s'appelle automaticLogonEnable (fichier de configuration : gdm.conf). Il est aussi possible d'utiliser gdmsetup.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. (en) GINA : Bibliothèque Windows pour l'authentification et l'identification, NB : Sur Windows Vista, GINA a été remplacé par Credential Providers