|
|
|
|
|
- Présentation
- Le contrôle de compte utilisateur dans Windows Vista (et supérieures)
- La redirection
- Redirection de fichiers
- Redirection de la base de registre
- Comment élever le privilège d'un utilisateur
- Impact de l'UAC sur les applications WINDEV
- Familles de fonctions pouvant être touchées par le mécanisme de l'UAC
Le mécanisme de l'UAC sous Windows Vista (et supérieur)
Pour augmenter la sécurité des postes face aux vers et virus, à partir de Windows Vista, le mécanisme de l'UAC (le contrôle de compte utilisateur) a été mis en place. Par défaut, ce mécanisme considère que tous les utilisateurs (administrateurs y compris) sont de simples utilisateurs avec des droits réduits. Pour exécuter une application nécessitant des droits supplémentaires, le mécanisme de l'UAC demande une confirmation. Cette page d'aide présente brièvement le mécanisme de l'UAC. Pour obtenir plus de détails, consultez l'aide de Windows (version Vista ou supérieure). Le contrôle de compte utilisateur dans Windows Vista (et supérieures) Il existe principalement deux types de comptes sous Windows : - le compte administrateur qui possède tous les droits et privilèges pour administrer un poste.
- le compte utilisateur standard qui possède des droits et des privilèges limités.
Le contrôle de compte utilisateur réduit la surface d'attaque des logiciels malveillants. Tous les utilisateurs (y compris les administrateurs) s'exécutent avec un compte limité par défaut. Les utilisateurs peuvent élever temporairement leurs privilèges lorsqu'il est nécessaire d'exécuter des tâches d'administration ou d'installation. Par défaut, les administrateurs exécutent la plupart des tâches avec un privilège d'utilisateur standard. Lorsqu'ils doivent effectuer une tâche administrative, ils doivent donner leur consentement dans une fenêtre qui s'affiche : Note : L'aspect de cette fenêtre variera selon que l'exécutable est signé ou non. Les privilèges élevés ne seront obtenus que pendant la durée de l'exécution du processus demandé. Toutes les autres tâches seront réalisées avec le compte utilisateur standard. Le contrôle de compte utilisateur assure : - que tous les utilisateurs utilisent des privilèges standard par défaut.
- qu'un consentement explicite est obligatoire pour une élévation de privilèges.
- qu'un haut niveau de compatibilité est assuré pour les applications existantes.
Si un utilisateur tente d'écrire dans la base de registre (clé HKEY_LOCAL_MACHINE\SOFTWARE) ou dans un répertoire système sans avoir les droits nécessaires, Windows effectue automatiquement une redirection des ces écritures. Une information redirigée écrite par un programme pourra être relue par ce programme. Cette redirection s'effectue par utilisateur : si une application utilisant le mécanisme de redirection est lancée par deux utilisateurs différents, ces applications ne pourront pas échanger des informations. Cette redirection est effectuée uniquement si l'utilisateur n'a pas les droits administrateur nécessaires pour effectuer cette opération. Remarques : - Cette redirection est réalisée pour assurer la compatibilité des applications, car une application pour Vista, Windows 7 ou Windows 2008 doit éviter d'écrire dans ces répertoires. Le support de cette redirection peut ne pas exister dans les prochaines versions de Windows.
- Cette redirection est effectuée uniquement pour les applications 32 bits (et non pour les applications 64 bits).
Redirection de fichiers Si une application écrit dans un des répertoires systèmes (Windows, Program Files, ...), cette écriture sera réalisée uniquement si l'utilisateur a les doits suffisants (administrateur). Dans le cas contraire, Windows redirige l'écriture vers un répertoire propre à l'utilisateur que exécute l'application. Redirection de la base de registre Si une application écrit dans la clé HKEY_LOCAL_MACHINE\SOFTWARE, cette écriture sera réalisée uniquement si l'utilisateur a les droits suffisants (administrateur). Dans le cas contraire, Windows redirige l'écriture vers la clé HKEY_CURRENT_USER\Software\Classes\VirtalStore\MACHINE\SOFTWARE. Comment élever le privilège d'un utilisateur Par défaut, lors du lancement de l'exécutable, le système détermine si l'exécutable a besoin de privilèges spécifiques en se basant par exemple sur les élément suivants : - la présence d'un fichier manifeste indiquant explicitement les droits requis par l'application
- les options cochées dans les propriétés de l'exécutable
- le nom de l'exécutable (exécutables contenant certains mots-clés dans leur nom ou dans leur description)
- le contenu de l'exécutable
- si l'exécutable ne s'est pas terminé correctement lors d'un précédent lancement.
L'utilisateur peut effectuer une élévation de privilèges par l'une des opérations suivantes : - Clic droit sur l'exécutable, et sélection de l'option "Exécuter en tant qu'administrateur".
- Cocher l'option "Exécuter ce programme en tant qu'administrateur" dans l'onglet "Compatibilité" des propriétés de l'exécutable.
- Utiliser un manifeste qui spécifie les droits nécessaires à l'exécutable. Cette solution est proposée par WINDEV. Lors de la création de l'exécutable, il est possible d'intégrer un manifeste à votre exécutable.
Remarques : - Les exécutables demandant une élévation de privilèges sont affichés sous Windows avec un bouclier sur l'icône de l'exécutable.
- Windows peut demander automatiquement une élévation de privilèges s'il détecte que le programme est un programme d'installation.
- Attention : En lançant une application avec les privilèges "Administrateur", les connexions réseau sont perdues. Il s'agit d'une option de sécurité de Windows liée à l'UAC : Lorsque les privilèges de l'utilisateur sont augmentés, les lecteurs réseau sont déconnectés. Pour continuer à les utiliser, il faut les reconnecter spécifiquement. Utilisez pour cela la fonction RéseauConnecte.
RéseauConnecte("S:","\\Serveur\partage", "user", "password")
Note : Les paramètres user et password sont obligatoires dans ce cas car Windows considère que l'utilisateur a changé.
Impact de l'UAC sur les applications WINDEV - Si une application s'exécute correctement sous Windows XP en tant qu'utilisateur standard, l'UAC n'a aucun impact.
- Si une application nécessite des privilèges administrateur, il est nécessaire d'inclure un manifeste dans l'exécutable (demandant les privilèges administrateur).
- Si la redirection influe et change le comportement de l'application, il est nécessaire d'inclure un manifeste dans l'exécutable (demandant les privilèges administrateur).
Rappel : WINDEV permet d'inclure un manifeste lors de la création de l'exécutable. Familles de fonctions pouvant être touchées par le mécanisme de l'UAC Voici les différentes familles de fonctions ou fonctions dont le fonctionnement peut être modifié par l'activation du mécanisme de l'UAC (Rappel : le mécanisme de l'UAC est activé par défaut sur Windows Vista (et supérieur) : Cette liste n'est pas exhaustive. Conseil de programmation : Pour créer/modifier un fichier sans avoir besoin de privilèges administrateur, il est conseillé de respecter la norme de programmation de Windows Vista (et supérieur). Pour plus de détails, consultez Normes de programmation Windows Vista.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|