
Cet articlene cite pas suffisamment ses sources().
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».
En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?
Winlogon est un composant deWindows qui gère l'ouverture et la fermeture de session, et leControl-Alt-Suppr. En particulier :
Les fonctionnalités d'authentification et d'identification sont faites via labibliothè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.
Winlogon gère les fonctions d'interface indépendantes de la stratégie d'authentification. Il crée les bureaux de la station Windows, implémente des opérations de temporisation et, dans les versions de Windows antérieures à Windows Vista , fournit un ensemble de fonctions de support pour GINA et assume la responsabilité de la configuration de lastratégie de groupe de la machine et de l'utilisateur.
Winlogon vérifie également si la copie de Windows est une licence légitime dans Windows XP et les versions ultérieures.
Winlogon a plusieurs responsabilités.
WinLogon est un des processussystème critique de windows, c'est-à-dire qu'il ne peut être arrêté. Les autres processus critiques sont :
VoirProcessus de démarrage de Windows NT#Winlogon
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
Dans la configuration de la plupart desdistributions linux, la frappe de Ctrl-Alt-Suppr provoque le reboot (shutdown -r) du système, à moins qu'uneinterface graphique soit active. Ceci est paramétré par une ligne du fichierinittab (ligne contenant la chaîne de caractèresctrlaltsuppr).
NB : dans le cas d'une interface graphique sous linux, lectrlaltsuppr est dans la plupart des cas intercepté par des processus intermédiaires et ne provoque donc pas le reboot.
S'il y a N utilisateurs qui ont ouvert une session, il y aura :
Quand un utilisateur s'est connecté et authentifié, WinLogon charge son profil dans leregistre ; 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 dushell de l'utilisateur.
Sur la connexion d'un utilisateur, WinLogon appelle une fonction de la bibliothèque GINA, qui elle-même appelle une fonction appeléeCreateProcessAsUser. Ce comportement par défaut peut éventuellement être modifié pour des besoins spécifiques (sécurité ou autre).
Après qu'un utilisateur s'est authentifié, il travaille sous un shell graphique, en généralExplorateur Windows (explorer.exe).
En fait, le shell utilisé est un paramètre de Winlogon ; à la place de l'explorateur Windows, on peut mettre par exempleLiteStep.
Ce paramètre de Winlogon est défini par l'entrée duregistreHKey_Current_User\Software\Microsoft\Windows NT\CurrentVersion\Winlogon>Shell.
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 fonctionWlxDisplayLockedNotice .
La liste des utilisateurs qui apparaissent éventuellement dans l'écran d'identification est fonction du paramétrage de Winlogon.
Exemple : pour que l'utilisateur « Dupont » n'apparaisse pas dans cette liste, il faut créer unidentifiant de la taille d'undouble mot (typedword en anglais) nommée « Dupont » qui a pour valeur 0 dansHKey_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 M. Dupont ayant changé de patronyme pour « Dupond », il faudra créer un identifiant « Dupont » de typedword qui aura pour valeur 0 afin d'éviter qu'il apparaisse dans l'écran d'identification.
L'utilitaireregedit n'affichera la cléSpecialAccounts que si l'utilisateur a des droits suffisants, par exemple, s'il est membre du groupe des administrateurs.
L'affichage ou le non-affichage du dernier utilisateur connecté avec succès n'est pas un paramètre de Winlogon (paramètreDontdisplaylastusername deHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network)
Sous linux, les logicielsgdmlogin et kdm (pourKDE) font partie de ceux qui assurent une fonction analogue à celle de l'écran d'identification de WinLogon.
Le paramètreDontdisplaylastusername de Microsoft Windows est analogue au paramètreDisplayLastLogin degdmlogin.
Pour améliorer l'ergonomie (au détriment de la sécurité), il est possible de se connecter automatiquement sans que l'utilisateur soit obligé de s'authentifier. Le paramétrage se fait sous la clef de registreHKLM\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 :
Deux autres valeurs peuvent jouer un rôle :
L'autologon est aussi possible sous linux; par exemple, si on utilise l'interface GNOME, le paramètre s'appelleautomaticLogonEnable (fichier de configuration :gdm.conf). Il est aussi possible d'utilisergdmsetup.