Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Veriexec Dateisignatur und -überprüfung für Junos OS

Erfahren Sie mehr über die Dateisignatur und -verifizierung von Veriexec, die Vorteile und die Verwendung in der Firewall der SRX-Serie.

Verified Exec (auch bekannt als Veriexec) ist ein Signatur- und Überprüfungsschema, das das Betriebssystem Junos (OS) vor unautorisierter Software und Aktivitäten schützt, die die Integrität Ihres Geräts gefährden könnten. Ursprünglich für das NetBSD OS entwickelt, wurde veriexec für Junos OS angepasst und standardmäßig aktiviert.

Autorisierte Dateien, d. h. bestimmte Dateien, die mit Junos OS ausgeliefert werden, verfügen über einen zugehörigen Fingerabdruck, den Veriexec prüft, um festzustellen, ob die Datei verwendet (ausgeführt oder sogar geöffnet) werden kann. Dateien, die keinen gültigen Fingerabdruck haben, können nicht von Anwendungen ausgeführt oder gelesen werden, die eine verifizierte Eingabe erfordern.

Es/bin/sh ist keine verifizierte Eingabe erforderlich. Es kann zum Ausführen beliebiger Skripte verwendet werden, da sie aus Risikosicht mit interaktiven Befehlen identisch sind, die bereits durch Benutzerauthentifizierung und Berechtigungen gesteuert werden. Wenn ein überprüftes Shellskript jedoch Anweisungen zum Ausführen eines beliebigen Skripts enthält, d. h. einer Datei, die keine Signatur im Manifest hat, wird die Ausführung dieser Datei verhindert.

Funktionsweise von Veriexec

Veriexec stellt dem Kernel ein digital signiertes Manifest zur Verfügung, das aus einer Reihe von Fingerabdrücken für alle ausführbaren Dateien und andere Dateien besteht, die unveränderlich bleiben sollen. Der veriexec loader speist den Inhalt des Manifests nur dann in den Kernel ein, wenn die digitale Signatur des Manifests erfolgreich verifiziert wurde. Der Kernel kann dann überprüfen, ob eine Datei mit seinem Fingerabdruck übereinstimmt. Wenn veriexec erzwungen wird, werden nur ausführbare Dateien mit einem verifizierten Fingerabdruck ausgeführt. Die geschützten Dateien können nicht beschrieben, geändert oder geändert werden.

Jedes Installationsimage enthält ein Manifest. Das Manifest ist schreibgeschützt. Er enthält Einträge wie die folgenden:

Wenn eine Datei geändert wurde und sich der resultierende Fingerabdruck von dem im Manifest unterscheidet, wird eine Protokollmeldung angezeigt, die wie im folgenden Beispiel aussieht:

Die Protokollmeldung hat das folgende Format:

Der Fingerabdruckkonflikt weist darauf hin, dass die Datei geändert wurde. Versuchen Sie nicht, die Datei auszuführen. Es könnte beschädigten Code enthalten. Wenden Sie sich an JTAC.

Vorteile von Veriexec

Im Folgenden finden Sie die wichtigsten Vorteile von Veriexec:

  • Schützt die Systemsicherheit: Veriexec schützt die Router, Switches und Firewalls von Juniper Networks vor Sicherheitsverletzungen.

  • Verhindert nicht autorisierten Zugriff: Es hindert Bedrohungsakteure daran, sich dauerhaften, unbefugten Zugriff zu verschaffen oder Systemausfälle zu verursachen.

  • Vereitelt die Ausführung von Malware: Durch das Verhindern der Ausführung von nicht signierten Binärdateien werden nicht autorisierte Modifikationen und Malware gestoppt.

  • Unterstützt autorisierten Code: Kunden können Junos OS signierten, autorisierten Code mit Veriexec-Erzwingung mithilfe des JET SDK hinzufügen.

  • Weitere Informationen finden Sie im SDK-Handbuch: Weitere Informationen zur SDK-Lösung finden Sie unter Entwickeln von JET-Anwendungen auf dem Gerät im Entwicklerhandbuch für das Juniper Extension Toolkit.

So überprüfen Sie, ob Veriexec auf einem Gerät mit Junos OS erzwungen wird – Option 1

In den folgenden Unterabschnitten wird beschrieben, wie Sie überprüfen können, ob veriexec erzwungen wird oder nicht.

Einige Junos OS-Plattformen bieten eine optionale Version von Junos OS mit deaktivierter Veriexec-Erzwingung (bezeichnet als Junos Enhanced Automation oder Junos Flex). Weitere Informationen zu Junos Enhanced Automation finden Sie unter Übersicht über die Verbesserungen von Junos Automation auf Geräten, auf denen Junos OS mit Enhanced Automation ausgeführt wird.

