Microsoft Office Online
Se connecter à Mon site Office Online (Qu'est-ce que c'est ?) | Se connecter

Avertissement : vous affichez cette page avec un navigateur Web non pris en charge. Ce site Web fonctionne de manière optimale avec Microsoft Internet Explorer 6.0 ou version ultérieure, Firefox 1.5 ou Netscape Navigator 8.0 ou version ultérieure. En savoir plus sur les navigateurs pris en charge.

Choix du niveau de sécurité des macros qui vous convient
 
S'applique à
Microsoft Office Excel 2003

Image de la couverture du livre


Cet article a été écrit par Curtis Frye, l'auteur de Microsoft Office Excel 2003 Programming Inside Out.

Cet article traite de la définition et de la gestion des niveaux de sécurité appropriés pour les macros et de l'importance de protéger votre système des macros écrites dans l'intention d'endommager votre ordinateur.

Visual Basic pour Applications (VBA) est un langage de programmation qui vous permet de créer des macros puissantes, destinées à faciliter l'exécution de tâches répétitives. Malheureusement, de nombreux virus sont conçus pour exploiter la puissance des macros VBA et endommager votre système et vos fichiers de données. La meilleure protection consiste à utiliser la sécurité des macros associée à un logiciel antivirus pour réduire les menaces potentielles.

Votre première ligne de défense contre les virus de macros (virus écrits à l'aide d'un langage de programmation de macros) consiste à installer un, voire deux programmes de détection de virus sur votre ordinateur. Étant donné que de nouveaux virus apparaissent sans cesse, il est possible que vos programmes de détection ne reconnaissent pas les menaces les plus récentes. Après votre deuxième ligne de défense — qui consiste à garder un œil critique sur chaque fichier que vous recevez (attendu ou non) — vous pouvez vous tourner vers les paramètres de sécurité des macros dans Microsoft Excel.

Ces paramètres déterminent le degré de permissivité d'Excel sur les macros susceptibles d'être exécutées sur votre ordinateur. Les niveaux de sécurité sont au nombre de quatre : Très élevée, Élevée, Moyenne et Basse. Ces paramètres peuvent être définis dans la boîte de dialogue Sécurité (menu Outils , commande Options , onglet Sécurité , bouton Sécurité des macros ), comme le montre l'illustration suivante.

Image de la boîte de dialogue Sécurité des macros

Quand utiliser la sécurité de macro Basse et Moyenne

Vous pouvez rayer la sécurité des macros Basse de votre liste des paramètres acceptables de sécurité des macros. Même si vous disposez d'un excellent logiciel antivirus, un seul virus non détecté est un de trop. Aucun logiciel ne sait quelle macro vous attendez ; vous devez donc être sûr qu'une personne intervient dans la boucle de sécurité. Cette personne, c'est vous.

Le niveau de sécurité des macros suivant est Moyenne. À ce niveau, lorsque vous ouvrez un classeur contenant des macros, Excel affiche une boîte de dialogue vous demandant si vous souhaitez activer les macros. Vous disposez des options suivantes :

Image du message Avertissement de sécurité

  • Cliquez sur Désactiver les macros pour ouvrir le classeur tout en empêchant les macros d'être exécutées.
  • Cliquez sur Activer les macros pour ouvrir le classeur et permettre aux macros de s'exécuter dans le classeur.
  • Cliquez sur Plus d'infos si vous avez besoin d'aide pour prendre une décision.
  • Fermez la boîte de dialogue Avertissement de sécurité pour empêcher que le classeur ne s'ouvre.

Si vous devez utiliser un grand nombre de macros, que vous êtes la seule personne à utiliser votre ordinateur et que vous êtes sûr de ne pas oublier de ne pas cliquer sur Activer les macros si vous recevez un fichier inattendu (ou un fichier qui n'était pas censé contenir des macros), vous pouvez utiliser la sécurité de macros Moyenne de temps à autre. Toutefois, il n'est pas recommandé d'utiliser l'option Moyenne régulièrement. Par ailleurs, si vous partagez votre ordinateur avec d'autres utilisateurs, nous vous recommandons fortement de choisir le paramètre de sécurité des macros Élevée.

Quand utiliser la sécurité des macros Élevée

Élevée est le paramètre de sécurité des macros recommandé pour tous les utilisateurs. Vous devez utiliser ce niveau de sécurité des macros si vous travaillez dans un environnement dans lequel vous n'avez pas besoin de créer vos propres macros et où les seules macros complémentaires à ajouter sont incluses dans Excel (par exemple, l'Utilitaire d'analyse) ou sont des macros complémentaires que vous avez écrites vous-même et signées avec un certificat numérique.

Ce paramètre exige qu'une macro complémentaire ou une macro soit signée numériquement par un éditeur approuvé ou soit installée dans un emplacement fiable, avant que la macro ne soit autorisée à être exécutée. Un éditeur approuvé (appelé source fiable dans les versions antérieures d'Excel) est une entité qui :

  • obtient un certificat numérique auprès d'une Autorité de certification ;
  • signe la macro avec ce certificat numérique ;
  • obtient ainsi votre confiance.

