Blog R&D

Chercher
Msiexec et l'UAC

Depuis Vista, Windows est doté d’un mécanisme de protection des données connu sous l’acronyme UAC (contrôle du compte utilisateur). Il permet de lancer les applications avec des droits limités même si l’utilisateur possède des droits administratifs. Si les programmes ne demandent pas les privilèges d’administration, alors ils tourneront avec des droits restreints.

Les setups des produits Prim’X réalisent pour la plupart des installations par ordinateur. Leur exécution provoque donc une demande d’élévation de privilèges et ce même si le compte utilisé est présent dans le groupe « Administrateurs ». Une fois que le setup possède les privilèges d’administration, il peut lancer l’installation du msi embarqué avec ses mêmes droits. Dans ce cas, l'installation se déroule bien.

Dans le cas ou le .msi a été masterisé (donc extrait du setup) et même si le compte utilisé est dans le groupe Administrateur, il est nécessaire de lancer le msi en tant qu’administrateur. Si ce n'est pas le cas, l'installation échouera (dans les logs de l'exécution du .msi, vous trouverez alors plusieurs fois l'erreur 0x80070005 => Accès refusé).

Malheureusement, l’entrée « Exécuter en tant qu’administrateur » du menu contextuel du clic-droit des exécutables n’est pas présente pour les fichiers .msi. Il est alors nécessaire d’utiliser une invite de commandes lancée en tant qu’administrateur pour exécuter une commande msiexec (msiexec /i "C:\ZoneCentral.msi").

Petite astuce pour ne pas utiliser d'invite de commandes : vous pouvez ajouter une entrée dans le menu contextuel des .msi en enregistrant les clés ci-dessous dans la base de registre.

Ajouter les lignes suivantes dans un fichier .reg pour réaliser la registration des clés :


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Msi.Package\shell\SetupAsAdmin]
@="&Installer en tant qu'administrateur"

[HKEY_CLASSES_ROOT\Msi.Package\shell\SetupAsAdmin\command]
@="runas /user:Administrateur \"msiexec /i \\\"%1\\\"\""


Le nom de l’administrateur local a pu être modifié, il faut donc l’adapter en conséquence.



ZoneCentral et les clés USB
Par défaut, ZoneCentral n'applique aucun traitement spécifique aux volumes amovibles : ils sont considérés comme des volumes standard, peuvent contenir des zones et être spécifiés dans les consignes de chiffrement.

Il peut néanmoins être souhaitable que ces volumes, parce-qu'ils sont amovibles, se voient appliquer un traitement particulier.

Par exemple, des clés qui ne transitent qu'entre des postes équipés de ZoneCentral peuvent être intégralement chiffrés, les clés qui sont destinées à sortir de l'entreprise peuvent embarquer un conteneur chiffré avec le lecteur Zed!, etc.

Grâce à la politique P200, des actions propres aux volumes amovibles peuvent être déclenchées lors de leur insertion. Des profils de chiffrement peuvent aussi être spécifiés, profils dont l'application peut être rendue obligatoire : l'utilisateur ne peut pas utiliser sa clé tant que son état n'est pas conforme à ce qu'a décidé l'administrateur.

La liste des actions (mot clé Action) est la suivante :
  • Ignore : le volume n'est pas considéré comme amovible, aucun traitement spécifique n'est appliqué.
  • Block : les données ne peuvent pas être lues où écrites.
  • ReadOnly : les données peuvent uniquement être lues.
  • EncryptedWriteOnly : lecture autorisée, mais seules les écritures chiffrées sont autorisées.
Si aucune de ces actions n'est précisée alors les écritures de données en clair sont autorisées ; c'est à l'utilisateur de faire preuve de discipline et de ne pas déposer de données sensibles dans les emplacements non-chiffrés de sa clé USB.

