Website-Suche

So schützen Sie harte und symbolische Links in CentOS/RHEL 7


Unter Linux verweisen Hard- und Softlinks auf Dateien, die sehr wichtig sind. Wenn sie nicht sehr gut geschützt sind, können darin enthaltene Schwachstellen von böswilligen Systembenutzern oder Angreifern ausgenutzt werden.

Eine häufige Schwachstelle ist das Symlink Race. Dabei handelt es sich um eine Sicherheitslücke in Software, die entsteht, wenn ein Programm Dateien (insbesondere temporäre Dateien) unsicher erstellt und ein böswilliger Systembenutzer einen symbolischen (Soft-)Link zu einer solchen Datei erstellen kann.

Lesen Sie auch: So erstellen Sie einen harten und symbolischen Link unter Linux

Dies geschieht praktisch; Ein Programm prüft, ob eine temporäre Datei vorhanden ist oder nicht. Ist dies nicht der Fall, erstellt es die Datei. Aber in dieser kurzen Zeitspanne zwischen der Überprüfung der Datei und deren Erstellung kann ein Angreifer möglicherweise einen symbolischen Link zu einer Datei erstellen, auf den er jedoch keinen Zugriff erhält.

Wenn das Programm also mit gültigen Berechtigungen ausgeführt wird, erstellt es die Datei mit demselben Namen wie die vom Angreifer erstellte Datei. Es erstellt buchstäblich die Zieldatei (mit der verknüpft ist), auf die der Angreifer zugreifen wollte. Dies könnte dem Angreifer somit die Möglichkeit geben, vertrauliche Informationen vom Root-Konto zu stehlen oder ein Schadprogramm auf dem System auszuführen.

Daher zeigen wir Ihnen in diesem Artikel, wie Sie in CentOS/RHEL 7-Distributionen harte und symbolische Links vor böswilligen Benutzern oder Hackern schützen.

Auf CentOS/RHEL 7 gibt es eine wichtige Sicherheitsfunktion, die das Erstellen oder Verfolgen von Links durch Programme nur dann zulässt, wenn einige der unten beschriebenen Bedingungen erfüllt sind.

Für Hardlinks

Damit ein Systembenutzer einen Link erstellen kann, muss eine der folgenden Bedingungen erfüllt sein.

  • Der Benutzer kann nur auf Dateien verlinken, deren Eigentümer er ist.
  • Der Benutzer muss zunächst Lese- und Schreibzugriff auf eine Datei haben, auf die er verlinken möchte.

Für symbolische Links

Prozesse dürfen nur Links folgen, die sich außerhalb von weltweit beschreibbaren Verzeichnissen (andere Benutzer dürfen schreiben) befinden, die Sticky-Bits haben, oder eine der folgenden Bedingungen muss wahr sein.

  • Der Prozess, der dem symbolischen Link folgt, ist der Eigentümer des symbolischen Links.
  • Der Besitzer des Verzeichnisses ist auch der Besitzer des symbolischen Links.

Aktivieren oder deaktivieren Sie den Schutz für harte und symbolische Links

Wichtig ist, dass diese Funktion standardmäßig mithilfe der Kernel-Parameter in der Datei /usr/lib/sysctl.d/50-default.conf aktiviert wird (der Wert 1 bedeutet aktiviert). ).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Wenn Sie diese Sicherheitsfunktion jedoch aus dem einen oder anderen Grund deaktivieren möchten; Erstellen Sie eine Datei mit dem Namen /etc/sysctl.d/51-no-protect-links.conf mit den folgenden Kernel-Optionen (der Wert 0 bedeutet „Deaktivieren“).

Beachten Sie die 51 im Dateinamen (51-no-protect-links.conf). Diese muss nach der Standarddatei gelesen werden, um die Standardeinstellungen zu überschreiben.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Speichern und schließen Sie die Datei. Verwenden Sie dann den folgenden Befehl, um die oben genannten Änderungen vorzunehmen (dieser Befehl lädt tatsächlich Einstellungen aus jeder einzelnen Systemkonfigurationsdatei).

sysctl --system
OR
sysctl -p  #on older systems

Vielleicht möchten Sie auch die folgenden Artikel lesen.

  1. So schützen Sie eine Vim-Datei unter Linux mit einem Passwort
  2. 5 „chattr“-Befehle, um wichtige Dateien unter Linux unveränderlich (unveränderbar) zu machen

Das ist alles! Sie können Ihre Fragen oder Gedanken zu diesem Thema über das unten stehende Feedback-Formular posten.