Übersicht über Anwendungen von Drittanbietern auf Junos OS Evolved
ZUSAMMENFASSUNG Sie können Anwendungen von Drittanbietern in Linux-Containern oder nativ auf Junos OS Evolved mit Signaturschlüsseln ausführen. Anwendungen verwenden Juniper-APIs für die Interaktion mit dem Junos OS Evolved-System und Linux-APIs für Netzwerkaufgaben. Nicht verifizierte Anwendungen werden durch eine Integritätslösung namens Integrity Measurement Architecture (IMA) verhindert.
Einführung in Anwendungen von Drittanbietern unter Junos OS Evolved
Junos OS Evolved läuft nativ unter Linux, was bedeutet, dass Sie Anwendungen und Tools von Drittanbietern, die für Linux entwickelt wurden, in Junos OS Evolved integrieren können. Linux-Entwicklungstools bieten Ihnen auch die Möglichkeit, Ihre eigenen Anwendungen auf Junos OS Evolved zu erstellen und auszuführen. Sie können wählen, ob Sie diese Anwendungen in einem Container oder nativ auf dem Gerät mit Signaturschlüsseln ausführen möchten.
Ausführen von Anwendungen in Containern
Junos OS Evolved unterstützt das Ausführen von Anwendungen in Docker-Containern. Container werden auf Junos OS Evolved ausgeführt, und Anwendungen werden innerhalb der Container ausgeführt, sodass sie vom Betriebssystem isoliert bleiben. Sie können vorgefertigte Docker-Container-Images verwenden und zusätzliche Tools und Bibliotheken innerhalb des Containers installieren. Container können mithilfe eines Linux-Workflows aktualisiert werden.
Container sind bereits eine häufig verwendete Methode zum Ausführen von Linux-Anwendungen, sodass viele vorhandene Anwendungen von Drittanbietern problemlos in Junos OS Evolved importiert werden können, indem sie in Containern bereitgestellt werden. Da Container isoliert sind, lassen sie sich leicht bereitstellen und entfernen, ohne die Integrität von Junos OS Evolved zu beeinträchtigen. Darüber hinaus legt Junos OS Evolved Standardgrenzwerte für die Ressourcennutzung von Containern fest, um sicherzustellen, dass nicht autorisierte Container Ihr System nicht überlasten können.
Der Docker-Container-Dienst wird bei der Systeminitialisierung nicht automatisch gestartet. Um den automatischen Start für den Docker-Containerdienst zu aktivieren, geben Sie den folgenden Befehl in der Linux-Shell ein:
# systemctl enable --now docker.service
Weitere Informationen zum Ausführen von Anwendungen in Containern finden Sie unter Ausführen von Anwendungen von Drittanbietern in Containern
Natives Ausführen von Anwendungen mit Signaturschlüsseln
Anwendungen von Drittanbietern können mithilfe von Signaturschlüsseln nativ auf Junos OS Evolved ausgeführt werden. Sie generieren Signaturschlüssel und verwenden sie, um ausführbare Dateien oder gemeinsam genutzte Objekte zu signieren. Durch das Signieren einer ausführbaren Datei erhält diese die Berechtigung zur Ausführung auf dem Gerät, sodass Sie vertrauenswürdige Anwendungen für die Ausführung neben autorisierter Software von Juniper Networks genehmigen können.
Signaturschlüssel werden von einem Linux-Subsystem namens Integrity Measurement Architecture (IMA) gesteuert. Die IMA-Richtlinie besteht aus Regeln, die definieren, welche Aktionen ausgeführt werden müssen, bevor eine Datei ausgeführt werden kann. Die IMA-Messrichtlinie misst und speichert den Hash einer Datei, und die IMA-Bewertungsrichtlinie stellt sicher, dass die Datei über einen gültigen Hash oder eine gültige digitale Signatur verfügt. IMA lässt die Ausführung einer Datei nur zu, wenn diese Überprüfung erfolgreich ist.
Junos OS Evolved erfordert, dass Benutzer alle Dateien signieren, die zur Ausführung dem Arbeitsspeicher zugeordnet werden. Mit der IMA-Überprüfung wird sichergestellt, dass diese Dateien nicht versehentlich oder böswillig geändert wurden. Container und Dateien in Containern müssen nicht signiert werden.
Weitere Informationen zur Verwendung von Signaturschlüsseln finden Sie unter Signieren von Anwendungen von Drittanbietern für die native Ausführung unter Junos OS Evolved
Bewerbungsvoraussetzungen
Anwendungen von Drittanbietern werden für die folgenden Junos OS Evolved-Versionen unterstützt:
-
Junos OS Evolved Version 20.1R1 und höher für Anwendungen in Containern.
-
Junos OS Evolved Version 22.4R1 und höher für native Anwendungen.
-
Junos OS Evolved Version 23.2R1 und höher für Dual-Routing-Engine-Anwendungen.
Anwendungen müssen die Linux-Kernel-Version unterstützen, die auf Junos OS Evolved ausgeführt wird, um ordnungsgemäß zu funktionieren. Verwenden Sie den show version
Befehl, um die aktuell ausgeführte Linux-Kernelversion anzuzeigen.
Anwendungen, die für Junos OS Evolved geschrieben wurden, erfordern in der Regel die Möglichkeit, den Netzwerkstatus zu lesen und zu ändern, Pakete zu senden und zu empfangen sowie die Konfiguration zu lesen und zu ändern. Junos OS Evolved unterstützt nur eine begrenzte Anzahl von APIs, sodass Anwendungen unter Berücksichtigung dieser APIs konfiguriert werden müssen.
Anwendungs-APIs
Es gibt zwei Kategorien von APIs, die von Anwendungen verwendet werden:
-
Linux-APIs zum Lesen und Ändern des Netzwerkstatus sowie zum Senden und Empfangen von Paketen.
-
Juniper APIs für die Interaktion mit dem System.
Junos OS Evolved unterstützt diese beiden Kategorien von APIs. Tabelle 1 bietet einen allgemeinen Überblick über den Satz von APIs, die von Anwendungen verwendet werden:
API |
Funktionalität |
Paket-E/A- und Linux-Socket-APIs |
Fähigkeit, Pakete über mgmt und/oder Datenschnittstellen zu senden und zu empfangen. Standard-libc – Senden, Empfangen, Zuhören usw. |
Möglichkeit zur Verwendung von rtnetlink zur Abfrage des Netzwerkstatus wie Schnittstellen, Routen usw. |
|
Möglichkeit zur Konfiguration von Netzwerkgeräten. |
|
Möglichkeit zur Abfrage von Kernel-Datenstrukturen unter Verwendung von Standardschnittstellen, die vom Linux-Kernel bereitgestellt werden. |
|
Junos-APIs |
Möglichkeit zum Zugriff auf Northbound-APIs von Juniper – NetConf/JET/Telemetry. |
Weitere Informationen zu den Northbound-APIs von Juniper finden Sie unter:
Sicherheitsvorbehalte
Junos OS Evolved wurde von Grund auf mit Blick auf die Sicherheit entwickelt. IMA- und Linux-Container helfen dabei, die Sicherheitsauswirkungen von Drittanbieteranwendungen auf Junos OS Evolved zu kontrollieren, aber Anwendungen von Drittanbietern haben immer noch das Potenzial, Sicherheitslücken durch bösartigen Code einzuführen.
Berücksichtigen Sie immer die Auswirkungen auf die Sicherheit, wenn Sie eine Drittanbieteranwendung zu Junos OS Evolved hinzufügen. Stellen Sie sicher, dass alle Anwendungen, die Sie zu Junos OS Evolved hinzufügen, gründlich auf potenzielle Sicherheitsrisiken überprüft werden.
Dateisicherheit mit IMA
Netzwerkgeräte, auf denen Junos OS Evolved ausgeführt wird, werden durch eine Integritätslösung namens Integrity Measurement Architecture (IMA) geschützt.
Integrität ist eine grundlegende Sicherheitseigenschaft, die für Vertrauen, Vollständigkeit und Änderungsfreiheit steht. In der Computersicherheit sind Betriebssystemdateien häufige Ziele für den Integritätsschutz. Eine gängige Methode zum Sicherstellen der Integrität besteht darin, eine Datei mit einer bekanntermaßen funktionierenden Datei zu vergleichen.
Im Zusammenhang mit Junos OS Evolved besteht das Sicherheitsziel darin, sicherzustellen, dass die Software, die auf einem Gerät ausgeführt wird, nicht versehentlich oder böswillig verändert wurde. Bei der auf einem Gerät ausgeführten Software handelt es sich entweder um authentische Junos-Software von Juniper Networks oder um autorisierte Software, die von einem Kunden bereitgestellt wird.
Das Bedrohungsmodell für Netzwerkgeräte umfasst Versuche böswilliger Akteure, Malware zu verbreiten, die entweder gegen die impliziten oder expliziten Richtlinien der Gerätebesitzer verstößt. Zu dieser Malware können Hintertüren, Trojaner oder Implantate gehören, die den sicheren Betrieb von Geräten oder Netzwerken beeinträchtigen könnten. Cyberkriminelle verwenden eine Vielzahl von Tools, Techniken und Verfahren, um die Integrität zu verletzen, einschließlich physischer Angriffe, lokaler Angriffe und Remote-Angriffe.
Viele Regulierungssysteme erheben Anforderungen an die Dateiintegrität, darunter PCI-DSS - Payment Card Industry Data Security Standard (Anforderung 11.5), SOX - Sarbanes-Oxley Act (Abschnitt 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 von 1996 (NIST Publication 800-66) und der SANS Critical Security Controls (Control 3).
Um die Dateiintegrität sicherzustellen und das Malware-Risiko zu mindern, führt Junos OS Evolved IMA und einen Begleitmechanismus aus: das Extended Verification Module (EVM). Diese Open-Source-Schutzmaßnahmen sind Teil einer Reihe von Linux-Sicherheitsmodulen, die dem Industriestandard entsprechen und mit den von der Trusted Computing Group spezifizierten Vertrauensmechanismen übereinstimmen.
Juniper Networks wendet digitale Signaturen auf Junos OS Evolved-Dateien an und ermöglicht es Kunden, ebenfalls digitale Signaturen anzuwenden. Digitale Signaturen werden mit geschützten privaten Schlüsseln erstellt und dann mit öffentlichen Schlüsseln überprüft, die in einen oder mehrere Schlüsselbund eingebettet sind.
Das IMA/EVM-Subsystem schützt das System, indem es Laufzeitprüfungen durchführt. Wenn eine Datei die Überprüfung nicht besteht, wird sie nicht geöffnet oder ausgeführt.
Das bedeutet, dass nicht verifizierte Software auf einem Gerät blockiert wird, auf dem Junos OS Evolved ausgeführt wird.