Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Présentation des applications tierces sur Junos OS Evolved

RÉSUMÉ Vous pouvez exécuter des applications tierces dans des conteneurs Linux ou nativement sur Junos OS Evolved avec des clés de signature. Les applications utilisent les API Juniper pour interagir avec le système Junos OS Evolved et les API Linux pour les tâches réseau. Les applications non vérifiées sont empêchées par une solution appelée Integrity Measurement Architecture (IMA).

Introduction aux applications tierces sur Junos OS Evolved

Junos OS Evolved fonctionne en mode natif sous Linux, ce qui signifie que vous pouvez intégrer des applications et outils tiers développés pour Linux dans Junos OS Evolved. Les outils de développement Linux vous permettent également de créer et d’exécuter vos propres applications sur Junos OS Evolved. Vous pouvez choisir d’exécuter ces applications à l’intérieur d’un conteneur ou en mode natif sur l’appareil avec des clés de signature.

Exécution d’applications dans des conteneurs

Junos OS Evolved prend en charge l’exécution d’applications dans des conteneurs Docker. Les conteneurs s’exécutent sur Junos OS Evolved et les applications s’exécutent à l’intérieur des conteneurs, ce qui les isole du système d’exploitation. Vous pouvez utiliser des images de conteneur Docker prédéfinies et installer des outils et des bibliothèques supplémentaires à l’intérieur du conteneur. Les conteneurs peuvent être mis à niveau à l’aide du flux de travail Linux.

Les conteneurs étant déjà une méthode couramment utilisée pour exécuter des applications Linux, de nombreuses applications tierces existantes peuvent être facilement importées dans Junos OS Evolved en les déployant à l’intérieur de conteneurs. La nature isolée des conteneurs facilite leur déploiement et leur retrait sans compromettre l’intégrité de Junos OS Evolved. En outre, Junos OS Evolved impose des limites par défaut à l’utilisation des ressources des conteneurs, afin de garantir que les conteneurs non autorisés ne puissent pas submerger votre système.

Le service de conteneur Docker n’est pas automatiquement démarré à l’initialisation du système. Pour activer le démarrage automatique du service de conteneur Docker, entrez la commande suivante à partir du shell Linux :

# systemctl enable --now docker.service

Pour plus d’informations sur l’exécution d’applications dans des conteneurs, consultez Exécution d’applications tierces dans des conteneurs.

Exécution d’applications en mode natif avec des clés de signature

Les applications tierces peuvent s’exécuter en mode natif sur Junos OS Evolved à l’aide de clés de signature. Vous générez des clés de signature et les utilisez pour signer des fichiers exécutables ou des objets partagés. La signature d’un fichier exécutable lui donne l’autorisation de s’exécuter sur l’appareil, ce qui vous permet d’approuver l’exécution d’applications de confiance avec les logiciels Juniper Networks autorisés.

Les clés de signature sont contrôlées par un sous-système Linux appelé Integrity Measurement Architecture (IMA). La stratégie IMA se compose de règles qui définissent les actions à entreprendre avant qu’un fichier puisse être exécuté. La politique de mesure IMA mesurera et stockera le hachage d’un fichier, et la politique d’évaluation IMA s’assurera que le fichier a un hachage ou une signature numérique valide. IMA n’autorisera l’exécution d’un fichier que si cette validation réussit.

Junos OS Evolved exige que les utilisateurs signent tous les fichiers qui seront mappés en mémoire pour exécution. La vérification IMA permet de s’assurer que ces fichiers n’ont pas été modifiés accidentellement ou malicieusement. Les conteneurs et les fichiers à l’intérieur des conteneurs n’ont pas besoin d’être signés.

Pour plus d’informations sur l’utilisation des clés de signature, consultez Signature d’applications tierces à exécuter en mode natif sur Junos OS Evolved

Pré-requis pour postuler

Les applications tierces sont prises en charge pour les versions Junos OS Evolved suivantes :

  • Junos OS Evolved version 20.1R1 et ultérieure pour les applications dans des conteneurs.

  • Junos OS Evolved version 22.4R1 et ultérieure pour les applications natives.

  • Junos OS Evolved version 23.2R1 et ultérieure pour les applications à double moteur de routage.

Pour fonctionner correctement, les applications doivent prendre en charge la version du noyau Linux exécutée sur Junos OS Evolved. Utilisez la commande pour afficher la show version version du noyau Linux en cours d’exécution.

Les applications écrites pour Junos OS Evolved nécessitent généralement la capacité de lire et de modifier l’état du réseau, d’envoyer et de recevoir des paquets, et de lire et modifier la configuration. Junos OS Evolved ne prend en charge qu’un nombre limité d’API, et les applications doivent donc être configurées en tenant compte de ces API.