Le plus souvent, vous choisissez d'approuver une personne ou une entreprise avec un certificat numérique en activant une case à cocher. Par exemple, la case à cocher Toujours faire confiance au contenu provenant de Microsoft Corporation s'affiche dans une boîte de dialogue lorsque vous êtes invité à installer une macro complémentaire dans Excel ou un Plug-In pour Internet Explorer.

Lorsque la sécurité de vos macros est définie sur Élevée, Excel n'exécute que les macros signées numériquement ou stockées dans un emplacement fiable, tel que le dossier de démarrage d'Excel. Les autorisations doivent être appliquées à tous les emplacements fiables, de sorte que seuls les administrateurs puissent gérer les fichiers qui y sont stockés.

Remarque  Les macros non signées, stockées dans le dossier de démarrage d'Excel ne s'exécutent que lorsque vous démarrez Excel pour la première fois. Elles ne s'exécutent pas lorsque vous ouvrez le fichier dans Excel en cliquant sur Ouvrir dans le menu Fichier .

Pour que les macros non signées s'exécutent, la case à cocher Faire confiance à tous les modèles et compléments installés doit être activée sous l'onglet Éditeurs approuvés de la boîte de dialogue Sécurité. Cette option est sélectionnée par défaut, comme le montre l'illustration suivante. Si ce n'est pas le cas, Excel n'exécute que les macros dotées de signatures numériques approuvées. Les certificats et les signatures numériques sont abordés plus en détail plus loin dans cet article.

Onglet Éditeurs approuvés de la boîte de dialogue Sécurité

L'onglet Éditeurs approuvés contient également la case à cocher Faire confiance au projet Visual Basic, qui est désactivée par défaut de sorte qu'Excel puisse vous avertir lorsque des macros tentent d'accéder au projet Visual Basic.

Quand utiliser la sécurité des macros Très élevée

Très élevée correspond au niveau de sécurité des macros le plus élevé. Il empêche Excel d'exécuter des macros ou des macros complémentaires. Seules les macros contenues dans un dossier spécifique sur votre ordinateur sont approuvées, qu'elles soient signées numériquement ou pas. Pour des raisons de sécurité, les autorisations au niveau des fichiers ou des dossiers doivent être définies pour ce dossier.

Si vous n'êtes pas un administrateur chargé de contrôler le degré de sécurité au niveau des dossiers ou des fichiers, vous n'avez pas besoin d'utiliser la sécurité des macros Très élevée .

Utilisation des signatures numériques

La sécurité des macros Élevée s'appuie en partie sur l'utilisation des signatures numériques pour vérifier la source du code VBA d'un classeur. Une signature numérique est le résultat de l'utilisation des principes des techniques de cryptage de clé publique pour créer une association unique du document signé et d'un autre fichier connu seulement de vous — dont le résultat peut être vérifié comme ayant été signé par vous. La méthode est assez complexe ; elle repose sur la théorie des groupes et d'autres disciplines que seuls quelques chercheurs comprennent vraiment, mais voici en bref comment cela fonctionne.

Génération de clés de cryptage

