GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt es eine Shell, die überprüft, ob der Code signiert ist?

Ja und nein.

Die Linux-Softwareverteilung funktioniert etwas anders als die Windows-Softwareverteilung. In der (nicht eingebetteten) Linux-Welt erfolgt die Verteilung von Software hauptsächlich über eine Distribution (Ubuntu, Debian, RHEL, Fedora, Arch usw.). Alle großen Distributionen signieren ihre Pakete seit etwa einem Jahrzehnt systematisch.

Wenn Software unabhängig verteilt wird, ist es Sache des Anbieters, zu entscheiden, wie er seine Software versendet. Gute Anbieter bieten Paketquellen an, die mit den wichtigsten Distributionen kompatibel sind (es gibt keinen einheitlichen Verteilungsmechanismus für alle Linux-Pakete:Softwareverteilung ist einer der Hauptunterschiede zwischen Distributionen) und die mit dem Schlüssel des Anbieters signiert sind. Linux-Distributionen fungieren selten als Signierungsstelle für Drittanbieter (Canonical tut dies mit Ubuntu-Partnern, aber das deckt nur sehr wenige Anbieter ab), und ich denke, alle wichtigen Distributionen verwenden das PGP-Vertrauensnetz und nicht die TLS-Public-Key-Infrastruktur Es liegt am Benutzer, herauszufinden, ob er einem Schlüssel vertrauen möchte.

Es gibt keinen speziellen Mechanismus, der Softwarepakete, die aus einem einzelnen Skript bestehen, von Softwarepaketen unterscheidet, die aus einer nativen ausführbaren Datei, einer Datendatei oder mehreren Dateien bestehen. Es ist auch keine Signaturüberprüfung in einen gewöhnlichen Skriptinterpreter integriert, weil die Überprüfung eines Softwarepakets ein vollkommen orthogonales Anliegen zur Ausführung eines Skripts ist.

Ich denke, Windows kommentiert Dateien mit ihrem Ursprung und erfordert eine Benutzerbestätigung, um eine Datei auszuführen, deren Ursprung „heruntergeladen“ und nicht „lokal“ ist. Linux hat nicht wirklich einen ähnlichen Mechanismus. Am nächsten kommt die Ausführungserlaubnis:Eine heruntergeladene Datei hat keine Ausführungserlaubnis, der Benutzer muss sie ausdrücklich aktivieren (chmod +x auf der Befehlszeile oder die entsprechende Aktion in einem Dateimanager).


Wenn Sie die Möglichkeit der Benutzer sperren, Skripte über sudo auszuführen dann könnten Sie den digest verwenden Funktionalität.
Sie können den Hash eines Skripts/einer ausführbaren Datei in sudoers angeben was durch sudo verifiziert wird vor der Hinrichtung. Obwohl dies nicht dasselbe ist wie das Signieren, gibt es Ihnen eine grundlegende Garantie, dass das Skript zumindest nicht geändert wurde, ohne dass auch sudoers geändert wurden.

Wenn einem Befehlsnamen ein Digest_Spec vorangestellt ist, wird der Befehl nur erfolgreich abgeglichen, wenn er mit dem angegebenen SHA-2-Digest verifiziert werden kann. Dies kann in Situationen nützlich sein, in denen der Benutzer, der sudo aufruft, Schreibzugriff auf den Befehl oder sein übergeordnetes Verzeichnis hat. Die folgenden Digest-Formate werden unterstützt:sha224, sha256, sha384 und sha512. Die Zeichenfolge kann entweder im Hex- oder im Base64-Format angegeben werden (Base64 ist kompakter). Es gibt mehrere Dienstprogramme, die SHA-2-Digests im Hex-Format generieren können, wie beispielsweise openssl, shasum, sha224sum, sha256sum, sha384sum, sha512sum.

http://www.sudo.ws/man/1.8.13/sudoers.man.html


Linux bietet keine Möglichkeit, die Ausführung von Bash-Skripten basierend auf digitalen Signaturen einzuschränken.

Es gibt einige Arbeiten zur Authentifizierung binärer ausführbarer Dateien. Weitere Informationen finden Sie unter https://lwn.net/Articles/488906/.


Linux
  1. 3 Open-Source-Tools, die Linux zur idealen Workstation machen

  2. Linux – Proprietäre oder geschlossene Teile des Kernels?

  3. So ändern Sie die Standard-Shell in Linux

  4. Linux - Gibt es eine Möglichkeit, die Geschwindigkeit Ihres Speichers per Software zu ermitteln?

  5. Gibt es eine ausführbare Standard-Dummy-Datei, die unter Linux nichts tut?

So ändern Sie die Standard-Shell im Linux-System

Die 10 Unix-basierten Betriebssysteme, die nicht Linux sind

Die 15 besten Backup-Software für Linux-Desktop

Die 15 besten Fraktal-Software für Linux-Desktop

Die 30 besten Helpdesk-Software für Unternehmen, die Linux einsetzen

Die 15 besten zu verwendenden Linux-Referenz-Manager-Software