Blockieren des Mount-Systemaufrufs

Blockieren des Mount-Systemaufrufs

Ich möchte den Mount-Systemaufruf blockieren, wenn jemand /systemim Lese-/Schreibmodus erneut mounten möchte. Das bedeutet, dass ich die Ausführung des Folgenden nicht zulassen möchte: mount -o remount,rw /system. Hat jemand eine Idee, wo ich nachsehen muss, um den Code im Kernel zu ändern? Ich habe versucht, nachzuschauen, /fs/namespace.cwo sich einige mit dem Mounten zusammenhängende Funktionen befinden, bin mir aber nicht ganz sicher.

Antwort1

Sie könnten etwas wie SELinux oder verwenden seccomp, aber da Sie mit vollen Root-Rechten alle Partitionen ändern können, ohne sie zu mounten und andere unangenehme Dinge zu tun, möglicherweise sogar Kernelmodule laden, um die Einschränkungen zu umgehen, ist das vielleicht nicht so trivial. Sie benötigen zumindest einen umfassenden Regelsatz, der alle üblichen Schwachstellen blockiert.

Das Ändern der mountBinärdatei oder der C-Bibliothek ist keine Lösung, da es ziemlich einfach ist, den Systemaufruf direkt auszuführen, ohne eine vorgefertigte Binärdatei oder sogar die Bibliothek zu verwenden.

SELinux und die üblichen Mittel zur Kompartimentierung und Härtung würden es von vornherein schwieriger machen, in den Root-Zugriff einzudringen, was auch aus anderen Gründen nützlich sein könnte.

Außerdem stellt sich die Frage, was Sie an diesem Einhängepunkt haben. Wenn es etwas ist, das nur für dieses System relevant ist, spielt es dann eine Rolle, ob jemand es ändern kann? Wenn sie vollen Administratorzugriff auf den Computer erhalten, können sie alles andere durcheinanderbringen, Hintertüren hinterlassen und wahrscheinlich zumindest die betreffende Partition zerstören. Wenn Sie nicht damit rechnen, es ändern zu müssen, und nur verhindern möchten, dass der Inhalt verloren geht, ist es einfacher, es auf einem schreibgeschützten Speicher abzulegen. Und Backups zu erstellen.

Wenn das Dateisystem dort von mehreren Systemen verwendet wird, ist es wahrscheinlich über das Netzwerk gemountet. In diesem Fall ist es besser, Schreibvorgänge auf der Serverseite zu verhindern. Es spielt also keine Rolle, ob der Kernel versucht, ein Mounten mit Lese-/Schreibzugriff durchzuführen, es funktioniert trotzdem nicht.

verwandte Informationen