API d’application

Il existe deux catégories d’API utilisées par les applications :

  • API Linux pour la lecture et la modification de l’état du réseau, ainsi que pour l’envoi et la réception de paquets.

  • API Juniper pour interagir avec le système.

Junos OS Evolved prend en charge ces deux catégories d’API. Le tableau 1 fournit une vue d’ensemble de l’ensemble des API utilisées par les applications :

Tableau 1 : API d’application

API

Fonctionnalité

API d’E/S par paquets et socket Linux

Possibilité d’envoyer et de recevoir des paquets via des interfaces de gestion et/ou de données.

Standard libc – envoyer, recevoir, écouter, etc.

rtnetlink

Possibilité d’utiliser rtnetlink pour interroger l’état du réseau comme les interfaces, les routes, etc.

netdevice

Possibilité de configurer des périphériques réseau.

Proc

Possibilité d’interroger les structures de données du noyau à l’aide d’interfaces standard fournies par le noyau Linux.

API Junos

Possibilité d’accéder aux API Juniper Northbound - NetConf/JET/Telemetry.

Note:

Pour plus d’informations sur les API Juniper Northbound, consultez les rubriques suivantes :

Avertissements en matière de sécurité

Junos OS Evolved a été conçu dès le départ dans un souci de sécurité. Les conteneurs IMA et Linux permettent de contrôler l’impact des applications tierces sur la sécurité de Junos OS Evolved, mais les applications tierces ont toujours le potentiel d’introduire des failles de sécurité par le biais de code malveillant.

Tenez toujours compte des implications pour la sécurité de l’ajout d’une application tierce à Junos OS Evolved. Assurez-vous que toutes les applications que vous ajoutez à Junos OS Evolved sont soigneusement examinées pour détecter les risques de sécurité potentiels.

Sécurité des fichiers avec IMA

Les équipements réseau qui exécutent Junos OS Evolved sont protégés par une solution d’intégrité appelée architecture de mesure de l’intégrité (IMA).

L’intégrité est une propriété de sécurité fondamentale qui représente la confiance, l’exhaustivité et l’absence d’altération. En sécurité informatique, les cibles courantes pour les protections d’intégrité sont les fichiers de système d’exploitation. Une méthode courante pour garantir l’intégrité consiste à comparer un fichier à un fichier dont le fonctionnement a été vérifié.

Dans le contexte de Junos OS Evolved, l’objectif de sécurité est de s’assurer que le logiciel exécuté sur un appareil n’a pas été accidentellement ou malicieusement modifié. Le logiciel exécuté sur un appareil est soit un logiciel Junos authentique de Juniper Networks, soit un logiciel autorisé déployé par un client.

Le modèle de menace pour les équipements réseau inclut les tentatives d’acteurs malveillants de déployer des logiciels malveillants qui enfreignent les politiques implicites ou explicites des propriétaires d’appareils. Ces logiciels malveillants peuvent inclure des portes dérobées, des chevaux de Troie ou des implants susceptibles de nuire au fonctionnement sûr et sécurisé des appareils ou des réseaux. Les acteurs malveillants utilisent divers outils, techniques et procédures pour porter atteinte à l’intégrité, notamment les attaques physiques, locales et à distance.

De nombreux régimes réglementaires imposent des exigences en matière d’intégrité des fichiers, notamment PCI-DSS - Payment Card Industry Data Security Standard (Exigence 11.5), SOX - Sarbanes-Oxley Act (Section 404), NERC CIP - NERC CIP Standard (CIP-010-2), FISMA - Federal Information Security Management Act (NIST SP800-53 Rev3), HIPAA - Health Insurance Portability and Accountability Act de 1996 (NIST Publication 800-66) et les SANS Critical Security Controls (Control 3).

Afin d’assurer l’intégrité des fichiers et d’atténuer le risque de malware, Junos OS Evolved exécute IMA, ainsi qu’un mécanisme complémentaire : EVM (Extended Verification Module). Ces protections open source font partie d’un ensemble de modules de sécurité Linux standard et cohérents avec les mécanismes de confiance spécifiés par le Trusted Computing Group.

Juniper Networks applique des signatures numériques aux fichiers Junos OS Evolved et permet aux clients d’appliquer également des signatures numériques. Les signatures numériques sont créées à l’aide de clés privées protégées, puis vérifiées à l’aide de clés publiques incorporées dans un ou plusieurs trousseaux de clés.

Le sous-système IMA/EVM protège le système en effectuant des contrôles d’exécution. Si un fichier échoue à la vérification, il n’est ni ouvert ni exécuté.

Cela signifie qu’un logiciel non vérifié est bloqué sur un appareil exécutant Junos OS Evolved.