La première étape consiste à générer une clé. Elle sera utilisée pour crypter vos données en ajoutant les valeurs de la clé à celles du texte. Voici un exemple simple : votre clé est la lettre a et le mot à crypter est kazoo. Si vous ajoutez a (la première lettre de l'alphabet) à chaque lettre de kazoo, chaque lettre monte d'un rang dans l'alphabet, ce qui donne le mot crypté lbapp. La clé que vous allez générer est beaucoup plus longue et se décompose en deux parties :

  • Clé privée   Une partie privée de la clé cryptée, appelée clé privée, doit être gardée secrète ; vous n'avez pas besoin de la partager avec quiconque — et toute personne qui vous demande de le faire n'a pas l'intention de servir vos intérêts.
  • Clé publique   Une partie publique de la clé cryptée, appelée clé publique, peut et doit être distribuée à toute personne avec laquelle vous échangez des fichiers signés numériquement. Toute personne disposant d'une copie de votre clé publique peut vérifier qu'un document signé à l'aide de votre clé privée a bien été émis par vous et n'a pas été modifié depuis que vous l'avez signé. Il est important de noter que toute personne tentant de signer un fichier à l'aide de votre clé publique ne pourra pas se faire passer pour vous.

Établissement d'une approbation en dehors de votre organisation

Selon le logiciel de cryptage que vous utilisez, vous pouvez être en mesure d'utiliser votre paire de clés publiques/privées pour signer numériquement des classeurs et du code de macro que vous distribuez via votre réseau interne. Le problème avec l'utilisation des paires de clés qui ne sont pas distribuées hors de votre organisation est que personne à l'extérieur de votre réseau ne sait si votre signature est valide. Si vous devez travailler avec des personnes hors du réseau de votre entreprise, vous pouvez obtenir un certificat numérique auprès d'un fournisseur tiers approuvé. Un certificat numérique est un fichier électronique qui vous identifie et contient des informations telles que :

  • le nom de votre organisation ;
  • l'Autorité de certification qui émet le certificat ;
  • votre adresse de messagerie et votre pays ;
  • la date d'expiration du certificat ;
  • une copie de votre clé publique.

Une fois que vous avez signé un document à l'aide d'un certificat numérique, toute personne qui souhaite vérifier ce certificat peut accéder au serveur de clés géré par l'autorité émettrice et comparer la signature à votre clé publique.

Vous pouvez trouver une liste de participants dans le programme relatif au certificat racine de Microsoft sur le site Web MSDN (Microsoft Developer Network).

Créer votre propre certificat numérique

Si vous ne souhaitez pas acheter un certificat numérique auprès d'un fournisseur commercial, vous pouvez créer votre propre certificat à l'aide de l'application d'aide Office, Selfcert.exe.

  1. Dans le menu Démarrer de Windows, cliquez sur Tous les programmes.
  2. Cliquez sur Microsoft Office, pointez sur Outils Microsoft Office, puis cliquez sur Certificat numérique pour les projets VBA.

Remarque  Gardez à l'esprit que ce certificat ne peut être utilisé que sur votre propre ordinateur. Les autres utilisateurs qui ouvrent un fichier que vous avez signé avec Selfcert.exe n'ont pas la possibilité d'approuver le certificat que vous avez créé.

Signature numérique de classeurs et de macros

Une fois que vous avez obtenu un certificat numérique auprès d'une Autorité de certification, vous pouvez signer numériquement un classeur à l'aide de la boîte de dialogue Sélectionner un certificat .

Boîte de dialogue Sélectionner un certificat

Signer numériquement un classeur

  1. Dans le menu Outils, cliquez sur Options.
  2. Sous l'onglet Sécurité, cliquez sur Signatures numériques.
  3. Cliquez sur Ajouter.
  4. Effectuez l'une des actions suivantes :
    • Dans la zone Sélectionnez le certificat que vous voulez utiliser, sélectionnez le nom du certificat avec lequel vous souhaitez signer votre classeur.
    • Pour afficher les détails du certificat, dans le cas où certains certificats auraient le même nom, cliquez sur Afficher le certificat.

Signer numériquement une macro

  1. Dans le menu Outils, pointez sur Macro, puis cliquez sur Visual Basic Editor.
  2. Dans le menu Outils de Visual Basic Editor, cliquez sur Signature numérique.
  3. Cliquez sur Choisir, puis effectuez l'une des actions suivantes :
    • Dans la zone Sélectionnez le certificat que vous voulez utiliser, sélectionnez le nom du certificat avec lequel vous souhaitez signer votre macro.
    • Pour afficher les détails du certificat, dans le cas où certains certificats auraient le même nom, cliquez sur Afficher le certificat.

    Remarque  La boîte de dialogue Sélectionner un certificat, qui s'affiche lorsque vous signez votre code VBA, peut contenir des certificats ayant expiré. Assurez-vous que le certificat que vous sélectionnez est valide, car signer une macro avec un certificat ayant expiré (c'est-à-dire non valide) revient à ne pas signer la macro.

Conclusion

Les paramètres de sécurité des macros dont vous disposez dans Excel peuvent sembler déroutants au départ, mais les instructions d'utilisation des macros peuvent se résumer comme suit :

  • Mettez votre logiciel antivirus à jour régulièrement.
  • N'ouvrez jamais un classeur (ou tout autre document) que vous n'attendiez pas et que vous ne reconnaissez pas.
  • N'utilisez jamais le paramètre de sécurité des macros Basse .
  • Utilisez le paramètre de sécurité des macros Moyenne occasionnellement si vous utilisez souvent des macros et que vous souhaitez choisir de les exécuter chaque fois que vous ouvrez un classeur.
  • Utilisez le paramètre de sécurité des macros Élevée régulièrement pour éviter qu'une macro provenant d'une source non fiable s'exécute sur votre ordinateur.
  • Utilisez le paramètre de sécurité des macros Très élevée pour empêcher l'exécution de toutes les macros sur votre ordinateur, à moins qu'elles ne se trouvent dans un dossier spécifique.
  • Faites appel à un certificat numérique si vous devez envoyer des classeurs fiables hors de votre organisation.

Recommandation pour une protection optimale contre les virus de macros

Pour une protection optimale contre les virus de macros et l'assurance que toutes les macros seront exécutées, effectuez toutes les actions suivantes :

  • Sélectionnez le niveau de sécurité de macro Élevée.
  • Signez numériquement toutes les macros (en utilisant Selfcert.exe ou en utilisant un certificat numérique).
  • Désactivez la case à cocher Faire confiance à tous les modèles et compléments installés sous l'onglet Éditeurs approuvés de la boîte de dialogue Sécurité .
© 2009 Microsoft Corporation. Tous droits réservés.