Plusieurs types de chiffrement (mot clé Profile) sont possibles, en fonction de l'usage de la clé :
  • FullZone : clé entièrement chiffrée, utilisable uniquement sur des postes équipés de ZoneCentral.
  • SubZone : un dossier chiffré est créé, pour une clé multi-usages : les données sensibles sont déposées dans la zone et ne peuvent être accédées que depuis un poste équipé de ZoneCentral. Le reste de la clé peut être utilisé sur des postes sans ZoneCentral, et ne doit pas contenir de données sensibles.
  • Zed : La clé est destinée à des postes non équipés de ZoneCentral, mais contient des données sensibles. Dans ce cas ces données doivent être déposées dans un Zed! créé à la racine du volume. Le lecteur Zed! est automatiquement copié sur la clé.
  • FullZoneAndZed, SubZoneAndZed et SubZoneAndSubZed : combinaisons des modes ci-dessus.
Mais comment déterminer automatiquement l'usage qui sera fait de la clé ?
  • Il est possible de trier les volumes par types (mot clé Type) : "eSata", "USB", "1394", "SD", "MMC" ou "Other".
  • Les clés ont des identifiants (mot clé Id) qui sont fonctions de leurs constructeur. Si ces clés ont été attribuées par l'entreprise, alors elles peuvent être facilement filtrées par ce critère.
  • Sinon il faut adopter un comportement par défaut, qui peut être de laisser le choix à la discrétion de l'utilisateur.
