Winlogon
Un article de Wikipédia, l'encyclopédie libre.
Winlogon est un composant de Windows qui gère l'ouverture et la fermeture de session, et le Ctrl-Alt-Delete. En particulier,
- il charge le profil d'un utilisateur après qu'il s'est authentifié
- il gère l'écran de veille ; sur le retour au mode normal, on peut paramétrer WinLogon pour obliger l'utilisateur à s'authentifier une nouvelle fois.
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.
Sommaire |
[modifier] Processus système critique
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 :
- lsass.exe (sécurité locale)
- services (Windows Service Controller)
- smss.exe (Gestionnaire de session)
- csrss.exe (Client/Server Runtime SubSystem)
[modifier] Procédure de démarrage de winlogon
Voir Processus de démarrage de Windows NT#Winlogon
[modifier] Ctrl-Alt-Delete
[modifier] Ctrl-Alt-Delete intercepté par WinLogon
WinLogon intercepte les Ctrl-Alt-Del. 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
[modifier] Comparatif avec le ctrlaltdelete de linux
Dans la configuration de la plupart des distributions linux, la frappe de Ctrl-Alt-Delete provoque le reboot (shutdown -r) du système SI on n'est pas dans une interface graphique. Ceci est paramétré par une ligne du fichier inittab (ligne contenant la chaîne de caractères ctrlaltdelete).
NB : dans le cas d'une interface graphique sous linux, le ctrlaltdelete est dans la plupart des cas intercepté par des processus intermédiaires et ne provoque donc pas le reboot.
[modifier] Un WINLOGON.EXE pour chaque utilisateur connecté
S'il y a N utilisateurs qui ont ouvert une session, il y aura
- Un SEUL processus smss.exe (Session Manager SubSystem)
- N processus winlogon.exe
- N processus csrss.exe (Client/Server Runtime SubSystem)
[modifier] Chargement d'un profil utilisateur
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.
[modifier] Fonction CreateProcessAsUser
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).
[modifier] Le shell de Windows
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 .
[modifier] Contrôle de l'écran de veille
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 .
[modifier] Écran d'accueil sur la connexion d'un utilisateur
[modifier] Écran d'accueil sur la connexion d'un utilisateur de Windows
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"
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
[modifier] Comparatif avec l'écran d'accueil de linux sur la connexion d'un utilisateur
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.
[modifier] Autologon
[modifier] Autologon de Windows
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. Ceci est paramétré dans le registre par les paramètres AutoAdminLogon, DefaultUserName, DefaultPassword...etc.
[modifier] Comparatif avec l'autologon de linux
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.
[modifier] Voir aussi
[modifier] Articles connexes
- Shell de Windows
- (en) en:GINA
[modifier] Liens externes
- WinLogon sur le site de commentcamarche
- Winlogon chez Microsoft
- MSKB:193361 MSGINA.DLL does not Reset WINLOGON Structure
[modifier] Notes
- ↑ (en) GINA : Bibliothèque Windows pour l'authentification et l'identification, NB : Sur Windows Vista, GINA a été remplacé par Credential Providers