Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Signature et vérification de fichiers Veriexec pour Junos OS

Découvrez la signature et la vérification des fichiers Veriexec, ses avantages et comment l’utiliser.

Verified Exec (également appelé veriexec) est un système de signature et de vérification de fichiers qui protège le système d’exploitation Junos contre les logiciels et activités non autorisés susceptibles de compromettre l’intégrité de votre équipement. Développé à l’origine pour le système d’exploitation NetBSD, veriexec a été adapté pour Junos OS et est activé par défaut.

Les fichiers autorisés, c’est-à-dire certains fichiers fournis avec Junos OS, sont associés à une empreinte digitale que Veriexec vérifie pour déterminer si le fichier peut être utilisé (exécuté ou même ouvert). Tout fichier qui n’a pas d’empreinte valide ne peut pas être exécuté ou lu par des applications qui nécessitent une saisie vérifiée.

Le/bin/sh fichier ne nécessite pas de saisie vérifiée. Vous pouvez utiliser ce fichier pour exécuter des scripts arbitraires. Du point de vue du risque, ces scripts sont les mêmes que les commandes interactives, qui sont contrôlées par l’authentification et les autorisations des utilisateurs. Toutefois, si un script shell vérifié contient des instructions pour exécuter un script arbitraire, c’est-à-dire un fichier sans signature dans le manifeste, l’exécution de ce fichier est empêchée.

Comment fonctionne Veriexec

Veriexec fournit au noyau un manifeste signé numériquement composé d’un ensemble d’empreintes digitales pour tous les exécutables et autres fichiers qui doivent rester immuables. Le chargeur veriexec ne transmet le contenu du manifeste au noyau que si les signatures numériques associées du manifeste sont vérifiées avec succès. Le noyau peut alors vérifier si un fichier correspond à son empreinte. Si veriexec est appliqué, seuls les exécutables avec une empreinte vérifiée s’exécuteront. Les fichiers protégés ne peuvent pas être écrits, modifiés ou changés.

Chaque image d’installation contient un manifeste, qui est un fichier en lecture seule. Il contient des entrées telles que les suivantes :

Le message du journal est au format suivant :

Si un fichier a été modifié et que l’empreinte résultante diffère de celle du manifeste, un message de journal, tel que l’exemple suivant :

L’incompatibilité d’empreinte indique que le fichier a été modifié. N’essayez pas d’exécuter un tel fichier, car il pourrait contenir du code corrompu. Contactez le JTAC pour obtenir des conseils.

Avantages de Veriexec

  • Systèmes sécurisés : protégez les routeurs, les commutateurs et les pare-feu de Juniper Networks contre les failles de sécurité.

  • Empêcher les accès non autorisés : empêchez les acteurs malveillants d’obtenir des accès persistants et non autorisés ou de provoquer une défaillance du système.

  • Empêcher l’exécution des programmes malveillants : bloquez les modifications non autorisées et les logiciels malveillants en empêchant l’exécution binaire non signée.

  • Prise en charge du code autorisé : ajoutez du code signé et autorisé à Junos OS avec application veriexec à l’aide du SDK JET. Pour plus d’informations sur la solution de SDK, consultez le Guide du développeur de Juniper Extension Toolkit.

Comment vérifier si Veriexec fonctionne — Option 1

Certaines plates-formes Junos OS offrent une version optionnelle de Junos OS avec l’application veriexec désactivée. Pour plus d’informations, reportez-vous à la section Automatisation améliorée de Junos.

Les administrateurs peuvent vérifier si veriexec est appliqué en exécutant les commandes suivantes à partir du shell CLI Junos OS :

  1. Démarrez l’interpréteur de commandes.

  2. Utilisez la sysctl security.mac.veriexec.state commande pour Junos OS version 15.1 et ultérieure

    Si veriexec est appliqué, la sortie est security.mac.veriexec.state: loaded active enforce. Si veriexec n’est pas appliqué, la sortie est security.mac.veriexec.state: loaded active.

Comment vérifier si Veriexec fonctionne — Option 2

Vous pouvez confirmer si veriexec fonctionne en copiant un fichier autorisé (par exemple, /usr/bin/id) vers un nouvel emplacement comme indiqué ci-dessous. Veriexec empêche l’opération, car même si le fichier est identique, une empreinte valide n’existe que pour /usr/bin/id, pas pour /tmp/id. Pour vérifier l’intégrité du fichier, veriexec évalue les propriétés Linux sous-jacentes du fichier. Ces propriétés, plutôt que le fichier lui-même, changent après la copie du fichier vers un autre emplacement.

  1. Démarrez l’interpréteur de commandes.

  2. Modifiez les répertoires, puis copiez un fichier autorisé, par exemple, /usr/bin/id, vers un nouvel emplacement.

Résultats

Si veriexec est appliqué, un message d’erreur d’authentification est généré. Si un message d’erreur n’est pas généré, le fichier s’exécute normalement.

Sortie générée lorsque veriexec est appliqué, montrant que le fichier est bloqué :

Sortie générée lorsque veriexec n’est pas appliqué, montrant que le fichier est copié

Installer Veriexec Loader

Le chargeur veriexec valide l’image Junos OS que vous installez à partir d’un serveur TFTP (Trivial File Transfer Protocol) ou d’un périphérique de stockage USB.

  • Pour installer l’image Junos OS à partir d’un serveur TFTP, utilisez la commande suivante :

  • Installez l’image Junos OS à partir d’un périphérique de stockage USB à l’aide de la commande suivante.

Le chargeur compatible veriexec valide l’image de Junos OS. Le chargeur démarre uniquement les nouvelles images Junos OS avec empreintes digitales et ne démarre pas les images existantes sans empreintes digitales ou noyau. Vous pouvez utiliser la nextboot fonction pour vérifier le périphérique de démarrage actuel.

Bootupgrade est un outil disponible dans le package Junos OS pour prendre en charge la mise à niveau du firmware du BIOS. Vous pouvez utiliser la bootupgrade commande pour mettre à niveau, vérifier U-Boot, charger manuellement et installer le chargeur compatible veriexec. La bootupgrade -c loader commande imprime la chaîne de version du chargeur actuel.

Avant d’installer le chargeur compatible Veriexec sur une image Junos OS, l’identification des empreintes digitales de Junos OS est effectuée dans les deux partitions à double racine. Le chargeur compatible veriexec ne peut être installé que lorsque les deux partitions à double racine ont Junos OS avec empreintes digitales.

Installez le chargeur compatible Veriexec à partir de l’interpréteur de commandes CLI de Junos OS :

  1. Démarrez l’interpréteur de commandes.

  2. Utilisez la bootupgrade -l /boot/veloader commande pour installer le chargeur compatible avec Veriexec.

  3. Vous pouvez voir différents scénarios ici :

    • Utilisez request system software add /var/tmp/xxx.tgz no-copy no-validate la commande pour installer Junos OS avec des empreintes digitales.

    • Si le chargeur compatible avec Veriexec ne prend pas en charge les images Junos OS cibles des versions précédentes, vous pouvez rétrograder vers une version antérieure du chargeur compatible avec la version. Utilisez la request system software add /var/tmp/xxx.tgz no-copy no-validate commande pour rétrograder automatiquement vers une version antérieure du chargeur.
    • Utilisez la request system software add /var/tmp/xxx commande pour vérifier si le package Junos OS est compatible pour l’installation avec le chargeur veriexec.

      Dans cet exemple, vous voyez que l’installation est terminée car le chargeur veriexec n’est pas pris en charge pour les versions de Junos OS antérieures à 20.3R1.