Verwenden Sie den Befehl sysctl security.mac.veriexec.state für Junos OS Version 15.1 und höher

Administratoren können überprüfen, ob veriexec erzwungen wird, indem sie die folgenden Befehle in der Junos OS CLI-Shell ausführen:

  1. Starten Sie die Shell.

  2. Verwenden Sie den sysctl security.mac.veriexec.state Befehl.

    Wenn veriexec erzwungen wird, lautet security.mac.veriexec.state: loaded active enforcedie Ausgabe . Wenn veriexec nicht erzwungen wird, ist security.mac.veriexec.state: loaded activedie Ausgabe .

So überprüfen Sie, ob Veriexec funktioniert - Option 2

Sie können überprüfen, ob veriexec funktioniert, indem Sie eine autorisierte Datei (hier /usr/bin/id) an einen neuen Speicherort kopieren, wie unten gezeigt. Veriexec blockiert den Vorgang. /usr/bin/id hat einen gültigen Fingerabdruck, /tmp/id jedoch nicht, obwohl die Dateien identisch sind. Was passiert, ist, dass Veriexec die zugrunde liegenden Linux-Eigenschaften der Datei auswertet, die nach dem Kopieren nicht identisch sind, und nicht die Datei selbst.

  1. Starten Sie die Shell.

  2. Wechseln Sie das Verzeichnis und kopieren Sie dann die Beispieldatei /usr/bin/id an einen neuen Speicherort.

Befund

Wenn veriexec erzwungen wird, wird ein Authentifizierungsfehler angezeigt. Ist dies nicht der Fall, wird die Datei wie gewohnt ausgeführt.

Ausgabe, wenn veriexec erzwungen wird. Hier ist die Datei blockiert:

Ausgabe, wenn veriexec nicht erzwungen wird. Hier wird die Datei kopiert:

Veriexec-fähiger Loader für Firewalls der SRX-Serie

Der veriexec-fähige Loader installiert ein Junos OS-Image mit dem install Befehl von einem TFTP-Server oder einem USB-Speichergerät.

  • Installieren Sie das Junos OS-Image von einem TFTP-Server mit dem install tftp://[host]/ Befehl install.

  • Installieren Sie das Junos OS-Image mit dem install file:/// Befehl install von einem USB-Speichergerät.

Das veriexec-fähige Ladeprogramm validiert das Junos OS-Image. Der Loader startet nur neue Junos OS-Images mit Fingerabdrücken und keine vorhandenen Images ohne Fingerabdrücke oder Kernel. Sie können die nextboot Funktion verwenden, um das aktuelle Boot-Gerät zu überprüfen.

Bootupgrade ist ein Tool, das im Junos OS-Paket verfügbar ist und das BIOS-Firmware-Upgrade unterstützt. Sie können den bootupgrade Befehl verwenden, um zu aktualisieren, uboot zu überprüfen, manuell zu laden und den größeren veriexec-fähigen Loader zu installieren. Der bootupgrade -c loader Befehl gibt die Versionszeichenfolge für den aktuellen Ladeserver aus.

Bevor Sie den veriexec-fähigen Loader im Junos OS-Image installieren, wird in beiden Dual-Root-Partitionen eine Junos OS-Fingerabdruckidentifikation durchgeführt. Nur wenn beide Dual-Root-Partitionen über Junos OS mit Fingerabdrücken verfügen, ist die Veriexec-fähige Loader-Installation zulässig.

Installieren Sie den veriexec-fähigen Loader über die Junos OS CLI-Shell:

  1. Starten Sie die Shell.

  2. Verwenden Sie den bootupgrade -l /boot/veloader Befehl, um den veriexec-fähigen Loader zu installieren.

  3. Hier sehen Sie verschiedene Szenarien:

    • Verwenden Sie request system software add /var/tmp/xxx.tgz no-copy no-validate den Befehl, um Junos OS normal mit Fingerabdrücken zu installieren.

    • Wenn bei älteren Junos OS-Versionen das veriexec-fähige Ladeprogramm verwendet wird und das Ziel-Junos OS-Image für frühere Versionen vom veriexec-fähigen Ladeprogramm nicht unterstützt wird, verwenden Sie den request system software add /var/tmp/xxx.tgz no-copy no-validate Befehl, um automatisch ein Downgrade vom veriexec-fähigen Ladeprogramm auf den alten Ladeprogramm durchzuführen.

    • Verwenden Sie den request system software add /var/tmp/xxx Befehl, um zu überprüfen, ob das Junos OS-Paket mit der Installation kompatibel ist.

      Die Installation wird abgebrochen, da das veriexec-fähige Ladeprogramm für Junos OS-Versionen vor 20.3R1 nicht unterstützt wird.