En pratique, la politique P200 est constituée de plusieurs lignes de type <Nom de valeur> <Valeur>
  • Le nom de valeur contient la description de la clé (Type et Id). Cette description peut être plus ou moins précise (seulement le type, seulement l'identifiant, où "*"), le nom de valeur le plus précis sera utilisé quand la clé correspondante sera insérée. Le champ Id peut contenir les méta-caractères "?" et "*".
  • La valeur contient les Action, les Profile, ainsi que d'éventuelles options (détaillées plus bas). Une seule action est possible dans une valeur, mais il est possible de spécifier plusieurs profils et ainsi laisser le choix à l'utilisateur.
Ci-dessous les options supplémentaires quand (au moins) un profil est spécifié :
  • ProfileNeededToWrite=1 : tant que le volume n'est pas conforme à un des profils, l'écriture de données sera refusée.
  • HideCancelCheckBox=1 : la case à cocher "Ne plus me proposer" de la fenêtre d'application d'un profil est masquée.
  • HideCancelButton=1 : le bouton "Annuler" de la fenêtre de proposition d'application d'un profil est masqué.
  • SubZoneName=xxxx : choix du nom de la zone chiffrée créée (avec un des profils "SubZone"). Par défaut le nom "Protected" est utilisé.
  • ContainerName=xxxx : choix du nom du conteneur chiffré créé (avec un des profil "Zed"). Par défaut le nom "Protected.zed" est utilisé.
La commande ZoneCentral zcucmd permet de déterminer facilement l'identifiant d'une clé une fois celle-ci insérée dans le poste :

C:\Program Files\Prim'X\ZoneCentral [x64]>zcucmd sv -d
72 volume(s) gérés :
[C:]
  Périphérique : \Device\HarddiskVolume2
[...]
[J:]
  Périphérique : \Device\HarddiskVolume39
  Type de bus : USB
  Id. de périphérique : USBSTOR\Disk&Ven_&Prod_USB_Flash_Memory&Rev_1.04
  Id. matériel :
  USBSTOR\Disk________USB_Flash_Memory1.04
  USBSTOR\Disk________USB_Flash_Memory
  USBSTOR\Disk________
  USBSTOR\________USB_Flash_Memory1
  ________USB_Flash_Memory1
  USBSTOR\GenDisk
  GenDisk


Une fois cet identifiant obtenu, il est possible de construire des configurations complexes, par exemple :


* 
Action=ReadOnly
Type=eSata
Action=Ignore
Type=USB
Profile=Zed+SubZoneAndZed
Id=*USB_Flash_Memory1.04*
Profile=FullZone;ProfileNeededToWrite=1

Cette configuration permettra aux utilisateurs de lire les cartes mémoire tirées d'appareils photo, considèrera les disques eSata comme des disques normaux, proposera à l'utilisateur un chiffrement "léger" des clés USB inconnues, et un chiffrement complet des clés USB de l'entreprise.

Compatibilité avec Atempo Live Backup
Live Backup est une solution de sauvegarde de la société Atempo. Afin de garantir un fonctionnement optimal lors de la sauvegarde de zones chiffrées, des précautions doivent être prises et un ajustement de la configuration des politiques de ZoneCentral est conseillé.

Vous trouverez dans le document suivant des détails sur la mise en œuvre de cette compatibilité :

Compatibilité ZoneCentral - Atempo Live Backup


Incompatibilité avec McAfee VirusScan 8.8 SP1 sur Windows 7
Une anomalie critique pouvant potentiellement affecter l'intégrité des données a été détectée, si l'environnement et la configuration répondent à des conditions précises :
  • Système Windows Vista ou Windows 7 ;
  • Présence sur le poste de l'anti-virus McAfee VirusScan 8.8 SP1 ;
  • Présence sur le poste de ZoneCentral ou ZoneExpress, avec des zones chiffrées (locales ou réseau).
Les problèmes pouvant survenir sur cette configuration sont :
  • L'anti-virus ne peut pas trouver de virus à la volée dans les fichiers chiffrés ;
  • Lors de l'enregistrement de fichiers, une corruption des données est possible.
Une anomalie dans le gestionnaire de filtres de Windows fait en effet que l’anti-virus VirusScan se positionne mal dans la pile des filtres FileSystem, et se place avant ZoneCentral, au lieu d’être après, comme tout anti-virus. VirusScan voit donc les données chiffrées, au lieu de voir leur contenu déchiffré à la volée.

Il est important de rappeler que ce problème ne concerne pas les systèmes Windows XP et antérieurs. De plus il ne concerne que le Service Pack 1 de cette version de VirusScan.

Le support McAfee a également été alerté de ce problème.
Le laboratoire R&D de Prim’X Technologies fait le maximum pour trouver rapidement une solution ou un contournement à ce problème. Si vous êtes dans le périmètre de configuration indiqué, vous pouvez contacter le support Prim’X pour obtenir davantage d’informations.

EDIT : un contournement dans ZoneCentral et ZoneExpress a été mis en place à partir de la version 5.0.976 pour résoudre cette incompatibilité. La Fix Notes donne plus de détails sur l'anomalie et sa résolution.


Cryhod : personnalisez votre écran d'authentification
Le pré-boot Cryhod par défaut :



Le fond d'écran bleu, le logo de la solution ainsi que le jeu de couleur des textes peuvent être redéfinis. Pour personnaliser le thème, aucune politique n'est à activer. Les fichiers suivants doivent être présents dans le dossier d'installation de Cryhod:
  • CYPB_Logo.png (optionnel) est l'image du panneau de gauche. Elle est au format .png afin de permettre la transparence.
  • CYPB_Background.jpg (optionnel) est l'image de fond.
  • CYPB_Theme.xml est un fichier décrivant la visibilité ou non des images et un jeu de couleur. Ce fichier est de la forme :
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<style version="1.0">
<colors>
    <color name="Text">#FFFFFF</color>
    <color name="TextOnFocus">#FF0000</color>
    <color name="TextError">#FF0000</color>
    <color name="BackgroundWindow">#303030</color>
    <color name="BackgroundPopup">#425B8A</color>
    <color name="BaseTextEdit">#FFFFFF</color>
    <color name="Selection">#606060</color>
</colors>
<images>
    <background>
         <display>0</display>
     </background>
     <leftpanel>
          <display>1</display>
          <mode>center</mode>
     </leftpanel>
</images>
</style>

Il est possible de choisir de rendre visible ou non le fond d'écran ou bien le logo sur le panneau de gauche. Pour ce dernier, trois modes d'affichage sont proposés: center, cut, stretch.
Le jeu de couleur définit les couleurs du texte (Text), du texte sélectionné (TextOnFocus), des messages d'erreurs (TextError), de la fenêtre principale (BackgroundWindow), des popups (BackgroundPopup), de la zone d'éditiion (BaseTextEdit) et enfin de la zone de sélection (Selection).




Note : pour personnaliser le package d'installation .msi, vous pouvez utiliser l'outil master.exe.